﻿:root {
  --teal: #00a7af;
  --teal-dark: #008e96;
  --teal-soft: #e7f7f8;
  --gold: #e2b13c;
  --orange: #ff9a4a;
  --pink: #f3a0b8;
  --navy: #2c3e6b;
  --green: #7cbc6e;
  --text: #2b2f33;
  --muted: #6b7280;
  --line: #e6ecee;
  --bg: #ffffff;
  --bg-soft: #f7fafb;
  --shadow: 0 12px 30px rgba(0, 80, 90, 0.08);
  --shadow-hover: 0 18px 40px rgba(0, 80, 90, 0.14);
  --radius: 18px;
  --radius-pill: 999px;
  --header-h: 84px;
  --container: 1120px;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --font: "Noto Sans TC", "Microsoft JhengHei", sans-serif;
  --script: "Ma Shan Zheng", "Noto Sans TC", cursive;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--font);
  color: var(--text);
  background: var(--bg);
  line-height: 1.7;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input {
  font: inherit;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.container {
  width: min(100% - 32px, var(--container));
  margin-inline: auto;
}

.text-center {
  text-align: center;
}

.section {
  padding: 88px 0;
  position: relative;
}

.section-kicker {
  margin: 0 0 8px;
  color: #0094a4;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.section-title {
  margin: 0 0 18px;
  font-size: clamp(1.75rem, 3.2vw, 2.55rem);
  font-weight: 500;
  line-height: 1.35;
}

.section-title.teal {
  color: #0094a4;
}

.section-title.dark {
  color: var(--text);
}

.section-sub {
  margin: 0 auto 42px;
  color: var(--muted);
  font-size: 1.05rem;
}

.section-sub.left {
  margin-left: 0;
}

.script-title {
  margin: 0 0 14px;
  font-family: var(--script);
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  background: linear-gradient(90deg, var(--teal), #c9a227);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 26px;
  border: 0;
  border-radius: var(--radius-pill);
  background: var(--teal);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.35s var(--ease), background 0.25s ease, box-shadow 0.35s var(--ease);
  box-shadow: 0 8px 20px rgba(0, 167, 175, 0.25);
}

.btn:hover,
.btn:focus-visible {
  background: var(--teal-dark);
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 14px 28px rgba(0, 167, 175, 0.35);
}

.btn-lg {
  min-height: 52px;
  padding: 0 32px;
  font-size: 1.05rem;
}

.btn-block {
  width: 100%;
}

.btn-yellow {
  background: #ffc94a;
  color: #3a3000;
  box-shadow: 0 8px 20px rgba(255, 201, 74, 0.35);
}

.btn-yellow:hover,
.btn-yellow:focus-visible {
  background: #f0b726;
  color: #2c2400;
}

.btn-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  margin-left: 0;
  border-radius: 50%;
  background: #fff;
  color: transparent;
  font-size: 0;
  line-height: 0;
  vertical-align: middle;
  flex-shrink: 0;
  transition: transform 0.3s var(--ease);
}

.btn-arrow::after {
  content: "";
  width: 7px;
  height: 7px;
  margin-left: -2px;
  border-top: 2px solid var(--teal);
  border-right: 2px solid var(--teal);
  transform: rotate(45deg);
  box-sizing: border-box;
}

.btn-lg .btn-arrow {
  width: 24px;
  height: 24px;
}

.btn:hover .btn-arrow {
  transform: translateX(4px);
}


.img-ph {
  position: relative;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
  min-height: 0;
}

.img-ph img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

.img-ph.is-empty {
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(0, 167, 175, 0.08), rgba(0, 167, 175, 0.02)),
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 8px,
      rgba(0, 167, 175, 0.05) 8px,
      rgba(0, 167, 175, 0.05) 16px
    );
  border: 1px dashed rgba(0, 167, 175, 0.35);
  border-radius: 14px;
  min-height: 48px;
}

.img-ph.is-empty img {
  display: none;
}

.img-ph__label {
  position: absolute;
  inset: auto 10px 10px 10px;
  display: none;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(0, 50, 55, 0.72);
  color: #fff;
  font-size: 0.72rem;
  letter-spacing: 0.02em;
  text-align: center;
  pointer-events: none;
  z-index: 1;
}

.img-ph.is-empty .img-ph__label {
  display: block;
}

.img-ph.is-empty::before {
  content: "放入圖片";
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  color: #0094a4;
  font-weight: 700;
  font-size: 0.9rem;
  opacity: 0.75;
}


.page-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 0;
  z-index: 10001;
  background: linear-gradient(90deg, var(--teal), var(--gold));
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 10000;
  height: var(--header-h);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid transparent;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.site-header.is-scrolled {
  box-shadow: 0 8px 24px rgba(0, 40, 50, 0.08);
  border-bottom-color: var(--line);
}

.header-inner {
  height: var(--header-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.brand {
  display: flex;
  align-items: center;
  min-width: 0;
  transform: translateY(6px);
}

.brand__logo {
  width: auto;
  height: 68px;
  max-width: min(300px, 50vw);
  flex: 0 0 auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  min-height: 0;
}

.brand__logo img {
  width: auto;
  height: 68px;
  max-width: min(300px, 50vw);
  object-fit: contain;
}

.brand__logo.is-empty {
  width: 200px;
  height: 68px;
  border: 1px dashed rgba(0, 167, 175, 0.35);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(0, 167, 175, 0.08), rgba(0, 167, 175, 0.02));
}

.brand__logo.is-empty::before {
  font-size: 0.75rem;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 22px;
}

.nav-list {
  display: flex;
  align-items: center;
  gap: 8px;
}

.nav-list a,
.nav-list .nav-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  color: var(--text);
  font-weight: 500;
  position: relative;
  transition: color 0.25s ease;
}

.nav-link--parent {
  background: none;
  border: 0;
  font: inherit;
  cursor: pointer;
  color: inherit;
}

.nav-list a::after,
.nav-list .nav-link::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 2px;
  height: 2px;
  background: var(--teal);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s var(--ease);
}

.nav-list > .nav-item > .nav-link:hover,
.nav-list > .nav-item > .nav-link.is-active {
  color: #0094a4;
}

.nav-list > .nav-item > .nav-link:hover::after,
.nav-list > .nav-item > .nav-link.is-active::after {
  transform: scaleX(1);
}

.nav-item--dropdown {
  position: relative;
}

.nav-caret {
  width: 0.45em;
  height: 0.45em;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-1px) rotate(45deg);
  transition: transform 0.25s var(--ease);
}

.nav-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%) translateY(6px);
  min-width: 132px;
  padding: 8px 0;
  margin: 0;
  list-style: none;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(0, 60, 70, 0.12);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s var(--ease), visibility 0.2s;
  z-index: 40;
}

.nav-item--dropdown::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 12px;
}

.nav-item--dropdown:hover > .nav-dropdown,
.nav-item--dropdown:focus-within > .nav-dropdown,
.nav-item--dropdown.is-open > .nav-dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.nav-item--dropdown:hover > .nav-link--parent .nav-caret,
.nav-item--dropdown:focus-within > .nav-link--parent .nav-caret,
.nav-item--dropdown.is-open > .nav-link--parent .nav-caret {
  transform: translateY(0) rotate(-45deg);
}

.nav-dropdown__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 10px 18px;
  color: var(--text);
  font-weight: 500;
  white-space: nowrap;
  text-align: center;
  transition: color 0.2s ease, background 0.2s ease;
}

.nav-dropdown__link::after {
  display: none;
}

.nav-dropdown__link:hover,
.nav-dropdown__link.is-active {
  color: #0094a4;
  background: var(--teal-soft);
}


.nav-dropdown--features {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  grid-template-rows: repeat(5, auto);
  grid-auto-flow: column;
  column-gap: 36px;
  row-gap: 0;
  min-width: 0;
  padding: 14px 28px 16px;
}

.nav-dropdown--features .nav-dropdown__link {
  justify-content: center;
  text-align: center;
  padding: 9px 12px;
}

.btn-nav {
  min-height: 42px;
  padding: 0 20px;
}

.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 0;
  background: transparent;
  padding: 10px;
  cursor: pointer;
}

.nav-toggle span {
  display: block;
  height: 2px;
  margin: 6px 0;
  background: var(--teal);
  border-radius: 2px;
  transition: 0.3s var(--ease);
}

.nav-toggle.is-open span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}

.nav-toggle.is-open span:nth-child(2) {
  opacity: 0;
}

.nav-toggle.is-open span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

.nav-backdrop {
  display: none;
}


.hero {
  position: relative;
}

.hero-slider {
  position: relative;
  overflow: hidden;
  background: #fff;
}

.hero-slides {
  position: relative;
  width: 100%;
}


.hero:not(.hero--features) .hero-slides {
  aspect-ratio: 1920 / 811;
}

.hero--features .hero-slides {
  aspect-ratio: 1920 / 930;
}

.hero-slide {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.7s var(--ease), visibility 0.7s;
}

.hero-slide.is-active {
  position: absolute;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}

.hero-slide__bg {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  min-height: 0;
  background: #1a1f22;
  overflow: hidden;
}

.hero-slide__bg.img-ph img,
.hero-slide__bg img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  max-width: none;
  height: 100% !important;
  display: block;
  object-fit: cover !important;
  object-position: center center;
}


.hero--features .hero-slide__bg {
  aspect-ratio: auto;
  overflow: hidden;
  background: #1a1f22;
}

.hero--features .hero-slide__bg.img-ph img,
.hero--features .hero-slide__bg img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  max-width: none;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center;
}

.hero-slide__bg.is-empty {
  aspect-ratio: auto;
  min-height: 0;
  height: 100%;
  background: #fff;
  border: 0;
}

.hero-slide__bg.is-empty::before {
  color: #0094a4;
}

.hero-slide__content {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff;
  padding-block: clamp(24px, 6vw, 80px);
  pointer-events: none;
}

.hero-slide__content .btn {
  pointer-events: auto;
  width: fit-content;
}

.hero-eyebrow {
  margin: 0 0 14px;
  font-size: clamp(1.1rem, 2.2vw, 1.45rem);
  font-weight: 700;
  letter-spacing: 0.14em;
  opacity: 0.95;
}

.hero-title {
  margin: 0 0 28px;
  font-size: clamp(2rem, 5vw, 3.4rem);
  font-weight: 500;
  line-height: 1.3;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.18);
}

.hero-title__line {
  white-space: nowrap;
}

.hero--features .hero-slide__content {
  align-items: flex-start;
  justify-content: center;
  text-align: left;
}

.hero--features .hero-slide__stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: max-content;
  max-width: min(100%, 28em);
}


.hero:not(.hero--features) .hero-slide__content {
  align-items: flex-start;
  justify-content: center;
  text-align: left;
}

.hero:not(.hero--features) .hero-slide__stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  width: max-content;
  max-width: min(100%, 36em);
  margin-inline: 0;
}

.hero:not(.hero--features) .hero-title {
  margin-bottom: 10px;
  font-weight: 700;
}

.hero:not(.hero--features) .hero-lead {
  margin-top: 0;
  margin-bottom: 28px;
}

.hero:not(.hero--features) .hero-slide__content .btn {
  margin-inline: 0;
}

.hero--features .hero-eyebrow {
  margin-bottom: 16px;
  font-size: clamp(1.15rem, 2.4vw, 1.55rem);
  font-weight: 700;
  letter-spacing: 0.16em;
  opacity: 1;
}

.hero--features .hero-title {
  margin-bottom: 28px;
}

.hero-lead {
  margin: -8px 0 28px;
  color: #fff;
  font-size: clamp(1.05rem, 2.2vw, 1.42rem);
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.06em;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.18);
}

.hero--food .hero-slide__stack {
  align-items: flex-start;
  text-align: left;
  max-width: 100%;
}

.hero--food .hero-eyebrow {
  align-self: flex-start;
  margin: 0 0 6px 0.45em;
  text-align: left;
  font-size: clamp(0.88rem, 1.65vw, 1.12rem);
  font-weight: 400;
  letter-spacing: 0.1em;
}

.hero--food .hero-title,
.hero--food .hero-lead {
  text-align: left;
}

.hero--food .hero-title {
  margin-bottom: 8px;
  font-size: clamp(2.2rem, 5.5vw, 3.75rem);
  white-space: nowrap;
}

.hero--food .hero-lead {
  margin-top: 0;
  margin-bottom: 28px;
  font-size: clamp(1.28rem, 2.8vw, 1.88rem);
  font-weight: 500;
  line-height: 1.5;
}

.hero--food .hero-slide__content .btn {
  margin-inline: 0;
  letter-spacing: 0.14em;
}

.hero--features .hero-slide__content .btn {
  margin-inline: 0;
}

.hero--stored .hero-slide__content {
  align-items: flex-start;
  text-align: left;
}

.hero-dots {
  position: absolute;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%);
  z-index: 4;
  display: flex;
  gap: 10px;
  align-items: center;
}

.hero-dot {
  width: 10px;
  height: 10px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.55);
  cursor: pointer;
  transition: width 0.35s var(--ease), background 0.25s ease;
}

.hero-dot.is-active {
  width: 42px;
  background: var(--teal);
}


.pain {
  --pain-bg: #f6f7f8;
  --pain-arrow-h: clamp(120px, 13vw, 210px);
  position: relative;
  background: var(--pain-bg);
  padding: 96px 0 0;
  overflow: visible;
}

.pain::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% - 2px);
  z-index: 1;
  width: 100%;
  height: calc(var(--pain-arrow-h) + 2px);
  background: var(--pain-bg);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.pain-heading {
  margin: 0 0 10px;
  font-size: clamp(1.75rem, 3.4vw, 2.55rem);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.02em;
}

.pain-heading__lead {
  color: #0094a4;
}

.pain-heading__rest {
  color: var(--muted);
  white-space: nowrap;
}

.pain-heading__icon {
  display: inline-block;
  width: auto;
  height: 1.25em;
  margin-left: 0.08em;
  vertical-align: text-top;
  object-fit: contain;
}

.pain-heading__sub {
  margin: 0 auto 36px;
  color: var(--muted);
  font-size: clamp(1.3rem, 2.8vw, 1.65rem);
  font-weight: 400;
  letter-spacing: 0.02em;
}

.pain-full {
  width: min(100% - 64px, var(--container));
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 3vw, 32px);
}

.pain-quote {
  margin: 56px 0 112px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.6;
}

.pain-full__img {
  width: 100%;
  border: 0;
  border-radius: var(--radius);
  overflow: hidden;
  min-height: 0;
  background: transparent;
}

.pain-full__img.img-ph {
  background: transparent;
  border: 0;
}

.pain-full__img.img-ph img,
.pain-full__img img {
  width: 100% !important;
  max-width: 100%;
  height: auto !important;
  display: block;
  object-fit: contain !important;
}

.pain-full__img.is-empty {
  aspect-ratio: 16 / 9;
  min-height: 180px;
  border: 0;
}

.pain-full__img--m {
  display: none;
}

@media (max-width: 900px) {
  .pain-full__img--d {
    display: none;
  }

  .pain-full__img--m {
    display: block;
  }
}


.section.cycle {
  position: relative;
  z-index: 0;
  background: #ffffff;
  padding-top: 156px;
  padding-bottom: 88px;
}

.cycle-title {
  margin: 0 auto 8px;
  text-align: center;
  color: #2b2f33;
  font-size: clamp(1.7rem, 3.4vw, 2.45rem);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.cycle-title__mark,
.cycle-title__q {
  position: relative;
  color: #0094a4;
}

.cycle-title__mark {
  display: inline-block;
  padding-bottom: 0.18em;
}

.cycle-title__line {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 10px;
  pointer-events: none;
}

.cycle-board {
  position: relative;
  width: min(100%, 1000px);
  min-height: 640px;
  margin: 28px auto 0;
}

.cycle-frame {
  position: absolute;
  inset: 156px 78px 156px 78px;
}

.cycle-track {
  position: absolute;
  inset: 0;
  border: 2px dashed #8fd0d4;
  border-radius: 78px;
  pointer-events: none;
}

.cycle-arrow {
  position: absolute;
  z-index: 2;
  width: 0;
  height: 0;
  border-style: solid;
}

.cycle-arrow--12,
.cycle-arrow--23 {
  top: 0;
  border-width: 7px 0 7px 12px;
  border-color: transparent transparent transparent var(--teal);
  transform: translate(-50%, -50%);
}

.cycle-arrow--12 { left: 34%; }
.cycle-arrow--23 { left: 66%; }

.cycle-arrow--45,
.cycle-arrow--56 {
  top: 100%;
  border-width: 7px 12px 7px 0;
  border-color: transparent var(--teal) transparent transparent;
  transform: translate(-50%, -50%);
}

.cycle-arrow--45 { left: 66%; }
.cycle-arrow--56 { left: 34%; }

.cycle-core {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: max-content;
  max-width: 90%;
  text-align: center;
}

.cycle-core__name {
  margin: 0 0 6px;
  color: #0094a4;
  font-size: clamp(1.7rem, 3vw, 2.15rem);
  font-weight: 500;
  letter-spacing: 0.12em;
}

.cycle-core__sub {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0;
  color: var(--muted);
  font-size: clamp(1.12rem, 2vw, 1.35rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.cycle-core__sub span {
  display: block;
  width: 42px;
  height: 1px;
  background: var(--muted);
  opacity: 0.7;
}

.cycle-side {
  position: absolute;
  top: 50%;
  z-index: 3;
  margin: 0;
  padding: 22px 12px;
  border: 2px solid var(--teal);
  border-radius: 8px;
  background: #fff;
  color: #0094a4;
  font-size: 1.28rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  writing-mode: vertical-rl;
  text-orientation: upright;
  white-space: nowrap;
  width: max-content;
  height: max-content;
}

.cycle-side--left {
  left: 0;
  transform: translate(-50%, -50%);
}

.cycle-side--right {
  left: 100%;
  transform: translate(-50%, -50%);
}

.cycle-step {
  position: absolute;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 220px;
  text-align: center;
}

.cycle-step--1,
.cycle-step--2,
.cycle-step--3 {
  top: 0;
  transform: translate(-50%, calc(-100% + 34px));
}

.cycle-step--4,
.cycle-step--5,
.cycle-step--6 {
  top: 100%;
  transform: translate(-50%, -34px);
}

.cycle-step--4 .cycle-step__icon,
.cycle-step--5 .cycle-step__icon,
.cycle-step--6 .cycle-step__icon {
  order: -1;
}

.cycle-step--1 { left: 16%; }
.cycle-step--2 { left: 50%; }
.cycle-step--3 { left: 84%; }
.cycle-step--4 { left: 84%; }
.cycle-step--5 { left: 50%; }
.cycle-step--6 { left: 16%; }

.cycle-step__copy {
  display: flex;
  flex-direction: column;
  margin-bottom: 12px;
}

.cycle-step--4 .cycle-step__copy,
.cycle-step--5 .cycle-step__copy,
.cycle-step--6 .cycle-step__copy {
  margin-top: 12px;
  margin-bottom: 0;
}

.cycle-step__copy h3 {
  margin: 1px 0 0;
  color: #0094a4;
  font-size: 1.18rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.3;
}

.cycle-step--4 .cycle-step__copy h3,
.cycle-step--5 .cycle-step__copy h3,
.cycle-step--6 .cycle-step__copy h3 {
  order: -1;
  margin: 0 0 1px;
}

.cycle-step__num {
  font-weight: 500;
}

.cycle-step__copy p {
  margin: 0;
  color: #3d4348;
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

.cycle-step__icon,
.cycle-step__icon.img-ph {
  width: 68px;
  height: 68px;
  min-height: 0;
  flex: none;
  box-sizing: border-box;
  border: 2px solid var(--teal);
  border-radius: 50%;
  background: #fff;
  overflow: hidden;
}

.cycle .cycle-step__icon.img-ph img,
.cycle .cycle-step__icon img {
  width: 100%;
  height: 100%;
  padding: 14px;
  box-sizing: border-box;
  object-fit: contain;
  display: block;
}

.cycle-step__icon.is-empty {
  background: #fff;
}

.cycle-step__icon.is-empty::before {
  content: none;
}

.cycle-step__icon .img-ph__label {
  inset: auto 4px 6px;
  display: none;
  font-size: 0.58rem;
  padding: 3px 6px;
}

.cycle-step__icon.is-empty .img-ph__label {
  display: block;
}


.needs {
  background: #f6f7f8;
  padding: 88px 0 0;
}

.needs-title {
  margin: 0 auto 4px;
  text-align: center;
  color: #2b2f33;
  font-size: clamp(1.7rem, 3.4vw, 2.45rem);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.04em;
}

.needs-title span {
  color: #0094a4;
}

.needs-sub {
  margin: 0 auto 28px;
  text-align: center;
  color: #2b2f33;
  font-size: clamp(1.4rem, 3vw, 1.8rem);
  font-weight: 400;
  letter-spacing: 0.04em;
}

.needs-layout {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: center;
  gap: 20px;
  align-items: end;
  max-width: 1120px;
  margin-inline: auto;
}

.needs-visual {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  align-self: end;
}

.needs-visual__img,
.needs-visual__img.img-ph {
  width: 100%;
  max-width: 460px;
  margin-inline: auto;
  min-height: 0;
  border: 0;
  background: transparent;
  border-radius: 0;
}

.needs-visual__img.img-ph img,
.needs-visual__img img {
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: bottom center;
  display: block;
}

.needs-visual__img.is-empty {
  aspect-ratio: 3 / 4;
  min-height: 280px;
}

.needs-visual__img.is-empty::before {
  content: none;
}

.needs-list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  align-self: center;
  justify-self: center;
  box-sizing: border-box;
  width: max-content;
  max-width: 100%;
  padding-bottom: 48px;
  gap: 28px;
}

.needs-item {
  display: flex;
  align-items: center;
  gap: 18px;
}

.needs-item__icon,
.needs-item__icon.img-ph {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 72px;
  height: 72px;
  min-height: 0;
  flex: none;
  padding: 12px;
  border: 1.5px solid var(--teal);
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}

.needs-item__icon.img-ph img,
.needs-item__icon img {
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: contain;
  object-position: center;
  display: block;
}

.needs-item__icon.is-empty {
  background: #fff;
}

.needs-item__icon.is-empty::before {
  content: none;
}

.needs-item__icon .img-ph__label {
  inset: auto 4px 6px;
  display: none;
  font-size: 0.58rem;
  padding: 3px 6px;
}

.needs-item__icon.is-empty .img-ph__label {
  display: block;
}

.needs-item__copy h3 {
  margin: 0 0 4px;
  color: #0094a4;
  font-size: clamp(1.32rem, 2.2vw, 1.5rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.35;
}

.needs-item__copy p {
  margin: 0;
  color: #3d4348;
  font-size: 0.98rem;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.02em;
}


.value {
  padding-top: 56px;
  padding-bottom: 72px;
}

.value .section-title {
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.6;
}

.value-grid {
  margin-top: 48px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 48px;
}

.value-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  background: transparent;
  transition: transform 0.35s var(--ease);
}

.value-card:hover {
  transform: translateY(-8px);
}

.value-card__box {
  aspect-ratio: 1 / 1;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
  border: 1.5px solid rgba(0, 167, 175, 0.35);
  border-radius: 20px;
  background: #fff;
  transition: box-shadow 0.35s var(--ease), border-color 0.25s ease;
}

.value-card:hover .value-card__box {
  box-shadow: var(--shadow-hover);
  border-color: var(--teal);
}

.value-card__icon {
  width: min(78%, 160px);
  height: auto;
  aspect-ratio: 1 / 1;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: none;
  overflow: visible;
}

.value-card__icon.img-ph {
  border: 0;
  background: none;
}

.value-card__icon.img-ph img,
.value-card__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.value-card__icon.is-empty {
  border: 0;
  background: none;
}

.value-card__icon.is-empty::before,
.value-card__icon .img-ph__label {
  display: none;
}

.value-card h3 {
  margin: 0;
  color: #0094a4;
  font-size: clamp(1.15rem, 1.6vw, 1.35rem);
  font-weight: 700;
  letter-spacing: 0.06em;
}


.system {
  background: var(--bg-soft);
  padding-bottom: 0;
}

.system-heading {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: 0;
  margin: 0 0 8px;
  color: #2b2f33;
  font-size: clamp(1.75rem, 3.6vw, 2.55rem);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0.04em;
}

.system-heading__unit {
  color: #0094a4;
  margin-left: -0.18em;
}

.system-heading__six {
  display: inline-flex;
  align-items: flex-end;
  height: 1.85em;
  margin: 0 0 0 0.12em;
}

.system-heading__six .img-ph {
  display: block;
  width: auto;
  height: 100%;
  min-height: 0;
  border: 0;
  background: none;
  border-radius: 0;
  overflow: visible;
}

.system-heading__six .img-ph img {
  width: auto;
  height: 100%;
  object-fit: contain;
  display: block;
}

.system-heading__six .img-ph.is-empty {
  min-width: 0.75em;
  background: none;
}

.system-heading__six .img-ph.is-empty::before {
  content: none;
}

.system-heading__six .img-ph__label {
  display: none;
}

.system-heading__six .img-ph.is-empty .img-ph__label {
  display: block;
  inset: auto 0 0;
  font-size: 0.45rem;
  padding: 2px 4px;
}

@media (max-width: 900px) {
  .system-heading {
    align-items: center;
    row-gap: 10px;
  }

  .system-heading__lead {
    flex: 1 0 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    white-space: normal;
    font-size: 1.28rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.45;
    text-align: center;
  }

  .system-heading__comma {
    display: none;
  }
}

.system-layout {
  margin-top: 20px;
  display: grid;
  grid-template-columns: 1fr minmax(320px, 440px) 1fr;
  column-gap: 40px;
  row-gap: 28px;
  align-items: center;
}

.system-phone {
  align-self: end;
}

.system-phone__img--m {
  display: none;
}

@media (max-width: 900px) {
  .system-phone__img--d {
    display: none;
  }

  .system-phone__img--m {
    display: block;
  }
}

.system-phone__img {
  width: 100%;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  overflow: visible;
  min-height: 0;
}

.system-phone__img.img-ph {
  border: 0;
  background: none;
}

.system-phone__img.img-ph img,
.system-phone__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.system-phone__img.is-empty {
  aspect-ratio: 3 / 4;
  min-height: 220px;
  border: 0;
  background: none;
}

.system-phone__img.is-empty::before,
.system-phone__img .img-ph__label {
  display: none;
}

.check-list {
  display: grid;
  gap: 16px;
  text-align: left;
}

.check-list li {
  position: relative;
  padding-left: 34px;
  font-weight: 600;
}

.system-points {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  width: max-content;
  max-width: 100%;
}

.system-layout > .system-points--left {
  justify-self: end;
  text-align: right;
}

.system-layout > .system-points--right {
  justify-self: start;
  text-align: left;
}

.system-points li {
  padding: 22px 0;
  border-bottom: 1px solid #d8dce0;
}

.system-points li:first-child {
  padding-top: 0;
}

.system-points li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.system-points__title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 8px;
  color: #0094a4;
  font-size: clamp(1.22rem, 2.1vw, 1.5rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.3;
}

.system-points--left .system-points__title {
  justify-content: flex-end;
}

.system-points--right .system-points__title {
  justify-content: flex-start;
}

.system-points__icon,
.system-points__icon.img-ph {
  width: 1.35em;
  height: 1.35em;
  min-height: 0;
  flex: none;
  border: 0;
  border-radius: 0;
  background: none;
  overflow: visible;
}

.system-points__icon.img-ph img,
.system-points__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.system-points__icon.is-empty {
  background: var(--teal-soft);
  border-radius: 6px;
}

.system-points__icon.is-empty::before {
  content: none;
}

.system-points__icon .img-ph__label {
  display: none;
}

.system-points__icon.is-empty .img-ph__label {
  display: block;
  inset: auto 0 0;
  font-size: 0.38rem;
  padding: 1px 2px;
}

.system-points__desc {
  margin: 0;
  color: var(--muted);
  font-size: clamp(0.98rem, 1.5vw, 1.12rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.7;
}

.check-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.25em;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 12px no-repeat;
}

.check-list.compact {
  gap: 12px;
  margin: 18px 0 24px;
}

.check-list .is-gold::before {
  background-color: var(--gold);
}

.system-layout > .check-list:first-child {
  justify-self: end;
  width: max-content;
  max-width: 100%;
}

.system-layout > .check-list:last-child {
  justify-self: start;
  width: max-content;
  max-width: 100%;
}


.more-features .section-title {
  font-weight: 400;
}

.feature-cats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 36px;
}

.feature-cat {
  background: #fff;
  border-radius: 20px;
  padding: 28px 20px;
  box-shadow: var(--shadow);
  text-align: center;
  transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease);
}

.feature-cat:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-hover);
}

.feature-cat__icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 14px;
  border: 0;
  border-radius: 0;
  background: none;
  overflow: visible;
}

.feature-cat__icon.img-ph {
  border: 0;
  background: none;
}

.feature-cat__icon.img-ph img,
.feature-cat__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.feature-cat__icon.is-empty {
  border: 0;
  background: none;
}

.feature-cat__icon.is-empty::before,
.feature-cat__icon .img-ph__label {
  display: none;
}

.feature-cat h3 {
  margin: 0 0 14px;
  color: #0094a4;
  font-size: 1.2rem;
  letter-spacing: 0.12em;
}

.feature-cat li {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 6px 0;
  color: #0094a4;
  font-size: 1.05rem;
  letter-spacing: 0.1em;
}

.feature-cat li::before {
  content: "✓";
  position: static;
  color: #0094a4;
  font-weight: 900;
}


.addons .section-title {
  margin-bottom: 6px;
  color: #2b2f33;
  text-align: center;
}

.addons .section-sub {
  margin: 0 auto 42px;
  color: var(--muted);
  font-size: clamp(1.28rem, 2.6vw, 1.55rem);
  line-height: 1.6;
  font-weight: 400;
  text-align: center;
}

@media (max-width: 900px) {
  .addons .section-sub {
    font-size: clamp(1.05rem, 4vw, 1.18rem);
    margin-bottom: 32px;
  }
}

.industries .section-title {
  margin-bottom: 8px;
  text-align: center;
}

.industries .section-sub {
  margin: 0 auto 42px;
  color: #555555;
  font-size: clamp(1.5rem, 3vw, 1.85rem);
  line-height: 1.6;
  font-weight: 400;
  text-align: center;
}

@media (max-width: 900px) {
  .industries .section-title {
    font-size: clamp(1.22rem, 5vw, 1.45rem);
  }

  .industries .section-sub {
    font-size: clamp(1.02rem, 4.2vw, 1.18rem);
    margin-bottom: 28px;
  }
}

.partners {
  background: #ffffff;
}

.partners-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 0 42px;
  text-align: center;
}

.partners-head__icon,
.partners-head__icon.img-ph {
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  min-height: 0;
  margin: 0.18em 0.18em 0 0;
  transform: translateY(0.12em);
  border: 0;
  background: none;
  border-radius: 0;
  overflow: visible;
}

.partners-head__icon.img-ph img,
.partners-head__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.partners-head__icon.is-empty {
  background: none;
}

.partners-head__icon.is-empty::before {
  content: none;
}

.partners-head__icon .img-ph__label {
  display: none;
}

.partners-head__icon.is-empty .img-ph__label {
  display: block;
  inset: auto 0 0;
  font-size: 0.5rem;
  padding: 2px 4px;
}

.partners-title {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0;
  font-size: clamp(1.7rem, 3.4vw, 2.45rem);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

.partners-title__lead {
  color: #0094a4;
}

.partners-title__rest {
  color: #2b2f33;
}

.partners-sub {
  margin: 6px 0 0;
  text-align: center;
  color: var(--muted);
  font-size: clamp(1.18rem, 2.4vw, 1.7rem);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.industries {
  background: #f3f4f6;
}

.addon-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 34px 24px;
  margin-top: 18px;
}

.addon-item__icon {
  width: 120px;
  height: 120px;
  margin: 0 auto 14px;
  border: 0;
  border-radius: 0;
  background: none;
  overflow: visible;
  transition: transform 0.4s var(--ease);
}

.addon-item__icon.img-ph {
  border: 0;
  background: none;
}

.addon-item__icon.img-ph img,
.addon-item__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.addon-item__icon.is-empty {
  border: 0;
  background: none;
}

.addon-item__icon.is-empty::before,
.addon-item__icon .img-ph__label {
  display: none;
}

.addon-item:hover .addon-item__icon {
  transform: scale(1.08) rotate(-3deg);
}

.addon-item h3 {
  margin: 0;
  color: #0094a4;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  line-height: 1.25;
}

.addon-item__desc {
  margin: 0;
  color: #2b2f33;
  font-size: 1.18rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1.3;
}

.addons-cta {
  margin-top: 48px;
  text-align: center;
}

.addons-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 220px;
  min-height: 52px;
  padding: 0 40px;
  border: 0;
  border-radius: 999px;
  background: var(--teal);
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-decoration: none;
  box-shadow: none;
  cursor: pointer;
  transition: background 0.25s ease, transform 0.3s var(--ease);
}

.addons-cta__btn:hover,
.addons-cta__btn:focus-visible {
  background: var(--teal-dark);
  transform: translateY(-2px);
  box-shadow: none;
}

.price-gold {
  margin: 0;
  color: var(--gold);
  font-weight: 400;
  font-size: 1.15rem;
  letter-spacing: 0.12em;
}

.emoji-up,
.price-mark {
  display: inline-block;
  color: #0094a4;
  vertical-align: -0.12em;
}

.emoji-up svg {
  width: 1em;
  height: 1em;
  display: block;
}


.pricing {
  background: var(--bg-soft);
}

.price-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  margin-top: 36px;
}

.price-card {
  background: #fff;
  border-radius: 28px;
  padding: 40px 36px 36px;
  box-shadow: 0 10px 28px rgba(0, 80, 90, 0.1);
  text-align: center;
  transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease);
}

.price-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 16px 36px rgba(0, 80, 90, 0.14);
}

.price-card h3 {
  margin: 0 0 10px;
  font-size: 1.65rem;
  font-weight: 800;
  color: #0094a4;
  letter-spacing: 0.06em;
}

.price-card__hint {
  margin: 0;
  color: #8a9399;
  font-size: 0.98rem;
}

.price-card__price {
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin: 22px 0 0;
  padding-bottom: 20px;
  border-bottom: 1px solid #e8ecee;
}

.price-card__price .old {
  color: #b0b7bc;
  font-size: 0.95rem;
  font-weight: 400;
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
}

.price-card__price .price-arrow {
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 9px solid #c5ccd0;
  align-self: center;
  flex-shrink: 0;
}

.price-card__price strong {
  color: var(--gold);
  font-size: clamp(2.1rem, 4vw, 2.75rem);
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1;
}

.price-card .check-list {
  justify-items: start;
  width: fit-content;
  margin: 22px auto 28px;
  gap: 14px;
}

.price-card .check-list li {
  color: #4a555a;
  font-weight: 500;
  font-size: 0.98rem;
}

.price-card .btn {
  min-width: 160px;
  border-radius: var(--radius-pill);
  padding: 12px 36px;
}


.design {
  background: #f7fafb;
  overflow: visible;
  padding-bottom: 0;
}

.design-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 24px 28px;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

.design-copy {
  justify-self: start;
  width: 100%;
  max-width: none;
  text-align: left;
}

.design-copy .section-title,
.design-copy__title {
  display: block;
  margin: 0 0 6px;
  color: #4d4d4d;
  font-size: clamp(1.85rem, 2.8vw, 2.4rem);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0.08em;
}

.design-copy__lead {
  display: block;
  margin: 0 0 28px;
  color: #4d4d4d;
  font-size: clamp(1.85rem, 2.8vw, 2.4rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.design-copy__br {
  display: none;
}

.design-copy__em {
  color: #0094a4;
  font-weight: 500;
}

.design-copy__char {
  position: relative;
  display: inline-block;
}

.design-copy__char-text {
  position: relative;
  z-index: 1;
}

.design-copy__icon-img,
.design-copy__sun {
  position: absolute;
  left: 0%;
  top: -20px;
  z-index: 0;
  display: block;
  width: 64px;
  height: 64px;
  max-width: none;
  margin: 0;
  pointer-events: none;
  object-fit: contain;
}

.design-copy__sun[hidden] {
  display: none;
}

.design-copy .section-sub {
  margin: 0 0 32px;
  color: #3a4248;
  font-size: clamp(1.35rem, 2.2vw, 1.65rem);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.design-copy .check-list {
  gap: 16px;
  margin: 0 0 28px;
}

.design-copy .check-list li {
  color: #0094a4;
  font-size: clamp(1.12rem, 1.7vw, 1.28rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.55;
  padding-left: 38px;
}

.design-copy .check-list li::before {
  width: 24px;
  height: 24px;
  border: 2px solid #00a7af;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a7af' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 12px no-repeat;
  box-sizing: border-box;
}

.design-copy__note {
  margin: 0 0 22px;
  color: #333333;
  font-size: clamp(1rem, 1.5vw, 1.12rem);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.02em;
}

.design-copy__quote {
  margin: 0 0 28px;
  color: #ee9b9b;
  font-size: clamp(1.02rem, 1.5vw, 1.15rem);
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.02em;
}

.design-copy__q {
  display: inline-block;
  font-size: 1.55em;
  font-weight: 700;
  line-height: 0.7;
}

.design-copy__q--open {
  vertical-align: 0.12em;
  margin-left: -0.5em;
}

.design-copy__q--close {
  vertical-align: -0.28em;
}

.design-copy__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 200px;
  min-height: 52px;
  padding: 0 36px;
  border: 0;
  border-radius: 999px;
  background: var(--teal);
  color: #fff;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-decoration: none;
  box-shadow: none;
}

.design-copy__cta:hover,
.design-copy__cta:focus-visible {
  background: var(--teal-dark);
  color: #fff;
}

.design-visual {
  width: 100%;
  max-width: 480px;
  min-width: 0;
  justify-self: end;
  align-self: end;
  margin-left: 0;
  position: relative;
  left: 64px;
}

.design-visual__img {
  width: 100%;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  overflow: visible;
  min-height: 0;
}

.design-visual__img.img-ph {
  border: 0;
  background: none;
}

.design-visual__img.img-ph img,
.design-visual__img img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  object-position: right center;
}

.design-visual__img.is-empty {
  aspect-ratio: 4 / 3;
  min-height: 280px;
  border: 0;
  background: none;
}

.design-visual__img.is-empty::before,
.design-visual__img .img-ph__label {
  display: none;
}


.logo-grid {
  display: grid;
  gap: 16px;
}

.merchants-title {
  margin: 0 auto 6px;
  text-align: center;
  color: #2b2f33;
  font-size: clamp(1.7rem, 3.4vw, 2.45rem);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.04em;
}

.merchants-title__mark,
.merchants-title__q {
  position: relative;
  color: #0094a4;
}

.merchants-title__mark {
  display: inline-block;
  padding-bottom: 0.18em;
}

.merchants-title__line {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 10px;
  pointer-events: none;
}

.merchants-sub {
  margin: 0 auto 42px;
  text-align: center;
  color: var(--muted);
  font-size: clamp(1.5rem, 3.2vw, 1.95rem);
  font-weight: 400;
  letter-spacing: 0.02em;
}

.merchants-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 40px 48px;
}

.partners-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
  max-width: 920px;
  margin-inline: auto;
  gap: 32px 56px;
}

.partners-note {
  margin: 48px 0 0;
  text-align: center;
  color: var(--muted);
  font-size: clamp(1.08rem, 1.8vw, 1.28rem);
  font-weight: 400;
  letter-spacing: 0.02em;
}

.logo-cell {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  transition: transform 0.3s var(--ease);
}

.logo-cell:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: none;
}

.logo-cell__img {
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: 0;
  background: none;
  overflow: visible;
  filter: none;
  transition: opacity 0.3s ease;
}

.logo-cell__img.img-ph {
  border: 0;
  background: none;
}

.logo-cell__img.img-ph img,
.logo-cell__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  padding: 8px;
  display: block;
}

.logo-cell__img.is-empty {
  border: 0;
  background: none;
}

.logo-cell__img.is-empty::before,
.logo-cell__img .img-ph__label {
  display: none;
}

.logo-cell:hover .logo-cell__img {
  filter: none;
  opacity: 0.9;
}


.dm-carousel {
  position: relative;
  margin: 36px auto 18px;
  max-width: 920px;
  min-height: 420px;
  display: grid;
  place-items: center;
}

.dm-track {
  position: relative;
  width: min(100%, 420px);
  aspect-ratio: 3 / 4.2;
}

.dm-slide {
  position: absolute;
  inset: 0;
  transition: transform 0.55s var(--ease), opacity 0.55s var(--ease), filter 0.55s ease;
  opacity: 0;
  pointer-events: none;
}

.dm-slide.is-active {
  opacity: 1;
  transform: translateX(0) scale(1);
  z-index: 3;
  pointer-events: auto;
}

.dm-slide.is-prev {
  opacity: 0.45;
  transform: translateX(-58%) scale(0.86);
  filter: blur(0.5px);
  z-index: 2;
}

.dm-slide.is-next {
  opacity: 0.45;
  transform: translateX(58%) scale(0.86);
  filter: blur(0.5px);
  z-index: 2;
}

.dm-slide__img {
  height: 100%;
  border-radius: 18px;
  box-shadow: var(--shadow-hover);
  border: 0;
}

.dm-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 52px;
  height: 52px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 50%;
  background: var(--teal);
  color: #fff;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(0, 167, 175, 0.3);
  transition: transform 0.25s var(--ease), background 0.25s ease;
  appearance: none;
  -webkit-appearance: none;
}

.dm-nav svg {
  width: 28px;
  height: 28px;
  display: block;
  flex-shrink: 0;
}

.dm-nav:hover {
  background: var(--teal-dark);
  transform: translateY(-50%) scale(1.08);
}

.dm-nav.prev {
  left: 0;
}

.dm-nav.next {
  right: 0;
}

.dm-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
}

.dm-dot {
  box-sizing: border-box;
  width: 10px;
  height: 10px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 50%;
  flex: 0 0 10px;
  aspect-ratio: 1 / 1;
  background: #c9d5d8;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

.dm-dot.is-active {
  background: var(--teal);
  transform: scale(1.25);
}


.module-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px 72px;
  width: 78%;
  margin-top: 36px;
  margin-inline: auto;
  text-align: left;
}

.module-card {
  background: #fff;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(0, 80, 90, 0.1);
  transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease);
  scroll-margin-top: calc(var(--header-h) + 16px);
}

.module-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 18px 40px rgba(0, 80, 90, 0.14);
}

.module-card__visual {
  position: relative;
  min-height: 0;
  padding: 0;
  overflow: hidden;
}

.tone-orange .module-card__visual {
  background: linear-gradient(135deg, #ffe2c8, #ffc089);
}

.tone-pink .module-card__visual {
  background: linear-gradient(135deg, #ffd6e4, #f7b0c8);
}

.tone-navy .module-card__visual {
  background: linear-gradient(135deg, #3a4f84, #24365f);
}

.tone-green .module-card__visual {
  background: linear-gradient(135deg, #c8e8b8, #8fcf7a);
}

.module-card__img {
  width: 100%;
  height: auto;
  min-height: 200px;
  border: 0;
  border-radius: 0;
  background: none;
  overflow: hidden;
}

.module-card__img.img-ph {
  border: 0;
  background: none;
}

.module-card__img.img-ph img,
.module-card__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  object-position: center bottom;
}

.module-card__img.is-empty {
  aspect-ratio: 16 / 10;
  min-height: 200px;
  border: 0;
  background: none;
}

.module-card__img.is-empty::before,
.module-card__img .img-ph__label {
  display: none;
}

.module-card__body {
  padding: 26px 28px 30px;
  text-align: center;
}

.module-card__body h3 {
  margin: 0 0 8px;
  padding-bottom: 0;
  width: auto;
  color: #2b2f33;
  font-size: clamp(1.55rem, 2.2vw, 1.85rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  border-bottom: 0;
}

.module-card__cats {
  margin: 0 0 2px;
  color: #6b7280;
  font-size: 1.12rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

@media (max-width: 900px) {
  .module-card__cats {
    font-size: 0.88rem;
    letter-spacing: -0.04em;
    word-spacing: -0.42em;
  }
}

.module-card__slogan {
  margin: 0;
  color: #6b7280;
  font-size: 1.12rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.45;
}

.module-features {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  justify-content: center;
  align-items: center;
  gap: 12px 28px;
  margin: 22px auto 26px;
  padding: 0;
  list-style: none;
  width: 100%;
  max-width: 100%;
}

.module-features li {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  color: #0094a4;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.35;
  text-align: left;
  white-space: nowrap;
}

.module-features li::before {
  content: "";
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  border-radius: 50%;
  border: 2px solid #00a7af;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a7af' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E") center / 12px no-repeat;
}

.module-card__body .btn {
  min-width: 160px;
  border-radius: var(--radius-pill);
  padding: 12px 32px;
}


.contact {
  position: relative;
  overflow: visible;
  background: #fff;
}

.contact-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0.35;
  pointer-events: none;
  z-index: 0;
  overflow: visible;
}

.contact-bg__pattern {
  width: 100%;
  height: 100%;
  min-height: 100%;
  border: 0;
  border-radius: 0;
  background: none;
  overflow: visible;
}

.contact-bg__pattern.img-ph {
  border: 0;
  background: none;
}

.contact-bg__pattern.img-ph img,
.contact-bg__pattern img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
}

.contact-bg__pattern.is-empty {
  border: 0;
  background: none;
}

.contact-bg__pattern.is-empty::before,
.contact-bg__pattern .img-ph__label {
  display: none;
}

.contact-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 42px;
  align-items: center;
}

.contact-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.contact-info__logo {
  width: min(100%, 420px);
  height: auto;
  min-height: 0;
  aspect-ratio: 3 / 1;
  margin: 0 auto 24px;
  border: 0;
  border-radius: 0;
  background: none;
  overflow: visible;
}

.contact-info__logo.img-ph {
  border: 0;
  background: none;
}

.contact-info__logo.img-ph img,
.contact-info__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.contact-info__logo.is-empty {
  border: 0;
  background: none;
}

.contact-info__logo.is-empty::before,
.contact-info__logo .img-ph__label {
  display: none;
}

.contact-line {
  margin: 0 0 10px;
  margin-left: 96px;
  color: #0094a4;
  font-size: clamp(1.15rem, 1.8vw, 1.35rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  align-self: flex-start;
  text-align: left;
  width: fit-content;
  max-width: 100%;
  white-space: nowrap;
}

.contact-slogan {
  margin-top: 36px;
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.contact-slogan__img {
  width: min(100%, 300px);
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: none;
  overflow: visible;
}

.contact-slogan__img.img-ph {
  border: 0;
  background: none;
}

.contact-slogan__img.img-ph img,
.contact-slogan__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.contact-slogan__img.is-empty {
  display: none;
  border: 0;
  background: none;
  min-height: 0;
}

.contact-slogan__img.is-empty::before,
.contact-slogan__img .img-ph__label {
  display: none;
}

.contact-slogan__fallback {
  display: none;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.contact-slogan__img.is-empty + .contact-slogan__fallback {
  display: flex;
}

.script-dark {
  font-family: var(--script);
  font-size: clamp(2rem, 4vw, 2.8rem);
  line-height: 1.2;
  color: #2b2f33;
}

.script-gold {
  font-family: var(--script);
  color: var(--gold);
  font-size: clamp(2.6rem, 6vw, 4rem);
  line-height: 1.1;
}

.contact-form-wrap {
  background: #fff;
  border: 1.5px solid rgba(0, 167, 175, 0.45);
  border-radius: 24px;
  padding: 34px 28px;
  box-shadow: var(--shadow);
}

.contact-form-wrap h2 {
  margin: 0 0 22px;
  color: #0094a4;
  text-align: center;
  font-size: clamp(1.35rem, 2.4vw, 1.7rem);
  line-height: 1.45;
}

.contact-form {
  display: grid;
  gap: 16px;
}

.contact-form label {
  display: grid;
  gap: 8px;
  text-align: left;
  font-weight: 600;
  color: #445055;
}

.contact-form input {
  width: 100%;
  min-height: 48px;
  padding: 0 18px;
  border: 1.5px solid rgba(0, 167, 175, 0.45);
  border-radius: var(--radius-pill);
  outline: none;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
  background: #fff;
}

.contact-form input:focus {
  border-color: var(--teal);
  box-shadow: 0 0 0 4px rgba(0, 167, 175, 0.15);
}

.form-alert {
  margin-bottom: 16px;
  padding: 12px 14px;
  border-radius: 12px;
  font-weight: 600;
}

.form-alert.is-success {
  background: #e8f8f0;
  color: #1b7a4a;
}

.form-alert.is-error {
  background: #fff1f0;
  color: #b42318;
}


.site-footer {
  background: #008088;
  color: #fff;
  padding: 56px 0 0;
  font-size: 0.95rem;
}

.footer-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 28px;
}

.footer-grid {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  column-gap: 20px;
  padding-bottom: 40px;
}

.footer-navs {
  display: flex;
  justify-content: flex-start;
  align-items: start;
  gap: 28px 68px;
  min-width: 0;
  margin-left: 0;
  padding-right: 16px;
}

.footer-brand {
  justify-self: start;
  max-width: 260px;
  min-width: 0;
}

.footer-brand__logo {
  width: min(100%, 210px);
  height: auto;
  min-height: 0;
  aspect-ratio: 3 / 1;
  margin: 0 0 10px;
  border: 0;
  border-radius: 0;
  background: none;
  overflow: visible;
}

.footer-brand__logo.img-ph {
  border: 0;
  background: none;
}

.footer-brand__logo.img-ph img,
.footer-brand__logo img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  object-position: left center;
  display: block;
}

.footer-brand__logo.is-empty {
  border: 0;
  background: none;
}

.footer-brand__logo.is-empty::before,
.footer-brand__logo .img-ph__label {
  display: none;
}

.footer-col {
  min-width: 0;
}

.footer-col__title {
  display: inline-block;
  margin: 4px 0 16px;
  padding-bottom: 6px;
  border-bottom: 1px solid #f3e2a0;
  color: #fff;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.footer-col a {
  display: block;
  margin: 0 0 10px;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.6;
  white-space: nowrap;
  opacity: 0.96;
}

.footer-col a:hover {
  opacity: 1;
  text-decoration: none;
}

.footer-col__sep {
  margin: 0 4px;
  opacity: 0.8;
}

.footer-col sub {
  font-size: 0.58em;
  font-weight: 500;
  letter-spacing: 0.04em;
  vertical-align: baseline;
  position: relative;
  top: -0.15em;
  margin-left: 1px;
}

.footer-insights {
  justify-self: end;
  text-align: left;
  min-width: 0;
}

.footer-insights__title {
  margin: 4px 0 16px;
  color: #fff;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.footer-insights__title em {
  margin-left: 4px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.05em;
  font-style: italic;
  font-weight: 400;
}

.footer-insights__meta {
  margin: 0 0 4px;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
  white-space: nowrap;
}

.footer-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 10px;
  width: 100%;
  padding: 16px 28px 22px;
  border-top: 1px dashed rgba(255, 255, 255, 0.75);
  color: #fff;
  font-size: 0.88rem;
  letter-spacing: 0.02em;
}

.footer-bar a {
  color: #fff;
}

.footer-bar__sep {
  opacity: 0.8;
}

.social-row {
  display: flex;
  gap: 10px;
  justify-content: flex-start;
  margin: 0 0 16px;
}

.social-btn {
  width: 38px;
  height: 38px;
  border-radius: 0;
  overflow: visible;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s var(--ease);
}

.social-btn img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.social-btn:hover {
  transform: translateY(-3px) scale(1.06);
}

.line-float {
  position: fixed;
  right: calc(18px - var(--footer-float-inline-shift, 0px));
  bottom: calc(74px + var(--footer-float-offset, 0px));
  z-index: 50;
  width: 46px;
  height: 46px;
  display: block;
  transition: transform 0.3s var(--ease);
}

.line-float img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.line-float:hover {
  transform: translateY(-3px) scale(1.05);
}

.back-top {
  position: fixed;
  right: calc(18px - var(--footer-float-inline-shift, 0px));
  bottom: calc(18px + var(--footer-float-offset, 0px));
  z-index: 50;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 50%;
  background: var(--teal);
  color: #fff;
  font-size: 1.2rem;
  cursor: pointer;
  opacity: 1;
  pointer-events: auto;
  transition: 0.3s var(--ease);
  transition-property: transform, opacity, box-shadow, background-color, color;
  box-shadow: 0 10px 24px rgba(0, 167, 175, 0.35);
}


.reveal {
  opacity: 0;
  transform: translateY(28px);
  filter: blur(2px);
  transition:
    opacity 0.75s var(--ease),
    transform 0.75s var(--ease),
    filter 0.75s var(--ease);
  transition-delay: var(--d, 0s);
  will-change: opacity, transform;
}

.reveal.is-in {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}


.btn {
  position: relative;
  overflow: hidden;
}

.btn:active {
  transform: translateY(1px) scale(0.98);
}

.btn-ripple {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.35);
  transform: scale(0);
  animation: rippleOut 0.6s var(--ease);
  pointer-events: none;
}

@keyframes rippleOut {
  to {
    transform: scale(2.4);
    opacity: 0;
  }
}

.nav-list a,
.nav-list .nav-link {
  transition: color 0.25s ease, transform 0.25s var(--ease);
}

.nav-list a:hover,
.nav-list .nav-link:hover {
  transform: translateY(-1px);
}

.nav-list a::after,
.nav-list .nav-link::after {
  transition: width 0.35s var(--ease), opacity 0.25s ease;
}

.check-list li,
.module-features li,
.design-copy .check-list li,
.feature-cat li {
  transition: transform 0.3s var(--ease), opacity 0.3s ease;
}

.check-list li:hover,
.module-features li:hover,
.design-copy .check-list li:hover,
.feature-cat li:hover {
  transform: translateX(4px);
}

.has-tilt {
  transform: translate3d(var(--tx, 0), var(--ty, 0), 0) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));
  transition: transform 0.25s var(--ease), box-shadow 0.35s var(--ease);
  transform-style: preserve-3d;
}

.value-card__box.has-tilt:hover,
.feature-cat.has-tilt:hover,
.price-card.has-tilt:hover,
.module-card.has-tilt:hover {
  transform: translate3d(var(--tx, 0), calc(var(--ty, 0px) - 6px), 0) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));
}

.addon-item {
  transition: transform 0.35s var(--ease);
}

.addon-item:hover {
  transform: translateY(-6px);
}

.addon-item__icon {
  transition: transform 0.45s var(--ease);
}

.dm-dot {
  transition: transform 0.3s var(--ease), background 0.25s ease, box-shadow 0.25s ease;
}

.dm-dot.is-active {
  box-shadow: 0 0 0 4px rgba(0, 167, 175, 0.18);
}

.dm-nav {
  transition: transform 0.25s var(--ease), background 0.25s ease, box-shadow 0.25s ease;
}

.dm-nav:active {
  transform: translateY(-50%) scale(0.94);
}

.hero-slide__content .hero-eyebrow,
.hero-slide__content .hero-title,
.hero-slide__content .hero-features,
.hero-slide__content .hero-lead,
.hero-slide__content .hero-desc,
.hero-slide__content .hero-actions,
.hero-slide__content .btn {
  opacity: 0;
  transform: translateY(18px);
}

.hero-slide__content .hero-eyebrow.is-hero-in,
.hero-slide__content .hero-title.is-hero-in,
.hero-slide__content .hero-features.is-hero-in,
.hero-slide__content .hero-lead.is-hero-in,
.hero-slide__content .hero-desc.is-hero-in,
.hero-slide__content .hero-actions.is-hero-in,
.hero-slide__content .btn.is-hero-in {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.7s var(--ease), transform 0.7s var(--ease);
  transition-delay: var(--hd, 0s);
}

.contact-form label {
  transition: transform 0.25s var(--ease);
}

.contact-form label.is-focus {
  transform: translateY(-1px);
}

.contact-form input.is-invalid {
  border-color: #e05a4f;
  animation: fieldPulse 0.45s var(--ease);
}

.contact-form.is-shake {
  animation: formShake 0.45s var(--ease);
}

@keyframes fieldPulse {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(224, 90, 79, 0);
  }
  50% {
    box-shadow: 0 0 0 4px rgba(224, 90, 79, 0.18);
  }
}

@keyframes formShake {
  0%,
  100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-6px);
  }
  75% {
    transform: translateX(6px);
  }
}

.back-top:hover {
  transform: translateY(-3px) scale(1.05);
}

.social-btn {
  transition: transform 0.3s var(--ease);
}

.logo-cell {
  transition: transform 0.35s var(--ease), filter 0.35s ease;
}

.logo-cell:hover {
  filter: brightness(1.05);
}

.page-progress {
  transition: width 0.12s linear;
}

@media (hover: none) {
  .has-tilt {
    transform: none !important;
  }
}


.articles-hero {
  position: relative;
  width: 100%;
  height: clamp(260px, 38vw, 460px);
  overflow: hidden;
  background: #dfe8ea;
  display: flex;
  align-items: center;
}

.articles-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  z-index: 0;
}

.articles-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.02);
}

.articles-hero__bg.is-empty {
  background:
    linear-gradient(135deg, rgba(0, 167, 175, 0.16), rgba(0, 167, 175, 0.04)),
    #e8f3f4;
}

.articles-hero__bg.is-empty::before {
  content: none;
}

.articles-hero__bg .img-ph__label {
  font-size: 1rem;
  font-weight: 700;
  color: #0094a4;
}

.articles-hero__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      105deg,
      rgba(18, 36, 42, 0.72) 0%,
      rgba(18, 36, 42, 0.42) 42%,
      rgba(18, 36, 42, 0.18) 72%,
      rgba(0, 167, 175, 0.12) 100%
    );
}

.articles-hero__content {
  position: relative;
  z-index: 2;
  color: #fff;
  padding-block: clamp(28px, 5vw, 56px);
}

.articles-hero__eyebrow {
  margin: 0 0 14px;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.28em;
  color: rgba(255, 255, 255, 0.82);
}

.articles-hero__title {
  margin: 0;
  font-size: clamp(2.35rem, 6vw, 3.75rem);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: 0.18em;
  text-indent: 0.18em;
}

.articles-hero__title-text {
  position: relative;
  display: inline-block;
  text-shadow: 0 8px 28px rgba(0, 0, 0, 0.28);
}

.articles-hero__title-text::after {
  content: "";
  position: absolute;
  left: 0.05em;
  right: 0.05em;
  bottom: 0.08em;
  height: 0.28em;
  background: rgba(0, 167, 175, 0.35);
  z-index: -1;
  border-radius: 2px;
}

.articles-hero__line {
  display: block;
  width: 56px;
  height: 3px;
  margin: 18px 0 16px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--teal), rgba(226, 177, 60, 0.85));
  transform-origin: left center;
}

.articles-hero__sub {
  margin: 0;
  max-width: 22em;
  font-size: clamp(0.95rem, 1.6vw, 1.08rem);
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.88);
}

.articles-page {
  padding-top: 36px;
  padding-bottom: 72px;
}

.articles-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px 32px;
  margin-bottom: 36px;
  flex-wrap: wrap;
}

.articles-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 22px;
}

.articles-filter {
  border: 0;
  background: transparent;
  padding: 4px 2px;
  color: #9aa3a8;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: color 0.25s ease;
}

.articles-filter:hover,
.articles-filter.is-active {
  color: #0094a4;
}

.articles-search {
  position: relative;
  width: min(100%, 240px);
  margin-left: auto;
}

.articles-search input {
  width: 100%;
  height: 42px;
  border: 1px solid #d5dcdf;
  border-radius: 10px;
  padding: 0 44px 0 16px;
  color: var(--text);
  background: #fff;
  outline: none;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.articles-search input::placeholder {
  color: #b0b8bd;
}

.articles-search input:focus {
  border-color: var(--teal);
  box-shadow: 0 0 0 3px rgba(0, 167, 175, 0.12);
}

.articles-search__btn {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border: 0;
  background: transparent;
  color: #9aa3a8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
}

.articles-search__btn svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.articles-search__btn:hover {
  color: #0094a4;
}

.articles-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px 28px;
}

.article-card {
  min-width: 0;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(20, 40, 50, 0.08);
  overflow: hidden;
}

.article-card.is-hidden {
  display: none;
}

.article-card__link {
  display: flex;
  flex-direction: column;
  color: inherit;
  height: 100%;
}

.article-card__link:hover .article-card__thumb img {
  transform: scale(1.04);
}

.article-card__thumb {
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 0;
  overflow: hidden;
  border: 0;
  min-height: 0;
  background: #edf3f4;
}

.article-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s var(--ease);
}

.article-card__thumb.is-empty {
  background:
    linear-gradient(135deg, rgba(0, 167, 175, 0.12), rgba(0, 167, 175, 0.03));
}

.article-card__thumb .img-ph__label {
  font-size: 0.85rem;
  color: #0094a4;
  font-weight: 600;
}

.article-card__body {
  padding: 12px 22px 24px;
}

.article-card__tag {
  display: block;
  margin: 0 0 2px;
  color: #0094a4;
  font-size: 0.92rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}

.article-card__title {
  margin: 0 0 10px;
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.02em;
  color: #333333;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.article-card__date {
  display: block;
  margin: 0 0 10px;
  color: #888888;
  font-size: 0.88rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.4;
}

.article-card__excerpt {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.7;
  color: #8a8f94;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.articles-empty {
  text-align: center;
  color: var(--muted);
  margin: 40px 0 12px;
}

.articles-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 52px;
}

.articles-page-btn {
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #eceff1;
  color: #5d666c;
  font-size: 0.92rem;
  font-weight: 600;
  transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

a.articles-page-btn:hover {
  background: #e0e6e8;
  color: var(--text);
}

.articles-page-btn.is-active {
  background: var(--teal);
  color: #fff;
}

.articles-page-btn.is-ellipsis {
  background: #eceff1;
  pointer-events: none;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}


.articles-hero--detail {
  height: clamp(148px, 20vw, 232px);
  justify-content: center;
}

.articles-hero--detail .articles-hero__bg img {
  transform: scale(1.12);
  filter: blur(3px);
}

.articles-hero--detail .articles-hero__veil {
  background: rgba(20, 28, 32, 0.52);
}

.articles-hero__content--center {
  text-align: center;
  padding-block: 0;
}

.articles-hero__zh {
  margin: 0;
  color: #fff;
  font-size: clamp(2rem, 4.6vw, 3rem);
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-shadow: 0 6px 22px rgba(0, 0, 0, 0.28);
}

.articles-hero__en {
  margin: 2px 0 0;
  color: #fff;
  font-size: clamp(1.22rem, 2.4vw, 1.72rem);
  font-weight: 700;
  letter-spacing: 0.18em;
}

.articles-hero__crumb {
  margin: 6px 0 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.08em;
}

.article-detail {
  padding-top: 52px;
  padding-bottom: 88px;
  background: #fff;
}

.article-detail__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.72fr) minmax(280px, 0.7fr);
  gap: 48px 56px;
  align-items: start;
}

.article-main__title {
  margin: 0 0 28px;
  font-size: clamp(1.7rem, 3.2vw, 2.2rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  color: #222;
}

.article-main__cover {
  margin-bottom: 28px;
}

.article-main__cover-img {
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 4px;
  overflow: hidden;
  border: 0;
  min-height: 0;
  background: #edf3f4;
}

.article-main__cover-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.article-main__cover-img .img-ph__label {
  color: #0094a4;
  font-weight: 600;
}

.article-toc {
  margin: 8px 0 36px;
  padding: 6px 20px 14px;
  background: #fff;
  border: 1px solid #d9dee2;
  border-radius: 6px;
}

.article-toc__toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 0;
  background: transparent;
  padding: 12px 0;
  font-size: 1.02rem;
  font-weight: 700;
  color: #2b2f33;
  cursor: pointer;
}

.article-toc__chevron {
  width: 20px;
  height: 20px;
  fill: #7a858c;
  transition: transform 0.3s var(--ease);
}

.article-toc.is-collapsed .article-toc__chevron {
  transform: rotate(-90deg);
}

.article-toc.is-collapsed .article-toc__list {
  display: none;
}

.article-toc__list,
.article-toc__sub {
  margin: 0;
  padding: 0;
  list-style: none;
  color: #4b5560;
}

.article-toc__sub {
  padding-left: 1.1em;
  margin-top: 6px;
}

.article-toc__list > li {
  margin: 7px 0;
  line-height: 1.6;
  font-size: 0.95rem;
}

.article-toc__list a {
  color: #4b5560;
  transition: color 0.2s ease;
}

.article-toc__list a:hover {
  color: #0094a4;
}

.article-body {
  font-size: 1rem;
  line-height: 1.95;
  color: #333;
}

.article-body p {
  margin: 0 0 1.15em;
}

.article-body h2 {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 2.1em 0 0.55em;
  color: #0094a4;
  font-size: clamp(1.22rem, 2.1vw, 1.42rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
  scroll-margin-top: calc(var(--header-h) + 16px);
}

.article-body h2::after {
  content: "";
  flex: 1 1 auto;
  min-width: 40px;
  height: 1.5px;
  background: #00a7af;
}

.article-body h3 {
  margin: 1.2em 0 0.45em;
  color: #2b2f33;
  font-size: 1.08rem;
  font-weight: 700;
  scroll-margin-top: calc(var(--header-h) + 16px);
}

.article-list {
  margin: 0 0 1.25em;
  padding: 0 0 0 1.25em;
  color: #333;
  list-style: disc;
}

.article-list li {
  margin: 0.28em 0;
  line-height: 1.85;
}

.article-list--ol {
  padding-left: 1.4em;
}

.article-list--ol > li {
  margin: 0.55em 0;
}

.article-list__lead {
  font-weight: 700;
}

.article-list ul {
  margin: 0.25em 0 0;
  padding-left: 1.2em;
  list-style: disc;
}

.article-callout {
  margin: 1.7em 0;
  padding: 18px 28px;
  text-align: center;
  color: #0094a4;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.75;
  background: #e8f6f7;
  border-radius: 8px;
}

.article-figure {
  margin: 1.6em 0 1.8em;
}

.article-figure__img {
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 4px;
  overflow: hidden;
  border: 0;
  min-height: 0;
  background: #edf3f4;
}

.article-figure__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.article-figure__img .img-ph__label {
  color: #0094a4;
  font-weight: 600;
}

.article-sidebar {
  position: relative;
  display: grid;
  gap: 0;
  padding: 28px 22px 32px;
  background: #f4f5f6;
}

.side-box {
  position: relative;
  background: transparent;
  border-radius: 0;
  padding: 0 0 22px;
  overflow: visible;
}

.side-box--list + .side-box--list,
.side-box--list + .side-box--search {
  padding-top: 22px;
  border-top: 1px solid #e2e6e8;
}

.side-box__title {
  margin: 0 0 16px;
  text-align: center;
  font-size: 1.32rem;
  font-weight: 700;
  color: #222;
  letter-spacing: 0.04em;
}

.side-box__meta {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
}

.side-box__title--teal {
  color: #0094a4;
  text-align: center;
  font-size: 1.32rem;
  line-height: 1.55;
  letter-spacing: 0.03em;
  margin-bottom: 18px;
}

.side-latest {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}

.side-latest a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  transition: opacity 0.2s ease;
}

.side-latest a:hover {
  opacity: 0.78;
}

.side-latest__num {
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.1;
  color: #0094a4;
  letter-spacing: 0.02em;
}

.side-latest__num.is-top {
  color: var(--gold);
}

.side-latest__text {
  font-size: 0.92rem;
  line-height: 1.55;
  color: #2b2f33;
  font-weight: 400;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.side-latest a.is-current .side-latest__text {
  color: #2b2f33;
}

.side-box__more {
  display: block;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid #e1e6e8;
  text-align: center;
  color: #6b7280;
  font-weight: 600;
  letter-spacing: 0.06em;
  transition: color 0.2s ease;
}

.side-box__more:hover {
  color: #0094a4;
}

.side-search {
  display: grid;
  gap: 14px;
}

.side-search__field {
  position: relative;
}

.side-search input,
.side-search select {
  width: 100%;
  height: 44px;
  border: 1px solid #d5dcdf;
  border-radius: 10px;
  background: #fff;
  padding: 0 42px 0 14px;
  color: var(--text);
  outline: none;
  appearance: none;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.side-search select {
  padding-right: 36px;
  background-image:
    linear-gradient(45deg, transparent 50%, #9aa3a8 50%),
    linear-gradient(135deg, #9aa3a8 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 18px,
    calc(100% - 12px) 18px;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  cursor: pointer;
}

.side-search input:focus,
.side-search select:focus {
  border-color: var(--teal);
  box-shadow: 0 0 0 3px rgba(0, 167, 175, 0.12);
}

.side-search__icon {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  color: #9aa3a8;
  pointer-events: none;
}

.side-search__icon svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.side-box--contact {
  padding: 22px 18px 20px;
  background: #fafbfb;
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(20, 40, 50, 0.06);
}

.side-contact {
  display: grid;
  gap: 12px;
}

.side-contact label span {
  display: block;
  margin-bottom: 6px;
  color: #111;
  font-size: 0.96rem;
  text-align: center;
}

.side-contact input[type="text"],
.side-contact input[type="tel"] {
  width: 100%;
  min-height: 42px;
  border: 1px solid #9ed7db;
  border-radius: 10px;
  background: #fff;
  padding: 0 12px;
  color: var(--text);
  outline: none;
}

.side-contact input:focus {
  border-color: #00a7af;
}

.side-contact__stage {
  margin: 8px 0 4px;
  padding: 0;
  border: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.side-contact__stage legend {
  width: 100%;
  margin: 0 0 12px;
  color: #2b2f33;
  font-size: 0.92rem;
  text-align: center;
}

.side-contact__radios {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.side-contact__radio {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  color: #2b2f33;
  font-size: 0.92rem;
}

.side-contact__radio input {
  margin: 0;
}

.side-contact__btn {
  margin-top: 8px;
  min-height: 46px;
  border-radius: 999px;
  font-weight: 400;
  box-shadow: none;
}

.side-contact__btn:hover,
.side-contact__btn:focus-visible {
  box-shadow: none;
  transform: none;
}

.side-contact__note {
  margin: 6px 0 0;
  color: #2b2f33;
  font-size: 0.88rem;
  line-height: 1.55;
  text-align: center;
}

.article-sidebar {
  background: #fff;
  padding: 28px 4px 8px;
}

.article-sidebar .side-box--search {
  padding: 32px 0 4px;
}

.article-sidebar .side-box--search .side-box__title {
  margin: 0 0 16px;
  color: #222;
  font-size: 1.22rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.article-sidebar .side-search {
  gap: 14px;
}

.article-sidebar .side-search input,
.article-sidebar .side-search select {
  height: 42px;
  border: 1px solid #d2d2d2;
  border-radius: 8px;
  background-color: #fff;
  padding: 0 38px 0 14px;
  color: #9a9a9a;
  font-size: 0.92rem;
  box-shadow: none;
}

.article-sidebar .side-search input::placeholder {
  color: #b4b4b4;
}

.article-sidebar .side-search select {
  color: #b4b4b4;
  background-image:
    linear-gradient(45deg, transparent 50%, #b4b4b4 50%),
    linear-gradient(135deg, #b4b4b4 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 18px,
    calc(100% - 12px) 18px;
}

.article-sidebar .side-search select:has(option:not([value=""]):checked),
.article-sidebar .side-search input:not(:placeholder-shown) {
  color: #333;
}

.article-sidebar .side-search input:focus,
.article-sidebar .side-search select:focus {
  border-color: #00a7af;
  box-shadow: none;
}

.article-sidebar .side-search__icon {
  right: 12px;
  width: 16px;
  height: 16px;
  color: #b4b4b4;
}

.article-sidebar .side-search__icon svg {
  width: 16px;
  height: 16px;
}

.article-sidebar .side-box--contact {
  margin-top: 28px;
  padding: 28px 20px 24px;
  background: #f4f4f4;
  border-radius: 12px;
  box-shadow: none;
}

.article-sidebar .side-box__title--teal {
  margin: 0 0 24px;
  color: #0094a4;
  font-size: 1.48rem;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.04em;
}

.article-sidebar .side-contact {
  gap: 18px;
}

.article-sidebar .side-contact label span {
  margin-bottom: 8px;
  color: #222;
  font-size: 0.92rem;
  font-weight: 400;
}

.article-sidebar .side-contact input[type="text"],
.article-sidebar .side-contact input[type="tel"] {
  min-height: 42px;
  border: 1px solid #7ec8ce;
  border-radius: 8px;
  background: #fff;
  padding: 0 14px;
}

.article-sidebar .side-contact input:focus {
  border-color: #00a7af;
  box-shadow: none;
}

.article-sidebar .side-contact__stage {
  margin: 2px 0 0;
}

.article-sidebar .side-contact__stage legend {
  margin: 0 0 12px;
  color: #222;
  font-size: 0.92rem;
}

.article-sidebar .side-contact__radios {
  gap: 8px;
  margin-inline: auto;
}

.article-sidebar .side-contact__radio {
  gap: 8px;
  color: #222;
  font-size: 0.92rem;
}

.article-sidebar .side-contact__radio input {
  width: 15px;
  height: 15px;
  accent-color: #00a7af;
}

.article-sidebar .side-contact__btn {
  display: inline-flex;
  justify-self: center;
  width: auto;
  min-width: 0;
  min-height: 42px;
  margin: 6px auto 0;
  padding: 0 26px;
  border-radius: 999px;
  background: #00a7af;
  font-size: 0.92rem;
  font-weight: 400;
  letter-spacing: 0.02em;
}

.article-sidebar .side-contact__note {
  margin: 2px 0 0;
  color: #222;
  font-size: 0.9rem;
}

@media (max-width: 980px) {
  .article-detail__layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .article-sidebar {
    max-width: none;
    width: 100%;
    margin-inline: 0;
  }
}

@media (max-width: 560px) {
  .article-detail {
    padding-top: 32px;
    padding-bottom: 56px;
  }

  .article-callout {
    border-radius: 8px;
    padding: 16px 18px;
  }

  .article-main__title {
    font-size: 1.45rem;
  }
}


.courses-hero {
  padding: 28px 0 12px;
  overflow-x: hidden;
  overflow-y: visible;
}

.courses-heading {
  margin: 0 0 22px;
  font-size: clamp(1.7rem, 3vw, 2.2rem);
  font-weight: 500;
  color: #1f2428;
  letter-spacing: 0.04em;
}

.course-banner-carousel {
  position: relative;
  width: 100%;
  max-width: none;
  margin-inline: auto;
  padding: 0 0 8px;
}

.course-banner-carousel__stage {
  position: relative;
  padding: 0;
}

.course-banner-carousel__track {
  position: relative;
  width: 100%;
  aspect-ratio: auto;
  height: auto;
  min-height: 0;
  max-height: none;
}


.course-banner-carousel__track::before {
  content: "";
  display: block;
  width: min(100% - 64px, 1480px);
  margin-inline: auto;
  aspect-ratio: 1137 / 425;
}

.course-banner-slide {
  position: absolute;
  top: 0;
  left: 50%;
  width: min(100% - 64px, 1480px);
  height: auto;
  transform: translateX(-50%) scale(0.88);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.55s var(--ease), transform 0.55s var(--ease);
  z-index: 1;
}

.course-banner-slide.is-active {
  position: absolute;
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) scale(1);
  z-index: 3;
}

.course-banner-slide.is-prev {
  opacity: 1;
  transform: translateX(calc(-50% - 72%)) scale(0.94);
  z-index: 2;
}

.course-banner-slide.is-next {
  opacity: 1;
  transform: translateX(calc(-50% + 72%)) scale(0.94);
  z-index: 2;
}

.course-banner-slide__img {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 1137 / 425;
  border-radius: 22px;
  overflow: hidden;
  border: 0;
  min-height: 0;
  background: transparent;
  box-shadow: 0 14px 36px rgba(0, 80, 90, 0.12);
}

.course-banner-slide__img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  object-position: center;
  display: block;
}

.course-banner-slide__img.is-empty {
  aspect-ratio: 1137 / 425;
  min-height: 0;
  background: #e8f6f6;
}

.course-banner-slide__img .img-ph__label {
  color: #0094a4;
  font-weight: 700;
}

.course-banner-slide.is-prev .course-banner-slide__img,
.course-banner-slide.is-next .course-banner-slide__img {
  box-shadow: none;
  position: relative;
}

.course-banner-slide.is-prev .course-banner-slide__img::after,
.course-banner-slide.is-next .course-banner-slide__img::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: rgba(255, 255, 255, 0.55);
  pointer-events: none;
  z-index: 1;
}

.course-banner-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: #eceff1;
  color: #8a949a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 6px 16px rgba(0, 40, 50, 0.1);
  transition: transform 0.25s var(--ease), color 0.2s ease, background 0.2s ease;
}

.course-banner-nav svg {
  width: 22px;
  height: 22px;
  fill: currentColor;
}

.course-banner-nav.prev {
  left: clamp(56px, 12vw, 140px);
}

.course-banner-nav.next {
  right: clamp(56px, 12vw, 140px);
}

.course-banner-nav:hover {
  color: #0094a4;
  background: #fff;
  transform: translateY(-50%) scale(1.06);
}

.course-banner-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 18px;
}

.course-banner-dot {
  width: 9px;
  height: 9px;
  border: 0;
  border-radius: 50%;
  background: #d5dce0;
  cursor: pointer;
  padding: 0;
  transition: background 0.25s ease, transform 0.25s ease;
}

.course-banner-dot.is-active {
  background: var(--teal);
  transform: scale(1.15);
}

.courses-category {
  padding-top: 28px;
  padding-bottom: 48px;
}

.course-cat-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 14px;
  margin-bottom: 32px;
}

.course-cat-pill {
  border: 0;
  min-height: 42px;
  padding: 0 22px;
  border-radius: var(--radius-pill);
  background: #e8ecee;
  color: #3a4248;
  font-weight: 600;
  letter-spacing: 0.03em;
  cursor: pointer;
  transition: background 0.25s ease, color 0.25s ease, transform 0.25s var(--ease);
}

.course-cat-pill:hover {
  background: #dde3e5;
}

.course-cat-pill.is-active {
  background: var(--teal);
  color: #fff;
}

.course-feature__stage {
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  background: #eef4f5;
  aspect-ratio: 21 / 9;
  min-height: 220px;
}

.course-feature__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.45s var(--ease);
}

.course-feature__slide.is-active {
  opacity: 1;
  pointer-events: auto;
  z-index: 1;
}

.course-feature__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  min-height: 0;
  background: transparent;
}

.course-feature__img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.course-feature__img .img-ph__label {
  color: #0094a4;
  font-weight: 700;
}

.course-feature__next {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #0094a4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.25s var(--ease), color 0.2s ease;
}

.course-feature__next svg {
  width: 36px;
  height: 36px;
  fill: currentColor;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.18));
}

.course-feature__next:hover {
  transform: translateY(-50%) translateX(3px) scale(1.06);
}

.course-feature__meta {
  margin-top: 20px;
  min-height: 5.25rem;
}

.course-feature__title {
  margin: 0 0 12px;
  min-height: 2.7em;
  font-size: clamp(1.2rem, 2.2vw, 1.45rem);
  font-weight: 800;
  color: #1f2428;
  letter-spacing: 0.02em;
  line-height: 1.35;
}

.course-feature__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  min-height: 32px;
}

.course-feature__tag {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 14px;
  border-radius: var(--radius-pill);
  background: var(--teal);
  color: #fff;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.courses-articles {
  padding-top: 12px;
  padding-bottom: 72px;
}

.courses-articles__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 8px;
}

.courses-articles__head .courses-heading {
  margin-bottom: 0;
}

.courses-articles__more {
  color: var(--muted);
  font-weight: 600;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.courses-articles__more:hover {
  color: #0094a4;
}

.courses-articles-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  margin-top: 24px;
}

.course-article-card {
  background: #f5f7f8;
  border-radius: 18px;
  overflow: hidden;
  transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease);
}

.course-article-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}

.course-article-card__link {
  display: block;
  color: inherit;
  height: 100%;
}

.course-article-card__thumb {
  width: 100%;
  aspect-ratio: 16 / 10;
  border: 0;
  border-radius: 0;
  min-height: 0;
  background: #e8eef0;
}

.course-article-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.course-article-card__thumb .img-ph__label {
  color: #0094a4;
  font-weight: 600;
}

.course-article-card__body {
  padding: 20px 22px 22px;
}

.course-article-card__title {
  margin: 0 0 10px;
  font-size: 1.08rem;
  font-weight: 800;
  line-height: 1.45;
  color: #1f2428;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.course-article-card__excerpt {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.7;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.course-article-card__tag {
  color: #0094a4;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.courses-articles__cta {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 48px;
  text-align: center;
}

.courses-more-btn {
  min-height: 52px;
  padding: 0 14px 0 28px;
  gap: 14px;
  font-size: 1.02rem;
  margin-inline: auto;
}

.courses-more-btn__arrow {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #fff;
  color: #0094a4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.courses-more-btn__arrow svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
  display: block;
}

@media (max-width: 900px) {
  .courses-hero {
    overflow-x: hidden;
    padding-inline: 12px;
  }

  .course-banner-carousel {
    width: 100%;
    padding: 0 0 12px;
  }

  .course-banner-carousel__stage {
    padding: 0;
    overflow: hidden;
  }

  .course-banner-carousel__track {
    overflow: hidden;
    aspect-ratio: 1137 / 425;
    height: auto;
    max-height: none;
    min-height: 0;
  }

  .course-banner-carousel__track::before {
    display: none;
  }

  .course-feature__stage {
    aspect-ratio: 16 / 9;
    max-height: none;
  }

  .course-banner-slide {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: none;
    opacity: 0;
  }

  .course-banner-slide.is-active {
    position: absolute;
    opacity: 1;
    transform: none;
    z-index: 3;
  }

  .course-banner-slide.is-prev,
  .course-banner-slide.is-next {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: none;
  }

  .course-banner-slide__img {
    height: 100%;
    aspect-ratio: auto;
  }

  .course-banner-slide__img,
  .course-banner-slide__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .course-banner-nav {
    display: inline-flex;
  }

  .course-banner-nav.prev {
    left: 10px;
  }

  .course-banner-nav.next {
    right: 10px;
  }
}

@media (max-width: 720px) {
  .courses-articles-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .course-cat-pills {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
  }

  .course-cat-pill {
    flex: 0 0 auto;
    white-space: nowrap;
  }
}

@media (max-width: 560px) {
  .courses-hero {
    padding-top: 20px;
    padding-inline: 10px;
  }

  .course-banner-carousel {
    padding: 0 0 16px;
  }

  .course-banner-nav {
    display: inline-flex;
    width: 38px;
    height: 38px;
  }

  .course-banner-nav.prev {
    left: 8px;
  }

  .course-banner-nav.next {
    right: 8px;
  }

  .course-banner-nav svg {
    width: 18px;
    height: 18px;
  }

  .course-feature__next {
    right: 8px;
    width: 40px;
    height: 40px;
  }

  .course-feature__next svg {
    width: 28px;
    height: 28px;
  }
}


.course-cat-pills {
  display: flex;
  flex-wrap: nowrap;
  gap: 14px;
  margin-bottom: 32px;
  width: 100%;
}

.course-cat-pill {
  flex: 1 1 0;
  border: 0;
  min-height: 48px;
  padding: 0 16px;
  border-radius: var(--radius-pill);
  background: #e0e4e6;
  color: #2b2f33;
  font-weight: 600;
  letter-spacing: 0.03em;
  cursor: pointer;
  text-align: center;
  white-space: nowrap;
  transition: background 0.25s ease, color 0.25s ease, transform 0.25s var(--ease);
}

.course-cat-pill:hover {
  background: #dde3e5;
}

.course-cat-pill.is-active {
  background: var(--teal);
  color: #fff;
  box-shadow: none;
}


@media (max-width: 1024px) {
  .needs-layout {
    gap: 16px;
  }

  .cycle-board {
    min-height: 600px;
  }

  .cycle-frame {
    inset: 148px 58px 148px 58px;
  }

  .cycle-step {
    width: 190px;
  }

  .cycle-step__copy h3 {
    font-size: 1.08rem;
  }

  .cycle-step__copy p {
    font-size: 0.88rem;
  }

  .value-grid {
    grid-template-columns: repeat(2, minmax(0, 160px));
    justify-content: center;
    justify-items: center;
    gap: 28px 36px;
    padding-inline: 24px;
  }

  .feature-cats {
    grid-template-columns: repeat(2, 1fr);
  }

  .system-layout {
    grid-template-columns: auto auto;
    justify-content: center;
    max-width: 100%;
    margin-inline: auto;
    padding-inline: 20px;
    column-gap: 28px;
    row-gap: 28px;
  }

  .system-layout > .system-points--left,
  .system-layout > .system-points--right {
    justify-self: center;
    width: max-content;
    max-width: 100%;
  }

  .system-phone {
    order: -1;
    grid-column: 1 / -1;
    max-width: 340px;
    margin-inline: auto;
  }

  .system-points__title {
    font-size: 1.18rem;
  }

  .system-points__desc {
    font-size: 0.95rem;
  }

  .partners-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .footer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px 24px;
  }

  .footer-brand,
  .footer-navs,
  .footer-insights {
    grid-column: 1 / -1;
    justify-self: start;
    max-width: none;
  }

  .footer-navs {
    margin-left: 0;
    padding-right: 0;
    gap: 28px 48px;
  }
}

@media (max-width: 900px) {
  .system-phone {
    max-width: 280px;
  }

  .system {
    padding-bottom: 48px;
  }
}

@media (max-width: 720px) {
  .system-layout {
    grid-template-columns: 1fr;
  }

  .system-layout > .system-points--left,
  .system-layout > .system-points--right {
    text-align: left;
    width: 100%;
  }

  .system-points--left .system-points__title,
  .system-points--right .system-points__title {
    justify-content: flex-start;
  }

  .module-features {
    grid-template-columns: repeat(2, max-content);
    justify-content: center;
    gap: 12px 28px;
  }
}






@media (max-width: 900px) {
  .nav-toggle {
    display: block;
  }

  .nav-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 9999;
    border: 0;
    padding: 0;
    margin: 0;
    background: rgba(18, 38, 42, 0.42);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.28s var(--ease), visibility 0.28s var(--ease);
  }

  .nav-backdrop.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .site-nav {
    position: fixed;
    top: calc(var(--header-h) + 8px);
    left: auto;
    right: 16px;
    width: min(252px, calc(100vw - 64px));
    height: auto;
    z-index: 1;
    background: #fff;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    padding: 10px 10px 12px;
    border: 1px solid var(--line);
    border-radius: 18px;
    transform: translateY(-10px);
    opacity: 0;
    pointer-events: none;
    transition: 0.28s var(--ease);
    box-shadow: 0 18px 40px rgba(0, 40, 50, 0.16);
    max-height: calc(100vh - var(--header-h) - 24px);
    max-height: calc(100dvh - var(--header-h) - 24px);
    overflow: hidden;
  }

  .site-nav.is-open {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  .nav-list {
    flex: 1 1 auto;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    min-height: 0;
    max-height: calc(100vh - var(--header-h) - 96px);
    max-height: calc(100dvh - var(--header-h) - 96px);
    padding-bottom: 2px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .nav-list a,
  .nav-list .nav-link {
    display: flex;
    width: 100%;
    justify-content: flex-start;
    padding: 12px 14px;
    border-radius: 12px;
    transform: none;
  }

  .nav-list > .nav-item > .nav-link--parent {
    justify-content: space-between;
  }

  .nav-list a::after,
  .nav-list .nav-link::after {
    display: none;
  }

  .nav-list a:hover,
  .nav-list .nav-link:hover,
  .nav-list > .nav-item > .nav-link.is-active,
  .nav-list > .nav-item.is-current > .nav-link--parent,
  .nav-list > .nav-item--dropdown.is-open > .nav-link--parent {
    color: #0094a4;
    background: var(--teal-soft);
    transform: none;
  }

  .nav-item--dropdown {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }

  .nav-item--dropdown::after {
    display: none;
  }

  .nav-dropdown {
    position: static;
    left: auto;
    top: auto;
    transform: none;
    min-width: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 12px;
    box-shadow: none;
    background: transparent;
    opacity: 1;
    visibility: visible;
    pointer-events: none;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s var(--ease), margin 0.3s var(--ease), padding 0.3s var(--ease), background 0.3s var(--ease);
  }

  .nav-item--dropdown.is-open > .nav-dropdown {
    pointer-events: auto;
    max-height: 480px;
    overflow: hidden;
    transform: none;
    margin: 4px 0 6px;
    padding: 4px 6px;
    background: var(--bg-soft);
  }

  .nav-item--dropdown.is-open > .nav-dropdown--features {
    max-height: 520px;
  }

  .nav-dropdown--features {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-auto-flow: row;
    column-gap: 0;
    padding: 0;
  }

  .nav-dropdown--features .nav-dropdown__link {
    justify-content: flex-start;
    text-align: left;
  }

  .nav-item--dropdown.is-open > .nav-link--parent .nav-caret {
    transform: translateY(0) rotate(-45deg);
  }

  .nav-dropdown__link {
    padding: 10px 12px;
    justify-content: flex-start;
    text-align: left;
    border-radius: 10px;
  }

  .nav-dropdown__link:hover,
  .nav-dropdown__link.is-active {
    background: #fff;
    color: #0094a4;
  }

  .btn-nav {
    width: 100%;
    margin-top: 4px;
    flex: 0 0 auto;
  }

  body.is-nav-open .line-float,
  body.is-nav-open .back-top {
    opacity: 0;
    pointer-events: none;
  }

  .brand__text small {
    max-width: 46vw;
  }

  .pain-layout,
  .design-layout {
    grid-template-columns: 1fr;
    padding: 0;
    gap: 0;
  }

  .pain-quote {
    font-size: clamp(1.18rem, 4.8vw, 1.42rem);
  }

  .design {
    overflow-x: clip;
  }

  .design-visual {
    display: block;
    order: 2;
    width: min(100%, 320px);
    max-width: 320px;
    margin: 0 auto;
    padding: 4px 20px 0;
    left: 0;
    justify-self: center;
    align-self: center;
    box-sizing: border-box;
  }

  .design-visual__img.img-ph img,
  .design-visual__img img {
    object-position: center;
  }

  .design-copy {
    justify-self: stretch;
    max-width: none;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 16px 20px 12px;
    box-sizing: border-box;
    text-align: center;
    background: #f7fafb;
  }

  .design-copy .section-sub.left,
  .design-copy__title,
  .design-copy__lead,
  .design-copy__em {
    margin-inline: auto;
    justify-content: center;
    text-align: center;
    max-width: 100%;
  }

  .design-copy__title {
    font-size: clamp(1.35rem, 6vw, 1.7rem);
    letter-spacing: 0.06em;
  }

  .design-copy__lead {
    white-space: normal;
    font-size: clamp(1.18rem, 5.2vw, 1.42rem);
    line-height: 1.55;
    letter-spacing: 0.01em;
    margin-bottom: 22px;
  }

  .design-copy__br {
    display: block;
  }

  .design-copy__icon-img,
  .design-copy__sun {
    width: 34px;
    height: 34px;
    top: -8px;
    left: -2px;
  }

  .design-copy .btn-yellow,
  .design-copy__cta {
    margin-inline: auto;
    min-width: 0;
    min-height: 44px;
    width: min(100%, 220px);
    padding: 0 22px;
    font-size: 1rem;
    box-sizing: border-box;
  }

  .design-copy .check-list {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: center;
    justify-items: start;
    gap: 12px;
    margin: 0 auto 22px;
    width: max-content;
    max-width: 100%;
  }

  .design-copy .check-list li {
    white-space: normal;
    font-size: 1rem;
    letter-spacing: 0.02em;
    padding-left: 34px;
    text-align: left;
  }

  .design-copy .check-list li:hover {
    transform: none;
  }

  .design-copy__note,
  .design-copy__quote {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-inline: 4px;
    overflow-wrap: anywhere;
    word-break: keep-all;
  }

  .design-copy__note {
    font-size: 0.95rem;
    line-height: 1.7;
    margin-bottom: 18px;
  }

  .design-copy__quote {
    font-size: 0.98rem;
    line-height: 1.65;
    margin-bottom: 22px;
  }

  .design-copy__q {
    font-size: 1.2em;
  }

  .contact-layout,
  .price-grid,
  .module-grid {
    grid-template-columns: 1fr;
  }

  .dm-slide.is-prev,
  .dm-slide.is-next {
    opacity: 0;
  }

  .dm-nav.prev {
    left: -4px;
  }

  .dm-nav.next {
    right: -4px;
  }

  .addon-grid {
    grid-template-columns: repeat(2, max-content);
    justify-content: space-evenly;
    justify-items: center;
    column-gap: 0;
    row-gap: 28px;
  }

  .merchants-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px 20px;
  }

  
  .hero-slide::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.28);
    pointer-events: none;
  }

  .hero:not(.hero--features) .hero-slides,
  .hero--features .hero-slides {
    aspect-ratio: auto;
    height: clamp(300px, 78vw, 420px);
  }

  .hero-slide__bg {
    min-height: 0;
    height: 100%;
  }

  .hero-slide__bg.img-ph img,
  .hero-slide__bg img {
    min-height: 0;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center;
  }

  .hero-slide__content,
  .hero--features .hero-slide__content,
  .hero:not(.hero--features) .hero-slide__content {
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: clamp(36px, 10vw, 56px) 16px clamp(48px, 12vw, 72px);
    box-sizing: border-box;
  }

  .hero-slide__stack,
  .hero--features .hero-slide__stack,
  .hero:not(.hero--features) .hero-slide__stack {
    width: 100%;
    max-width: 100%;
    align-items: center;
    text-align: center;
    margin-inline: auto;
  }

  .hero-eyebrow,
  .hero--features .hero-eyebrow {
    margin: 0 0 8px;
    font-size: clamp(0.9rem, 3.4vw, 1.05rem);
    letter-spacing: 0.1em;
  }

  .hero-title,
  .hero--features .hero-title {
    margin: 0 0 16px;
    font-size: clamp(1.35rem, 5.4vw, 1.85rem);
    line-height: 1.28;
  }

  .hero-lead {
    margin: -4px 0 16px;
    font-size: clamp(0.92rem, 3.2vw, 1.08rem);
  }

  .hero--food .hero-slide__stack,
  .hero:not(.hero--features) .hero-slide__stack {
    align-items: flex-start;
    text-align: left;
    margin-inline: 0;
  }

  .hero:not(.hero--features) .hero-slide__content {
    align-items: flex-start;
    text-align: left;
  }

  .hero--food .hero-eyebrow {
    margin: 0 0 4px 0.45em;
    font-size: clamp(0.82rem, 2.8vw, 0.96rem);
    font-weight: 400;
  }

  .hero--food .hero-title {
    margin-bottom: 6px;
    font-size: clamp(1.5rem, 6vw, 2.05rem);
  }

  .hero--food .hero-lead {
    margin-top: 0;
    font-size: clamp(1.08rem, 3.8vw, 1.28rem);
  }

  .hero--food .hero-slide__content .btn,
  .hero:not(.hero--features) .hero-slide__content .btn {
    margin-inline: 0;
  }

  .hero-slide__content .btn,
  .hero--features .hero-slide__content .btn {
    margin-inline: auto;
  }

  .hero-dots {
    bottom: 12px;
    z-index: 5;
  }

  .module-features {
    grid-template-columns: repeat(2, max-content);
    justify-content: center;
    gap: 12px 28px;
  }
}

@media (max-width: 900px) {
  .needs {
    padding: 64px 0 0;
  }

  .needs-title {
    font-size: clamp(1.2rem, 4.8vw, 1.55rem);
  }

  .needs-sub {
    margin-bottom: 20px;
    font-size: clamp(1.05rem, 4vw, 1.22rem);
  }

  .needs-layout {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .needs-visual,
  .needs-visual__img,
  .needs-visual__img.img-ph {
    max-width: 320px;
  }

  .needs-visual {
    order: 1;
  }

  .needs-list {
    width: min(100%, 420px);
    padding-bottom: 24px;
  }

  .cycle {
    padding-top: 108px;
    padding-bottom: 64px;
  }

  .cycle-title {
    white-space: normal;
    font-size: clamp(1.18rem, 4.6vw, 1.42rem);
    letter-spacing: 0.02em;
  }

  .cycle-board {
    min-height: 0;
    margin-top: 20px;
  }

  .cycle-frame {
    position: static;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
  }

  .cycle-track,
  .cycle-arrow {
    display: none;
  }

  .cycle-core {
    position: static;
    transform: none;
    order: -2;
  }

  .cycle-core__name {
    margin-bottom: 4px;
    letter-spacing: 0.08em;
  }

  .cycle-core__sub {
    white-space: normal;
    font-size: 1.08rem;
  }

  .cycle-core__sub span {
    width: 24px;
  }

  .cycle-sides {
    display: flex;
    justify-content: center;
    gap: 10px;
    order: -1;
  }

  .cycle-side {
    position: static;
    transform: none;
    writing-mode: horizontal-tb;
    letter-spacing: 0.12em;
    padding: 10px 18px;
    font-size: 1.18rem;
  }

  .cycle-step,
  .cycle-step--1,
  .cycle-step--2,
  .cycle-step--3,
  .cycle-step--4,
  .cycle-step--5,
  .cycle-step--6 {
    position: static;
    transform: none;
    left: auto;
    top: auto;
    width: min(100%, 280px);
  }

  .cycle-step--1 .cycle-step__icon,
  .cycle-step--2 .cycle-step__icon,
  .cycle-step--3 .cycle-step__icon,
  .cycle-step--4 .cycle-step__icon,
  .cycle-step--5 .cycle-step__icon,
  .cycle-step--6 .cycle-step__icon {
    order: 2;
  }

  .cycle-step__copy,
  .cycle-step--4 .cycle-step__copy,
  .cycle-step--5 .cycle-step__copy,
  .cycle-step--6 .cycle-step__copy {
    display: flex;
    flex-direction: column;
    margin: 0 0 10px;
    order: 0;
  }

  .cycle-step__copy h3,
  .cycle-step--1 .cycle-step__copy h3,
  .cycle-step--2 .cycle-step__copy h3,
  .cycle-step--3 .cycle-step__copy h3,
  .cycle-step--4 .cycle-step__copy h3,
  .cycle-step--5 .cycle-step__copy h3,
  .cycle-step--6 .cycle-step__copy h3 {
    order: -1;
    margin: 0 0 1px;
  }

  #cycle .cycle-frame {
    gap: 12px;
  }

  #cycle .cycle-step:not(.cycle-step--6)::after {
    content: "";
    order: 3;
    display: block;
    width: 22px;
    height: 30px;
    margin: 6px 0 2px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 32' fill='none'%3E%3Cpath d='M12 0v17' stroke='%238fd0d4' stroke-width='2' stroke-linecap='round' stroke-dasharray='2.2 3'/%3E%3Cpath d='M5 16.5L12 26l7-9.5' stroke='%2300a7af' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 22px 30px no-repeat;
  }

  .beauty-cycle .cycle-frame,
  .fitness-cycle .cycle-frame,
  .ly-cycle .cycle-frame {
    gap: 12px;
  }

  .beauty-cycle .cycle-step:not(.cycle-step--6)::after,
  .fitness-cycle .cycle-step:not(.cycle-step--6)::after,
  .ly-cycle .cycle-step:not(.cycle-step--6)::after {
    content: "";
    order: 3;
    display: block;
    width: 22px;
    height: 30px;
    margin: 6px 0 2px;
  }

  .beauty-cycle .cycle-step:not(.cycle-step--6)::after {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 32' fill='none'%3E%3Cpath d='M12 0v17' stroke='%23f3c4c0' stroke-width='2' stroke-linecap='round' stroke-dasharray='2.2 3'/%3E%3Cpath d='M5 16.5L12 26l7-9.5' stroke='%23ed8282' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 22px 30px no-repeat;
  }

  .fitness-cycle .cycle-step:not(.cycle-step--6)::after {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 32' fill='none'%3E%3Cpath d='M12 0v17' stroke='%23f5c890' stroke-width='2' stroke-linecap='round' stroke-dasharray='2.2 3'/%3E%3Cpath d='M5 16.5L12 26l7-9.5' stroke='%23f39800' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 22px 30px no-repeat;
  }

  .ly-cycle .cycle-step:not(.cycle-step--6)::after {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 32' fill='none'%3E%3Cpath d='M12 0v17' stroke='%238fd0d4' stroke-width='2' stroke-linecap='round' stroke-dasharray='2.2 3'/%3E%3Cpath d='M5 16.5L12 26l7-9.5' stroke='%2300a7af' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 22px 30px no-repeat;
  }
}

@media (max-width: 640px) {
  .section {
    padding: 64px 0;
  }

  .section.needs,
  .section.design {
    padding-bottom: 0;
  }

  .system {
    padding-bottom: 48px;
  }

  .pain {
    --pain-arrow-h: 104px;
    padding: 56px 0 0;
  }

  .pain-heading {
    font-size: clamp(1.35rem, 6.2vw, 1.75rem);
  }

  .pain-heading__sub {
    margin-bottom: 24px;
    font-size: 1.2rem;
  }

  .pain-quote {
    margin: 36px 0 72px;
    font-size: clamp(1.08rem, 4.6vw, 1.28rem);
  }

  .merchants-title {
    font-size: clamp(1.28rem, 5.4vw, 1.7rem);
  }

  .pain-full {
    width: min(100% - 32px, var(--container));
  }

  .cycle {
    padding-top: 88px;
    padding-bottom: 48px;
  }

  .cycle-title {
    font-size: clamp(1.08rem, 4.4vw, 1.28rem);
    letter-spacing: 0.02em;
  }

  .hero-slide::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.28);
    pointer-events: none;
  }

  .hero:not(.hero--features) .hero-slides,
  .hero--features .hero-slides {
    aspect-ratio: auto;
    height: clamp(280px, 88vw, 380px);
  }

  .hero-slide__bg {
    min-height: 0;
    height: 100%;
  }

  .hero-slide__bg.img-ph img,
  .hero-slide__bg img {
    min-height: 0;
    height: 100% !important;
    object-fit: cover !important;
  }

  .hero-slide__content,
  .hero--features .hero-slide__content,
  .hero:not(.hero--features) .hero-slide__content {
    text-align: center;
    align-items: center;
    justify-content: center;
    padding: 40px 14px 64px;
    box-sizing: border-box;
  }

  .hero-eyebrow,
  .hero--features .hero-eyebrow {
    margin: 0 0 8px;
    font-size: clamp(0.88rem, 3.6vw, 1rem);
  }

  .hero-title,
  .hero--features .hero-title {
    margin: 0 0 14px;
    font-size: clamp(1.28rem, 5.8vw, 1.7rem);
  }

  .hero--food .hero-title {
    margin-bottom: 6px;
    font-size: clamp(1.45rem, 6.2vw, 1.95rem);
  }

  .hero--features .hero-slide__stack {
    width: 100%;
    max-width: 100%;
    align-items: center;
    text-align: center;
  }

  .hero--food .hero-slide__stack,
  .hero:not(.hero--features) .hero-slide__stack {
    width: 100%;
    max-width: 100%;
    align-items: flex-start;
    text-align: left;
  }

  .hero:not(.hero--features) .hero-slide__content {
    align-items: flex-start;
    text-align: left;
  }

  .hero--features .hero-slide__content .btn,
  .hero-slide__content .btn {
    margin-inline: auto;
  }

  .hero--food .hero-slide__content .btn,
  .hero:not(.hero--features) .hero-slide__content .btn {
    margin-inline: 0;
  }

  .hero-dots {
    bottom: 10px;
    z-index: 5;
  }

  .bubble:nth-child(2),
  .bubble:nth-child(3) {
    margin-left: 0;
  }

  .value-grid {
    grid-template-columns: repeat(2, minmax(0, 140px));
    justify-content: center;
    justify-items: center;
    gap: 24px 32px;
    padding-inline: 28px;
    margin-inline: auto;
  }

  .feature-cats,
  .merchants-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .partners-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .addon-grid {
    grid-template-columns: repeat(2, max-content);
    justify-content: space-evenly;
    justify-items: center;
    column-gap: 0;
    row-gap: 28px;
    padding-inline: 8px;
  }

  .addon-item__icon {
    width: 100px;
    height: 100px;
  }

  .addon-item h3 {
    font-size: 1.2rem;
    letter-spacing: 0.1em;
  }

  .footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    text-align: center;
    justify-items: center;
    gap: 40px;
  }

  .site-footer {
    padding-top: 48px;
  }

  .footer-brand,
  .footer-insights,
  .footer-navs,
  .footer-col {
    justify-self: center;
    max-width: none;
    text-align: center;
  }

  .footer-brand {
    margin-bottom: 8px;
  }

  .footer-navs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: center;
    justify-items: center;
    margin-left: 0;
    margin-top: 8px;
    padding-right: 0;
    gap: 28px 40px;
    width: 100%;
    max-width: 360px;
  }

  .footer-brand__logo {
    margin-inline: auto;
    margin-bottom: 0;
  }

  .footer-col__title {
    margin-inline: auto;
  }

  .social-row {
    justify-content: center;
  }

  .footer-insights__meta {
    white-space: normal;
  }

  .contact-form-wrap {
    padding: 26px 18px;
  }

  .contact-line {
    margin-left: 24px;
  }

  .price-card {
    padding: 28px 20px;
  }
}

@media (max-width: 420px) {
  .value-grid {
    grid-template-columns: repeat(2, minmax(0, 130px));
    gap: 20px 28px;
    padding-inline: 24px;
  }

  .feature-cats {
    grid-template-columns: 1fr;
  }

  .merchants-grid,
  .addon-grid {
    grid-template-columns: 1fr 1fr;
  }

  .partners-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px 12px;
  }

  .brand__text small {
    display: none;
  }
}

@media (max-width: 900px) {
  .articles-page .container {
    width: min(100% - 16px, var(--container));
  }

  .articles-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 12px;
  }

  .article-card__title {
    display: block;
    -webkit-line-clamp: unset;
    overflow: visible;
  }
}

@media (max-width: 560px) {
  .articles-hero {
    height: clamp(220px, 52vw, 300px);
  }

  .articles-hero--detail {
    height: clamp(140px, 38vw, 188px);
  }

  .articles-hero__title {
    letter-spacing: 0.12em;
    text-indent: 0.12em;
  }

  .articles-hero__sub {
    letter-spacing: 0.04em;
  }

  .articles-hero__veil {
    background:
      linear-gradient(
        180deg,
        rgba(18, 36, 42, 0.55) 0%,
        rgba(18, 36, 42, 0.62) 100%
      );
  }

  .articles-page {
    padding-top: 28px;
    padding-bottom: 56px;
  }
}

@media (max-width: 720px) {
  .courses-articles-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .course-cat-pills {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .course-cat-pill {
    flex: none;
    width: 100%;
    white-space: normal;
    min-height: 44px;
    font-size: 0.92rem;
  }
}



.feat-heading {
  margin: 0 0 clamp(36px, 5vw, 56px);
  text-align: center;
  color: #0094a4;
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.45;
}

.feat-booking {
  background: #fff;
  padding-top: clamp(56px, 7vw, 88px);
  padding-bottom: clamp(48px, 6vw, 80px);
}

.feat-booking__stage {
  position: relative;
  display: grid;
  grid-template-columns: minmax(160px, 220px) minmax(180px, 280px) minmax(160px, 220px);
  grid-template-rows: auto auto;
  column-gap: clamp(48px, 8vw, 110px);
  row-gap: clamp(36px, 5vw, 56px);
  align-items: center;
  justify-items: center;
  justify-content: center;
  max-width: 1100px;
  margin-inline: auto;
  min-height: 420px;
  padding-inline: clamp(8px, 2vw, 24px);
}

.feat-booking__phone {
  grid-column: 2;
  grid-row: 1 / span 2;
  width: min(100%, 280px);
}

.feat-booking__phone-img {
  width: 100%;
  min-height: 420px;
  border: 0;
  border-radius: 28px;
  background: transparent;
  aspect-ratio: 9 / 19;
}

.feat-booking__phone-img img {
  object-fit: contain;
}

.feat-booking__phone-img.is-empty {
  background: linear-gradient(180deg, #e8f5f6, #fff);
  border: 1px dashed rgba(0, 167, 175, 0.3);
}

.feat-booking__phone-img.is-empty::before {
  content: none;
}

.feat-booking__point {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  text-align: center;
  width: 100%;
  max-width: 200px;
  min-height: 148px;
  padding: 18px 16px;
  border-radius: 18px;
  background: #f7f8f9;
  box-sizing: border-box;
}

.feat-booking__point p {
  margin: 0;
  color: #1f2428;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.55;
  white-space: normal;
}

.feat-booking__point--tl {
  grid-column: 1;
  grid-row: 1;
  justify-self: stretch;
}

.feat-booking__point--bl {
  grid-column: 1;
  grid-row: 2;
  justify-self: stretch;
}

.feat-booking__point--tr {
  grid-column: 3;
  grid-row: 1;
  justify-self: stretch;
}

.feat-booking__point--br {
  grid-column: 3;
  grid-row: 2;
  justify-self: stretch;
}

.feat-booking__icon {
  width: 72px;
  height: 72px;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.feat-booking__icon.img-ph {
  border: 0;
  background: transparent;
}

.feat-booking__icon img {
  object-fit: contain;
}

.feat-booking__point--bl .feat-booking__icon img,
.feat-booking__point--br .feat-booking__icon img {
  transform: translateX(5px);
}

.feat-booking__icon.is-empty {
  background: #e8f5f6;
  border-radius: 18px;
  border: 1px dashed rgba(0, 167, 175, 0.3);
}

.feat-booking__icon.is-empty::before {
  content: none;
}

.feat-detail {
  background: #fff;
  padding-top: clamp(24px, 4vw, 40px);
  padding-bottom: clamp(56px, 7vw, 96px);
}

.feat-rows {
  display: flex;
  flex-direction: column;
  gap: clamp(48px, 7vw, 88px);
}

.feat-row {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
}

.feat-row.is-flip {
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.feat-row.is-flip .feat-row__media {
  order: 2;
}

.feat-row.is-flip .feat-row__copy {
  order: 1;
}

.feat-row__img {
  width: 100%;
  min-height: clamp(220px, 32vw, 360px);
  border: 0;
  border-radius: 16px;
  background: transparent;
  aspect-ratio: 16 / 10;
}

.feat-row__img img {
  object-fit: contain;
}

.feat-row__img.is-empty {
  background: linear-gradient(135deg, #eef7f8, #fff);
  border: 1px dashed rgba(0, 167, 175, 0.28);
}

.feat-row__img.is-empty::before {
  content: none;
}

.feat-row__copy h3,
.feat-row__heading {
  margin: 0 0 16px;
  padding-left: 14px;
  border-left: 5px solid #2b2f33;
  color: #1f2428;
  display: flex;
  flex-direction: column;
  gap: 4px;
  line-height: 1.35;
}

.feat-row__title {
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  font-weight: 500;
  letter-spacing: 0.04em;
}

.feat-row__subtitle {
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  font-weight: 800;
  letter-spacing: 0.04em;
}

.feat-row__copy p {
  margin: 0 0 18px;
  color: #5a636a;
  font-size: 1rem;
  line-height: 1.85;
  letter-spacing: 0.02em;
}

.feat-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #0094a4;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  transition: color 0.2s ease, transform 0.25s var(--ease);
}

.feat-link::before {
  content: "";
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border: 2px solid currentColor;
  border-radius: 50%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a7af' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 12px no-repeat;
}

.feat-link:hover {
  color: #0094a4;
  transform: translateX(2px);
}

.feat-store {
  position: relative;
  width: 100%;
  min-height: clamp(320px, 48vw, 560px);
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  background: #2a3538;
}

.feat-store__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  z-index: 0;
}

.feat-store__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.feat-store__bg.is-empty {
  background: linear-gradient(120deg, #3a5558, #1f2e32);
}

.feat-store__bg.is-empty::before {
  content: none;
}

.feat-store__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      90deg,
      rgba(10, 18, 22, 0.55) 0%,
      rgba(10, 18, 22, 0.18) 42%,
      rgba(10, 18, 22, 0.05) 62%,
      transparent 78%
    ),
    linear-gradient(
      0deg,
      rgba(10, 18, 22, 0.5) 0%,
      rgba(10, 18, 22, 0.12) 42%,
      transparent 70%
    );
}

.feat-store__kiosk-wrap {
  position: absolute;
  right: clamp(16px, 6vw, 72px);
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: min(34vw, 280px);
  pointer-events: none;
}

.feat-store__kiosk {
  width: 100%;
  min-height: clamp(260px, 48vw, 460px);
  border: 0;
  border-radius: 10px;
  background: transparent;
  aspect-ratio: 9 / 16;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
}

.feat-store__kiosk img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.feat-store__kiosk.is-empty {
  display: none;
}

.feat-store__content {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: none;
  margin: 0;
  padding-block: clamp(36px, 6vw, 64px);
  padding-left: clamp(56px, 18vw, 260px);
  padding-right: 16px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}

.feat-store__copy {
  max-width: none;
  width: max-content;
  color: #fff;
  text-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
}

.feat-store__title,
.feat-store__subtitle {
  margin: 0;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.45;
  white-space: nowrap;
}

.feat-store__title {
  font-size: clamp(1.35rem, 3vw, 1.95rem);
}

.feat-store__subtitle {
  margin-top: 4px;
  font-size: clamp(1.2rem, 2.6vw, 1.75rem);
}

.feat-store__line {
  display: block;
  width: 72px;
  height: 4px;
  margin-top: 16px;
  background: #fff;
  border-radius: 999px;
}

.feat-queue {
  background: #fff;
  padding-top: clamp(56px, 7vw, 96px);
  padding-bottom: clamp(56px, 7vw, 96px);
}

.feat-queue__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
}

.feat-queue__img {
  width: 100%;
  min-height: clamp(240px, 36vw, 420px);
  border: 0;
  border-radius: 16px;
  background: transparent;
  aspect-ratio: 16 / 11;
}

.feat-queue__img img {
  object-fit: contain;
}

.feat-queue__img.is-empty {
  background: linear-gradient(135deg, #eef7f8, #fff);
  border: 1px dashed rgba(0, 167, 175, 0.28);
}

.feat-queue__img.is-empty::before {
  content: none;
}

.feat-queue__copy h2 {
  margin: 0 0 18px;
  color: #1f2428;
  font-size: clamp(1.35rem, 2.5vw, 1.8rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.feat-queue__copy p {
  margin: 0 0 22px;
  color: #5a636a;
  font-size: 1rem;
  line-height: 1.85;
}

.feat-queue__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.feat-queue__list li {
  position: relative;
  padding-left: 1.5em;
  color: #0094a4;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.feat-queue__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 0.55em;
  height: 0.55em;
  border-radius: 50%;
  background: var(--teal);
}

@media (max-width: 900px) {
  .feat-booking__stage {
    grid-template-columns: repeat(2, minmax(0, 158px));
    grid-template-rows: auto auto auto;
    column-gap: 22px;
    row-gap: 16px;
    min-height: 0;
    justify-content: center;
    padding-inline: 12px;
  }

  .feat-booking__phone {
    grid-column: 1 / -1;
    grid-row: 1;
    width: min(220px, 56vw);
  }

  .feat-booking__phone-img {
    min-height: 320px;
  }

  .feat-booking__point {
    max-width: none;
    min-height: 132px;
    width: 100%;
    padding: 14px 10px;
  }

  .feat-booking__point--tl,
  .feat-booking__point--tr,
  .feat-booking__point--bl,
  .feat-booking__point--br {
    justify-self: stretch;
  }

  .feat-booking__point--tl {
    grid-column: 1;
    grid-row: 2;
  }

  .feat-booking__point--tr {
    grid-column: 2;
    grid-row: 2;
  }

  .feat-booking__point--bl {
    grid-column: 1;
    grid-row: 3;
  }

  .feat-booking__point--br {
    grid-column: 2;
    grid-row: 3;
  }

  .feat-row,
  .feat-row.is-flip {
    grid-template-columns: 1fr;
  }

  .feat-row.is-flip .feat-row__media,
  .feat-row.is-flip .feat-row__copy {
    order: initial;
  }

  .feat-queue__layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .feat-booking__stage {
    grid-template-columns: repeat(2, minmax(0, 148px));
    column-gap: 18px;
    row-gap: 14px;
  }

  .feat-booking__point {
    min-height: 124px;
    padding: 12px 8px;
  }

  .feat-booking__point p {
    font-size: 0.96rem;
  }

  .feat-booking__icon {
    width: 58px;
    height: 58px;
  }

  .feat-store__content {
    padding-left: clamp(36px, 12vw, 96px);
  }

  .feat-store__kiosk-wrap {
    right: 12px;
    width: min(42vw, 180px);
  }

  .feat-store__copy {
    max-width: none;
  }

  .feat-store__line {
    width: 56px;
    margin-top: 12px;
  }
}



.nc-heading {
  margin: 0 0 clamp(36px, 5vw, 52px);
  text-align: center;
  color: #0094a4;
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.45;
}

.nc-heading--on-dark {
  color: #0094a4;
}

.nc-heading--dark {
  color: #1f2428;
  text-align: left;
  margin-bottom: 28px;
}

.nc-heading--left {
  text-align: left;
}

.nc-needs {
  background: #fff;
  padding: clamp(56px, 8vw, 96px) 0;
}

.nc-needs__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(12px, 2vw, 20px);
  max-width: 920px;
  margin-inline: auto;
}

.nc-needs__item {
  display: flex;
  align-items: center;
  justify-content: center;
}

.nc-needs__icon {
  width: 100%;
  aspect-ratio: 1 / 1;
  min-height: 0;
  border: 3px solid var(--teal);
  border-radius: 8px;
  background: transparent;
  padding: 14%;
}

.nc-needs__icon.img-ph {
  border: 3px solid var(--teal);
  background: transparent;
}

.nc-needs__icon img {
  object-fit: contain;
}

.nc-needs__icon.is-empty {
  background: rgba(0, 167, 175, 0.08);
}

.nc-needs__icon.is-empty::before {
  content: none;
}

.nc-needs__icon .img-ph__label {
  font-size: 0.62rem;
}

.nc-problem {
  background: #fff;
  padding: clamp(56px, 8vw, 100px) 0;
}

.nc-solution {
  background: #fff;
  padding: clamp(56px, 8vw, 100px) 0;
}

.nc-split {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
}

.nc-split--reverse {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
}

.nc-split__img {
  width: 100%;
  min-height: clamp(240px, 36vw, 420px);
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 4 / 3;
}

.nc-split__img img {
  object-fit: contain;
}

.nc-split__img.is-empty {
  background: linear-gradient(135deg, #e8f3f4, #fff);
  border: 1px dashed rgba(0, 167, 175, 0.3);
  border-radius: 16px;
}

.nc-solution .nc-split__img.is-empty {
  background: linear-gradient(135deg, #e8f3f4, #fff);
  border-color: rgba(0, 167, 175, 0.3);
}

.nc-split__img.is-empty::before {
  content: none;
}

.nc-list {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nc-list li {
  position: relative;
  padding-left: 2.1em;
  font-size: clamp(1.22rem, 2.2vw, 1.42rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.65;
}

.nc-list--bad li {
  color: #1f2428;
  font-weight: 400;
}

.nc-list--bad li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;
  width: 1.25em;
  height: 1.25em;
  border-radius: 50%;
  background: #2b2f33 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E") center / 12px no-repeat;
}

.nc-list--good li {
  color: #0094a4;
  font-weight: 400;
}

.nc-list--good li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;
  width: 1.25em;
  height: 1.25em;
  border: 0;
  border-radius: 50%;
  box-sizing: border-box;
  background-color: #00a7af;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px;
}

.nc-advantage {
  background: #f5f7f8;
  padding: clamp(56px, 8vw, 100px) 0;
}

.nc-advantage__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 36px);
  max-width: 960px;
  margin-inline: auto;
}

.nc-advantage__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  text-align: center;
}

.nc-advantage__icon {
  width: clamp(88px, 12vw, 120px);
  height: clamp(88px, 12vw, 120px);
  min-height: 0;
  border: 3px solid #00a7af;
  border-radius: 50%;
  background: #fff;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nc-advantage__icon.img-ph {
  border: 3px solid #00a7af;
  background: #fff;
}

.nc-advantage__icon img {
  object-fit: contain;
  width: 72%;
  height: 72%;
  margin: auto;
}

.nc-advantage__icon.is-empty {
  background: #fff;
  border: 3px solid #00a7af;
}

.nc-advantage__icon.is-empty::before {
  content: none;
}

.nc-advantage__item p {
  margin: 0;
  color: #0094a4;
  font-size: clamp(0.98rem, 1.5vw, 1.12rem);
  font-weight: 400;
  letter-spacing: 0.04em;
}

@media (max-width: 900px) {
  .nc-needs__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
  }

  .nc-split,
  .nc-split--reverse {
    grid-template-columns: 1fr;
  }

  .nc-heading--dark,
  .nc-heading--left {
    text-align: center;
  }

  .nc-list {
    justify-items: start;
    max-width: 22em;
    margin-inline: auto;
  }

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

@media (max-width: 560px) {
  .nc-needs__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nc-advantage__grid {
    gap: 24px 12px;
  }
}



.st-features {
  background: #fff;
  padding: clamp(56px, 8vw, 100px) 0;
}

.st-heading {
  margin: 0 0 clamp(40px, 6vw, 72px);
  text-align: center;
  color: #0094a4;
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.45;
}

.st-rows {
  display: flex;
  flex-direction: column;
  gap: clamp(48px, 7vw, 88px);
}

.st-row {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
}

.st-row.is-flip {
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.st-row.is-flip .st-row__media {
  order: 2;
}

.st-row.is-flip .st-row__copy {
  order: 1;
}

.st-row__img {
  width: 100%;
  min-height: clamp(220px, 34vw, 400px);
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 16 / 11;
}

.st-row__img img {
  object-fit: contain;
}

.st-row__img.is-empty {
  background: linear-gradient(135deg, #eef7f8, #fff);
  border: 1px dashed rgba(0, 167, 175, 0.3);
  border-radius: 16px;
}

.st-row__img.is-empty::before {
  content: none;
}

.st-row__heading {
  margin: 0 0 16px;
  padding-left: 14px;
  border-left: 5px solid #2b2f33;
  color: #1f2428;
  display: flex;
  flex-direction: column;
  gap: 4px;
  line-height: 1.35;
}

.st-row__title {
  font-size: clamp(1.3rem, 2.4vw, 1.7rem);
  font-weight: 500;
  letter-spacing: 0.04em;
}

.st-row__subtitle {
  font-size: clamp(1.05rem, 1.9vw, 1.3rem);
  font-weight: 800;
  letter-spacing: 0.04em;
}

.st-row__desc {
  margin: 0 0 22px;
  color: #4a5258;
  font-size: clamp(1.02rem, 1.7vw, 1.18rem);
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: 0.03em;
}

.st-bullets {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.st-bullets li {
  position: relative;
  padding-left: 2em;
  color: #0094a4;
  font-size: clamp(1.05rem, 1.7vw, 1.2rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.55;
}

.st-bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.15em;
  width: 1.25em;
  height: 1.25em;
  box-sizing: border-box;
  border-radius: 50%;
  border: 2px solid #00a7af;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a7af' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px;
}

@media (max-width: 900px) {
  .st-row,
  .st-row.is-flip {
    grid-template-columns: 1fr;
  }

  .st-row.is-flip .st-row__media,
  .st-row.is-flip .st-row__copy {
    order: initial;
  }

  .st-row__copy {
    text-align: left;
  }

  .st-row__heading {
    text-align: left;
  }

  .st-bullets {
    justify-items: start;
    max-width: 18em;
    margin-inline: 0;
    text-align: left;
  }
}



.sh-heading {
  margin: 0 0 18px;
  text-align: center;
  color: #0094a4;
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.45;
}

.sh-lead {
  margin: 0 auto 36px;
  max-width: 42em;
  text-align: center;
  color: #4a5258;
  font-size: clamp(1rem, 1.6vw, 1.12rem);
  line-height: 1.8;
  letter-spacing: 0.03em;
}

.sh-flow {
  background: #fff;
  padding: clamp(56px, 8vw, 96px) 0;
}

.sh-flow__media {
  max-width: 920px;
  margin-inline: auto;
}

.sh-flow__img {
  width: 100%;
  min-height: clamp(200px, 36vw, 420px);
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 16 / 9;
}

.sh-flow__img img {
  object-fit: contain;
}

.sh-flow__img.is-empty {
  background: linear-gradient(135deg, #eef7f8, #fff);
  border: 1px dashed rgba(0, 167, 175, 0.3);
  border-radius: 16px;
}

.sh-flow__img.is-empty::before {
  content: none;
}

.sh-industries {
  background: #f5f7f8;
  padding: clamp(56px, 8vw, 96px) 0;
}

.sh-industries__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 24px);
  max-width: 960px;
  margin-inline: auto;
}

.sh-industries__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}

.sh-industries__icon {
  width: 100%;
  max-width: 110px;
  aspect-ratio: 1 / 1;
  min-height: 0;
  border: 3px solid #00a7af;
  border-radius: 10px;
  background: #fff;
  padding: 16%;
}

.sh-industries__icon.img-ph {
  border: 3px solid #00a7af;
  background: #fff;
}

.sh-industries__icon img {
  object-fit: contain;
}

.sh-industries__icon.is-empty {
  background: #fff;
}

.sh-industries__icon.is-empty::before {
  content: none;
}

.sh-industries__item p {
  margin: 0;
  color: #1f2428;
  font-size: clamp(1.08rem, 1.8vw, 1.22rem);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.sh-features {
  background: #fff;
  padding: clamp(56px, 8vw, 100px) 0;
}

.sh-rows {
  display: flex;
  flex-direction: column;
  gap: clamp(56px, 8vw, 100px);
}

.sh-row {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: clamp(28px, 4.5vw, 64px);
  align-items: center;
}

.sh-row.is-flip {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.sh-row.is-flip .sh-row__media {
  order: 2;
}

.sh-row.is-flip .sh-row__copy {
  order: 1;
}

.sh-row__img {
  width: 100%;
  min-height: clamp(220px, 34vw, 400px);
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 16 / 11;
}

.sh-row__img img {
  object-fit: contain;
}

.sh-row__img.is-empty {
  background: linear-gradient(135deg, #eef7f8, #fff);
  border: 1px dashed rgba(0, 167, 175, 0.3);
  border-radius: 16px;
}

.sh-row__img.is-empty::before {
  content: none;
}

.sh-row__copy {
  min-width: 0;
}

.sh-row__heading {
  margin: 0 0 16px;
  padding-left: 14px;
  border-left: 5px solid #2b2f33;
  color: #1f2428;
  display: flex;
  flex-direction: column;
  gap: 4px;
  line-height: 1.35;
}

.sh-row__title {
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  font-weight: 500;
  letter-spacing: 0.04em;
}

.sh-row__subtitle {
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  font-weight: 800;
  letter-spacing: 0.04em;
}

.sh-row__desc {
  margin: 0 0 22px;
  color: #4a5258;
  font-size: clamp(1.02rem, 1.7vw, 1.18rem);
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: 0.03em;
}

.sh-bullets {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sh-bullets li {
  position: relative;
  padding-left: 2em;
  color: #0094a4;
  font-size: clamp(1.05rem, 1.7vw, 1.2rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.55;
}

.sh-bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.15em;
  width: 1.25em;
  height: 1.25em;
  box-sizing: border-box;
  border-radius: 50%;
  border: 2px solid #00a7af;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a7af' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px;
}

@media (max-width: 900px) {
  .sh-industries__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sh-row,
  .sh-row.is-flip {
    grid-template-columns: 1fr;
  }

  .sh-row.is-flip .sh-row__media,
  .sh-row.is-flip .sh-row__copy {
    order: initial;
  }

  .sh-bullets {
    max-width: 18em;
  }
}

@media (max-width: 560px) {
  .sh-industries__grid {
    grid-template-columns: repeat(2, max-content);
    justify-content: center;
    column-gap: 28px;
    row-gap: 28px;
  }

  .sh-industries__icon {
    width: 110px;
    max-width: 110px;
  }
}



.food-slogan {
  background: #fff;
  padding: clamp(72px, 9vw, 120px) 0;
}

.food-slogan__copy {
  text-align: center;
}

.food-slogan__title {
  margin: 0 0 clamp(20px, 2.6vw, 28px);
  color: #333;
  font-size: clamp(1.42rem, 3.35vw, 2.28rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
}

.food-slogan__title span {
  color: #0094a4;
}

.food-slogan__sub {
  margin: 0;
  color: #555;
  font-size: clamp(1.02rem, 2.05vw, 1.42rem);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.04em;
}

.food-slogan__sub + .food-slogan__sub {
  margin-top: 2px;
}

.food-slogan__media {
  max-width: 720px;
  margin-inline: auto;
}

.food-slogan__img {
  width: 100%;
  min-height: clamp(72px, 12vw, 120px);
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 16 / 3;
}

.food-slogan__img img {
  object-fit: contain;
}

.food-slogan__img.is-empty {
  background: linear-gradient(135deg, #eef7f8, #fff);
  border: 1px dashed rgba(0, 167, 175, 0.3);
  border-radius: 12px;
}

.food-slogan__img.is-empty::before {
  content: none;
}


.food-convert {
  position: relative;
  background: #fff;
  overflow: visible;
}

.food-convert__top {
  position: relative;
  min-height: clamp(420px, 52vw, 640px);
  display: flex;
  align-items: flex-end;
  padding: clamp(88px, 12vw, 140px) 0 clamp(64px, 8vw, 96px);
  overflow: visible;
}

.food-convert__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: #1a1f22;
}

.food-convert__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 90% center;
}

.food-convert__bg.is-empty {
  background: linear-gradient(135deg, #2a3538, #1a1f22);
}

.food-convert__bg.is-empty::before {
  content: none;
}

.food-convert__bg::after {
  content: none;
}

.food-convert__pack {
  position: absolute;
  left: 50%;
  bottom: clamp(36px, 5vw, 72px);
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(0, 1fr) min(480px, 42vw);
  column-gap: clamp(20px, 3vw, 40px);
  align-items: end;
  width: min(100% - 32px, var(--container));
  margin-left: calc(min(100% - 32px, var(--container)) / -2);
  box-sizing: border-box;
  pointer-events: none;
}

.food-convert__copy {
  min-width: 0;
  padding-bottom: 8px;
}

.food-convert__title {
  margin: 0;
  max-width: none;
  color: #fff;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.06em;
  text-align: left;
}

.food-convert__line {
  display: block;
  font-size: clamp(1.55rem, 3.2vw, 2.35rem);
  font-style: normal;
  font-weight: 500;
}

.food-convert__line em {
  font-style: normal;
  font-weight: inherit;
  border-bottom: 2px solid #fff;
  padding-bottom: 1px;
}

.food-convert__line--strong {
  position: relative;
  display: inline-block;
  margin-top: 6px;
  padding-bottom: 14px;
  font-size: clamp(1.55rem, 3.2vw, 2.35rem);
  font-weight: 500;
  white-space: nowrap;
}

.food-convert__line--strong::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 3.8em;
  height: 2px;
  background: #fff;
}

.food-convert__bottom {
  position: relative;
  z-index: 1;
  background: #fff;
  min-height: clamp(168px, 22vw, 240px);
  padding: 0;
}

.food-convert__checks {
  display: grid;
  gap: 18px;
  margin: clamp(32px, 4.5vw, 56px) 0 0;
  padding: 0;
  list-style: none;
  width: max-content;
  max-width: 100%;
}

.food-convert__checks li {
  position: relative;
  padding-left: 2.1em;
  color: #0094a4;
  font-size: clamp(1.08rem, 1.8vw, 1.28rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.55;
  white-space: nowrap;
}

.food-convert__checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.18em;
  width: 1.3em;
  height: 1.3em;
  box-sizing: border-box;
  border-radius: 50%;
  border: 2px solid #00a7af;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a7af' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px;
}

.food-convert__phones {
  position: relative;
  right: auto;
  top: auto;
  z-index: 3;
  width: 100%;
  pointer-events: none;
}

.food-convert__phones-img {
  width: 100%;
  min-height: clamp(300px, 44vw, 500px);
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 16 / 14;
}

.food-convert__phones-img--m {
  display: none;
}

.food-convert__phones-img img {
  object-fit: contain;
  object-position: center bottom;
}

.food-convert__phones-img.is-empty {
  background: linear-gradient(135deg, #eef7f8, #fff);
  border: 1px dashed rgba(0, 167, 175, 0.3);
  border-radius: 16px;
}

.food-convert__phones-img.is-empty::before {
  content: none;
}

.food-show {
  position: relative;
  overflow: hidden;
  padding: clamp(56px, 8vw, 100px) 0;
  background: #1a1f22;
}

.food-show__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: #1a1f22;
}

.food-show__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.food-show__bg.is-empty {
  background: linear-gradient(135deg, #2a3538, #1a1f22);
}

.food-show__bg.is-empty::before {
  content: none;
}

.food-show__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.28) 55%, rgba(0, 0, 0, 0.18) 100%);
  pointer-events: none;
}

.food-show--points .food-show__bg::after {
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.28) 55%, rgba(0, 0, 0, 0.18) 100%);
}

.food-show--points {
  position: relative;
  z-index: 1;
  padding-bottom: 0;
  overflow: visible;
}


.food-flow {
  position: relative;
  overflow: visible;
}

.food-flow__badge {
  display: none;
}

@media (min-width: 901px) {
  .food-flow__badge {
    display: block;
    position: absolute;
    left: clamp(28px, 4vw, 72px);
    top: clamp(-56px, -4vw, -8px);
    z-index: 3;
    width: clamp(140px, 16vw, 240px);
    pointer-events: none;
    transform: rotate(10deg);
  }

  .food-flow__badge-img {
    width: 100%;
    height: auto;
    min-height: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    aspect-ratio: auto;
  }

  .food-flow__badge-img img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .food-flow__badge-img.is-empty {
    min-height: 120px;
    background: transparent;
    border: 1px dashed rgba(0, 167, 175, 0.25);
    border-radius: 12px;
  }

  .food-flow__badge-img.is-empty::before {
    content: none;
  }
}

.food-show--points .food-show__inner--points {
  align-items: stretch;
}

.food-show--points .food-show__phones {
  position: relative;
  z-index: 2;
  align-self: end;
  display: flex;
  align-items: flex-end;
}

.food-show--points .food-show__phones-img {
  width: 100%;
}

.food-show--points .food-show__phones-img img {
  object-fit: contain;
  object-position: center bottom;
}

.food-show__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
}

.food-show__inner--points {
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  min-height: clamp(420px, 52vw, 620px);
}

.food-show__copy--right {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  min-height: 100%;
}

.food-show__copy--right .food-show__title {
  text-align: center;
}

.food-show__copy--right .btn {
  margin-inline: auto;
}

.food-show__title {
  margin: 0 0 28px;
  color: #fff;
  font-size: clamp(1.45rem, 2.8vw, 2.1rem);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.04em;
}

.food-show__title--light {
  margin-bottom: 28px;
}

.food-checks {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.food-checks li {
  position: relative;
  padding-left: 2em;
  color: #0094a4;
  font-size: clamp(1.05rem, 1.7vw, 1.2rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.55;
}

.food-checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.15em;
  width: 1.25em;
  height: 1.25em;
  box-sizing: border-box;
  border-radius: 50%;
  border: 2px solid #00a7af;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a7af' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px;
}

.food-show__phones-img {
  width: 100%;
  min-height: clamp(240px, 36vw, 420px);
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 16 / 12;
}

.food-show__phones-img img {
  object-fit: contain;
}

.food-show__phones-img.is-empty {
  background: rgba(255, 255, 255, 0.06);
  border: 1px dashed rgba(0, 167, 175, 0.35);
  border-radius: 16px;
}

.food-show__phones-img.is-empty::before {
  content: none;
}

.food-panel {
  background: #fff;
  padding: clamp(48px, 7vw, 88px) 0;
}

.food-panel--levels {
  padding-bottom: 0;
}

.food-panel--levels .food-panel__img {
  min-height: 0;
  aspect-ratio: auto;
}

.food-panel--levels .food-feature__heading {
  margin-bottom: 8px;
}

.food-panel--invite {
  position: relative;
  z-index: 5;
  overflow: visible;
  padding-top: clamp(72px, 9vw, 120px);
}

.food-panel--invite .food-panel__img {
  position: relative;
  z-index: 1;
}

@media (min-width: 901px) {
  .food-panel--invite .food-panel__img {
    margin-top: clamp(-64px, -6vw, -32px);
  }
}




.food-panel__media {
  position: relative;
  max-width: 1080px;
  margin-inline: auto;
  overflow: visible;
}

.food-panel__img {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: clamp(220px, 40vw, 480px);
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 16 / 9;
}

.food-panel__img img {
  object-fit: contain;
}

.food-panel__img.is-empty {
  background: linear-gradient(135deg, #eef7f8, #fff);
  border: 1px dashed rgba(0, 167, 175, 0.3);
  border-radius: 16px;
}

.food-panel__img.is-empty::before {
  content: none;
}

.food-reward {
  background: #fff;
  padding: clamp(48px, 6vw, 80px) 0 clamp(56px, 8vw, 96px);
}

.food-reward__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
}

.food-reward__heading {
  margin: 0 0 18px -14px;
  padding-left: 16px;
  border-left: 6px solid #111;
  color: #111;
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1.25;
}

.food-reward__title {
  font-size: clamp(2rem, 3.8vw, 2.75rem);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.food-reward__subtitle {
  font-size: clamp(1.42rem, 2.6vw, 2rem);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.food-reward__accent {
  margin: 0 0 16px;
  color: #111;
  font-size: clamp(1.12rem, 2vw, 1.42rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.45;
}

.food-reward__accent em {
  font-style: normal;
  color: #0094a4;
}

.food-reward__leads {
  margin: 0 0 22px;
}

.food-reward__leads p {
  margin: 0;
  color: #111;
  font-size: clamp(0.95rem, 1.5vw, 1.08rem);
  font-weight: 400;
  line-height: 1.7;
}

.food-reward__checks {
  display: grid;
  gap: 12px;
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
}

.food-reward__checks li {
  position: relative;
  padding-left: 2.1em;
  color: #0094a4;
  font-size: clamp(0.98rem, 1.55vw, 1.12rem);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.02em;
}

.food-reward__checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.18em;
  width: 1.3em;
  height: 1.3em;
  box-sizing: border-box;
  border-radius: 50%;
  border: 2px solid #00a7af;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a7af' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px;
}

.food-reward__note {
  margin: 0;
  color: #f5c400;
  font-size: clamp(0.95rem, 1.5vw, 1.08rem);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.02em;
}

.food-reward__media {
  position: relative;
}

.food-reward__phones.img-ph {
  width: 100%;
  min-height: clamp(280px, 36vw, 440px);
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 4 / 5;
}

.food-reward__phones img {
  object-fit: contain;
}

.food-reward__phones.is-empty {
  background: linear-gradient(135deg, #eef7f8, #fff);
  border: 1px dashed rgba(0, 167, 175, 0.3);
  border-radius: 16px;
}

.food-reward__phones.is-empty::before {
  content: none;
}

.food-reward__arrow {
  position: absolute;
  left: -52%;
  bottom: 6%;
  z-index: 4;
  width: clamp(140px, 18vw, 230px);
  pointer-events: none;
}

.food-reward__arrow-img.img-ph {
  width: 100%;
  min-height: 88px;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 16 / 10;
}

.food-reward__arrow-img img {
  object-fit: contain;
}

.food-reward__arrow-img.is-empty {
  border: 1px dashed rgba(212, 160, 68, 0.45);
  border-radius: 10px;
  background: rgba(212, 160, 68, 0.06);
}

.food-reward__arrow-img.is-empty::before,
.food-reward__arrow-img .img-ph__label {
  display: none;
}

@media (max-width: 900px) {
  .food-reward__inner {
    grid-template-columns: 1fr;
  }

  .food-reward__copy {
    padding-left: 38px;
    padding-right: 8px;
    text-align: left;
  }

  .food-reward__heading {
    margin-left: 0;
  }

  .food-reward__media {
    max-width: 420px;
    margin-inline: auto;
  }

  .food-reward__arrow {
    display: none;
  }

  .food-viral__inner {
    grid-template-columns: 1fr;
    justify-items: stretch;
  }

  .food-viral__media {
    order: 2;
    max-width: 420px;
    margin-inline: auto;
  }

  .food-viral__copy {
    order: 1;
    padding-left: 38px;
    padding-right: 8px;
    text-align: left;
  }

  .food-remind__inner {
    grid-template-columns: 1fr;
  }

  .food-remind__copy {
    padding-left: 38px;
    padding-right: 8px;
    text-align: left;
  }

  .food-remind__media {
    max-width: 320px;
    margin-inline: auto;
  }

  .food-landing__inner {
    grid-template-columns: 1fr;
  }

  .food-landing__copy {
    order: 1;
    padding-left: 38px;
    padding-right: 8px;
    text-align: left;
  }

  .food-landing__media {
    order: 2;
    max-width: 280px;
    margin-inline: auto;
  }

  .food-landing__device {
    margin-top: 0;
  }

  .food-landing__icons {
    justify-content: flex-start;
  }

  .food-landing__detail {
    margin-left: 0;
    max-width: 100%;
  }

  .food-landing__card.img-ph {
    width: 118px;
    flex-basis: 118px;
  }

  .food-landing__grid.img-ph {
    width: 248px;
    flex-basis: 248px;
  }

  .food-tiers__visual {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 28px;
  }

  .food-tiers__mid {
    order: 3;
  }

  .food-tiers__chart {
    order: 2;
    text-align: center;
  }

  .food-tags__inner {
    grid-template-columns: 1fr;
  }

  .food-tags__copy {
    padding-left: 38px;
    padding-right: 8px;
  }

  .food-tags__media {
    max-width: 300px;
    margin-inline: auto;
  }

  .food-analytics__inner {
    grid-template-columns: 1fr;
  }

  .food-analytics__copy {
    padding-left: 38px;
    padding-right: 8px;
  }

  .food-analytics__cards {
    grid-template-columns: 1fr;
    max-width: 280px;
  }

  .food-report__body {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .food-report__list {
    justify-self: center;
  }
}

.food-viral {
  background: #fff;
  padding: clamp(12px, 2.5vw, 28px) 0 clamp(56px, 8vw, 96px);
}

.food-viral__inner {
  display: grid;
  grid-template-columns: minmax(240px, 0.92fr) minmax(0, 1.18fr);
  gap: clamp(36px, 6vw, 88px);
  align-items: center;
}

.food-viral__media {
  min-width: 0;
}

.food-viral__tree.img-ph {
  width: 100%;
  min-height: clamp(220px, 32vw, 360px);
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 16 / 11;
}

.food-viral__tree img {
  object-fit: contain;
  object-position: center;
}

.food-viral__tree.is-empty {
  background: linear-gradient(135deg, #eef7f8, #fff);
  border: 1px dashed rgba(0, 167, 175, 0.3);
  border-radius: 16px;
}

.food-viral__tree.is-empty::before {
  content: none;
}

.food-viral__copy {
  min-width: 0;
}

.food-viral__heading {
  margin: 0 0 38px;
  padding-left: 16px;
  border-left: 6px solid #111;
  color: #111;
  display: flex;
  flex-direction: column;
  gap: 4px;
  line-height: 1.28;
}

.food-viral__title {
  font-size: clamp(2rem, 3.8vw, 2.75rem);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.food-viral__subtitle {
  font-size: clamp(1.42rem, 2.6vw, 2rem);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.food-viral__leads {
  margin: 0 0 44px;
}

.food-viral__leads p {
  margin: 0;
  color: #333;
  font-size: clamp(1.18rem, 1.95vw, 1.36rem);
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.02em;
}

.food-viral__leads em {
  font-style: normal;
  font-weight: 500;
  color: #0094a4;
}

.food-viral__checks {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.food-viral__checks li {
  position: relative;
  padding-left: 2.15em;
  color: #0094a4;
  font-size: clamp(1.02rem, 1.65vw, 1.15rem);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.02em;
}

.food-viral__checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.18em;
  width: 1.3em;
  height: 1.3em;
  box-sizing: border-box;
  border-radius: 50%;
  border: 2px solid #00a7af;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a7af' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px;
}

.food-remind {
  background: #fff;
  padding: 0 0 clamp(56px, 8vw, 96px);
}

.food-remind__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(240px, 0.8fr);
  gap: clamp(36px, 6vw, 88px);
  align-items: center;
}

.food-remind__copy {
  min-width: 0;
}

.food-remind__heading {
  margin: 0 0 38px;
  padding-left: 16px;
  border-left: 6px solid #111;
  color: #111;
  display: flex;
  flex-direction: column;
  gap: 6px;
  line-height: 1.28;
}

.food-remind__title {
  font-size: clamp(2rem, 3.8vw, 2.75rem);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.food-remind__subtitle {
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  color: #222;
}

.food-remind__leads {
  margin: 0 0 36px;
}

.food-remind__leads p {
  margin: 0;
  color: #111;
  font-size: clamp(1.18rem, 1.95vw, 1.36rem);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.02em;
}

.food-remind__leads .food-remind__lead--strong {
  margin-bottom: 18px;
  font-size: clamp(1.28rem, 2.15vw, 1.5rem);
  font-weight: 500;
}

.food-remind__leads em {
  font-style: normal;
  font-weight: 400;
  color: #0094a4;
}

.food-remind__checks {
  display: grid;
  gap: 14px;
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}

.food-remind__checks li {
  position: relative;
  padding-left: 2.15em;
  color: #0094a4;
  font-size: clamp(1.02rem, 1.65vw, 1.15rem);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.02em;
}

.food-remind__checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.18em;
  width: 1.3em;
  height: 1.3em;
  box-sizing: border-box;
  border-radius: 50%;
  border: 2px solid #00a7af;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a7af' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px;
}

.food-remind__checks strong {
  font-weight: 400;
}

.food-remind__note {
  position: relative;
  isolation: isolate;
  display: inline-block;
  max-width: 100%;
  margin: 0;
  padding: 0.08em 0.55em 0.04em;
  color: #2b2f33;
  background: transparent;
  border-radius: 0;
  font-size: clamp(1.05rem, 1.8vw, 1.28rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.5;
}

.food-remind__note::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.18em;
  height: 1.12em;
  background: #fdeab4;
  border-radius: 999px;
  z-index: -1;
}

.food-remind__media {
  min-width: 0;
}

.food-remind__phone.img-ph {
  width: 100%;
  min-height: clamp(320px, 42vw, 520px);
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 4 / 5;
}

.food-remind__phone img {
  object-fit: contain;
  object-position: center;
}

.food-remind__phone.is-empty {
  background: linear-gradient(135deg, #eef7f8, #fff);
  border: 1px dashed rgba(0, 167, 175, 0.3);
  border-radius: 16px;
}

.food-remind__phone.is-empty::before {
  content: none;
}

.food-landing {
  background: #fff;
  padding: 0;
  overflow: hidden;
}

.food-landing__inner {
  display: grid;
  grid-template-columns: minmax(240px, 0.88fr) minmax(0, 1.22fr);
  gap: clamp(36px, 6vw, 80px);
  align-items: end;
}

.food-landing__media {
  min-width: 0;
  max-width: 360px;
  justify-self: center;
}

.food-landing__device {
  position: relative;
  width: 100%;
  margin-top: -172px;
  line-height: 0;
}

.food-landing__frame.img-ph {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.food-landing__frame img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.food-landing__screen {
  position: absolute;
  z-index: 2;
  top: 10.6%;
  right: 3.5%;
  bottom: 0;
  left: 3.5%;
  overflow: hidden;
}

.food-landing__scroll.img-ph {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  transform: translateY(0);
  transition: transform var(--scroll-s, 9s) linear;
  will-change: transform;
}

.food-landing__scroll img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  object-position: top center;
}

.food-landing__device:hover .food-landing__scroll,
.food-landing__device.is-playing .food-landing__scroll {
  transform: translateY(calc(-1 * var(--travel, 0px)));
}

.food-landing__scroll.is-empty {
  aspect-ratio: 562 / 871;
  background: linear-gradient(135deg, #eef7f8, #fff);
  border: 1px dashed rgba(0, 167, 175, 0.3);
  border-radius: 16px;
}

.food-landing__scroll.is-empty::before,
.food-landing__scroll .img-ph__label,
.food-landing__frame .img-ph__label {
  content: none;
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .food-landing__scroll.img-ph {
    transition: none;
  }
}

.food-landing__copy {
  min-width: 0;
}

.food-landing__heading {
  margin: 0 0 10px;
  padding-left: 16px;
  border-left: 6px solid #111;
  color: #111;
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1.28;
}

.food-landing__title {
  font-size: clamp(2rem, 3.8vw, 2.75rem);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.food-landing__subtitle {
  font-size: clamp(1.42rem, 2.6vw, 2rem);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.food-landing__lead {
  margin: 0 0 18px;
  color: #333;
  font-size: clamp(1.05rem, 1.7vw, 1.2rem);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.02em;
}

.food-landing__icons {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 2vw, 24px);
  max-width: 420px;
  margin: 0 0 20px;
}

.food-landing__icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
}

.food-landing__icon-img.img-ph {
  width: clamp(64px, 7.5vw, 80px);
  height: clamp(64px, 7.5vw, 80px);
  min-height: 0;
  padding: 12px;
  border: 2px solid #00a7af;
  border-radius: 50%;
  background: transparent;
  aspect-ratio: 1;
}

.food-landing__icon-img img {
  object-fit: contain;
}

.food-landing__icon-img.is-empty {
  background: rgba(0, 167, 175, 0.06);
}

.food-landing__icon-img.is-empty::before,
.food-landing__icon-img .img-ph__label {
  display: none;
}

.food-landing__icon p {
  margin: 0;
  color: #111;
  font-size: clamp(0.82rem, 1.2vw, 0.95rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.food-landing__checks {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.food-landing__checks li {
  position: relative;
  padding-left: 2.15em;
  color: #0094a4;
  font-size: clamp(1.02rem, 1.65vw, 1.15rem);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.02em;
}

.food-landing__checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.18em;
  width: 1.3em;
  height: 1.3em;
  box-sizing: border-box;
  border-radius: 50%;
  border: 2px solid #00a7af;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a7af' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px;
}

.food-landing__checks strong {
  font-weight: 400;
}

.food-landing__detail {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  width: max-content;
  max-width: 100%;
  margin-top: 22px;
  margin-left: -48px;
  padding: 0;
  background: none;
}

.food-landing__card.img-ph,
.food-landing__grid.img-ph {
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.food-landing__card.img-ph {
  width: 148px;
  flex: 0 0 148px;
  aspect-ratio: 9 / 16;
  margin-left: 0;
}

.food-landing__grid.img-ph {
  width: 336px;
  flex: 0 0 336px;
  aspect-ratio: 1;
  margin-left: 40px;
  transform: none;
}

.food-landing__card img,
.food-landing__grid img {
  object-fit: contain;
  object-position: center;
}

.food-landing__card.is-empty,
.food-landing__grid.is-empty {
  background: transparent;
  border: 1px dashed rgba(0, 167, 175, 0.28);
}

.food-landing__card.is-empty::before,
.food-landing__grid.is-empty::before {
  content: none;
}

.food-tiers {
  background: #f5f5f5;
  padding: clamp(56px, 8vw, 96px) 0 clamp(8px, 1.5vw, 16px);
}

.food-tiers__head {
  text-align: center;
  margin: 0;
}

.food-tiers__title {
  margin: 0 0 8px;
  color: #111;
  font-size: clamp(2rem, 3.8vw, 2.75rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.25;
}

.food-tiers__subtitle {
  margin: 0 0 8px;
  color: #0094a4;
  font-size: clamp(1.35rem, 2.5vw, 1.85rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.food-tiers__rule {
  display: block;
  width: min(68%, 380px);
  height: 2px;
  margin: 0 auto 8px;
  background: #c4c7cb;
}

.food-tiers__leads p {
  margin: 0;
  color: #555;
  font-size: clamp(0.98rem, 1.55vw, 1.12rem);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.04em;
}

.food-tiers__visual {
  display: grid;
  grid-template-columns: minmax(160px, 0.85fr) minmax(120px, 0.7fr) minmax(200px, 1.15fr);
  gap: clamp(16px, 3vw, 36px);
  align-items: end;
  margin-top: -24px;
}

.food-tiers__phone,
.food-tiers__mid,
.food-tiers__chart {
  min-width: 0;
}

.food-tiers__phone-img.img-ph {
  width: 100%;
  max-width: 280px;
  min-height: clamp(280px, 40vw, 460px);
  margin-inline: auto;
  transform: translateY(-36px);
  margin-bottom: -40px;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 9 / 16;
}

.food-tiers__phone-img img,
.food-tiers__arrow img,
.food-tiers__pyramid img {
  object-fit: contain;
}

.food-tiers__phone-img img {
  object-position: center bottom;
}

.food-tiers__mid {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-bottom: 12%;
}

.food-tiers__arrow.img-ph {
  width: min(100%, 200px);
  min-height: 80px;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 16 / 9;
  transform: translateY(-80px);
}

.food-tiers__chart {
  text-align: left;
}

.food-tiers__chart-title {
  margin: 0 0 14px;
  color: #111;
  font-size: clamp(1.12rem, 1.9vw, 1.35rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.food-tiers__pyramid.img-ph {
  width: 100%;
  min-height: clamp(240px, 32vw, 400px);
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 5 / 4;
}

.food-tiers__phone-img.is-empty,
.food-tiers__arrow.is-empty,
.food-tiers__pyramid.is-empty {
  background: linear-gradient(135deg, #eef7f8, #fff);
  border: 1px dashed rgba(0, 167, 175, 0.3);
  border-radius: 16px;
}

.food-tiers__phone-img.is-empty::before,
.food-tiers__arrow.is-empty::before,
.food-tiers__pyramid.is-empty::before {
  content: none;
}

.food-tags {
  background: #fff;
  padding: clamp(56px, 8vw, 96px) 0 clamp(24px, 3.5vw, 40px);
}

.food-tags__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(240px, 0.8fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
}

.food-tags__copy {
  min-width: 0;
}

.food-tags__heading {
  margin: 0 0 22px;
  padding-left: 16px;
  border-left: 6px solid #111;
  color: #111;
  display: flex;
  flex-direction: column;
  gap: 6px;
  line-height: 1.28;
}

.food-tags__title {
  font-size: clamp(2rem, 3.8vw, 2.75rem);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.food-tags__subtitle {
  font-size: clamp(1.35rem, 2.5vw, 1.85rem);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.food-tags__leads {
  margin: 0 0 28px;
}

.food-tags__leads p {
  margin: 0;
  color: #555;
  font-size: clamp(1.05rem, 1.7vw, 1.2rem);
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.02em;
}

.food-tags__lead-em {
  color: #0094a4 !important;
  font-weight: 500 !important;
}

.food-tags__list {
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.food-tags__list li {
  display: flex;
  align-items: center;
  gap: 14px;
}

.food-tags__icon.img-ph {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  min-height: 0;
  padding: 10px;
  border: 2px solid #7ec8ce;
  border-radius: 10px;
  background: #fff;
  aspect-ratio: 1;
}

.food-tags__icon img {
  object-fit: contain;
}

.food-tags__icon.is-empty {
  background: rgba(0, 167, 175, 0.05);
}

.food-tags__icon.is-empty::before,
.food-tags__icon .img-ph__label {
  display: none;
}

.food-tags__list p {
  margin: 0;
  font-size: clamp(1.2rem, 1.95vw, 1.42rem);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.02em;
}

.food-tags__list strong {
  color: #0094a4;
  font-weight: 400;
}

.food-tags__sep {
  margin: 0 0.4em;
  color: #b0b4b8;
  font-weight: 400;
}

.food-tags__list p > span:last-of-type {
  color: #666;
}

.food-tags__media {
  min-width: 0;
}

.food-tags__phone.img-ph {
  width: 100%;
  max-width: 380px;
  min-height: clamp(320px, 42vw, 520px);
  margin-inline: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 3 / 5;
}

.food-tags__phone img {
  object-fit: contain;
  object-position: center;
}

.food-tags__phone.is-empty {
  background: linear-gradient(135deg, #eef7f8, #fff);
  border: 1px dashed rgba(0, 167, 175, 0.3);
  border-radius: 16px;
}

.food-tags__phone.is-empty::before {
  content: none;
}

.food-analytics {
  background: #fff;
  padding: 0;
  margin-bottom: -28px;
}

.food-analytics__inner {
  display: grid;
  grid-template-columns: minmax(300px, 1.25fr) minmax(0, 0.9fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
}

.food-analytics__media {
  min-width: 0;
}

.food-analytics__dash.img-ph {
  width: 100%;
  min-height: clamp(260px, 38vw, 480px);
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 16 / 11;
}

.food-analytics__dash img {
  object-fit: contain;
  object-position: center;
}

.food-analytics__dash.is-empty {
  background: linear-gradient(135deg, #eef7f8, #fff);
  border: 1px dashed rgba(0, 167, 175, 0.3);
  border-radius: 16px;
}

.food-analytics__dash.is-empty::before {
  content: none;
}

.food-analytics__copy {
  min-width: 0;
}

.food-analytics__heading {
  margin: 0 0 20px;
  padding-left: 16px;
  border-left: 6px solid #111;
  color: #111;
  display: flex;
  flex-direction: column;
  gap: 6px;
  line-height: 1.28;
}

.food-analytics__title {
  font-size: clamp(2rem, 3.8vw, 2.75rem);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.food-analytics__subtitle {
  font-size: clamp(1.28rem, 2.3vw, 1.7rem);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.food-analytics__leads {
  margin: 0 0 28px;
}

.food-analytics__leads p {
  margin: 0;
  color: #555;
  font-size: clamp(1.02rem, 1.65vw, 1.15rem);
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.02em;
}

.food-analytics__leads em {
  font-style: normal;
  font-weight: 400;
  color: #0094a4;
}

.food-analytics__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.food-analytics__card {
  min-width: 0;
  text-align: center;
}

.food-analytics__box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 144px;
  padding: 16px 8px 14px;
  border: 2px solid #00a7af;
  border-radius: 14px;
  background: #fff;
}

.food-analytics__icon.img-ph {
  width: 60px;
  height: 60px;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 1;
}

.food-analytics__icon img {
  object-fit: contain;
}

.food-analytics__icon.is-empty {
  background: rgba(0, 167, 175, 0.06);
  border-radius: 8px;
}

.food-analytics__icon.is-empty::before,
.food-analytics__icon .img-ph__label {
  display: none;
}

.food-analytics__box h3 {
  margin: 0;
  color: #0094a4;
  font-size: clamp(0.88rem, 1.25vw, 1rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.4;
}

.food-analytics__card p {
  margin: 10px 0 0;
  color: #333;
  font-size: clamp(0.82rem, 1.15vw, 0.92rem);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.02em;
}

.food-report {
  background: #fbfaf8;
  padding: clamp(56px, 8vw, 96px) 0 0;
  margin-bottom: -100px;
}

.food-report__head {
  text-align: center;
  margin: 0;
}

.food-report__title {
  margin: 0 0 2px;
  color: #333;
  font-size: clamp(2rem, 3.8vw, 2.75rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.25;
}

.food-report__subtitle {
  margin: 0;
  color: #0094a4;
  font-size: clamp(1.22rem, 2.2vw, 1.55rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.5;
}

.food-report__body {
  display: grid;
  grid-template-columns: minmax(220px, 0.95fr) minmax(280px, 1fr);
  gap: clamp(32px, 6vw, 80px);
  align-items: center;
  width: min(100%, 920px);
  margin: -32px auto 0;
}

.food-report__media {
  min-width: 0;
  align-self: start;
}

.food-report__person.img-ph {
  width: 100%;
  max-width: 640px;
  min-height: clamp(280px, 36vw, 400px);
  margin-inline: auto;
  transform: translateY(-96px) scale(1.22);
  transform-origin: bottom center;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 4 / 5;
}

.food-report__person img {
  object-fit: contain;
  object-position: center bottom;
}

.food-report__person.is-empty {
  background: linear-gradient(135deg, #eef7f8, #fff);
  border: 1px dashed rgba(0, 167, 175, 0.3);
  border-radius: 16px;
}

.food-report__person.is-empty::before {
  content: none;
}

.food-report__list {
  display: grid;
  gap: 32px;
  margin: 0;
  padding: 0;
  list-style: none;
  align-self: center;
  justify-self: start;
}

.food-report__list li {
  display: flex;
  align-items: center;
  gap: 16px;
}

.food-report__icon.img-ph {
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  min-height: 0;
  padding: 14px;
  border: 2px solid #00a7af;
  border-radius: 50%;
  background: #fff;
  aspect-ratio: 1;
}

.food-report__icon img {
  object-fit: contain;
}

.food-report__icon.is-empty {
  background: rgba(0, 167, 175, 0.05);
}

.food-report__icon.is-empty::before,
.food-report__icon .img-ph__label {
  display: none;
}

.food-report__list div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.food-report__list strong {
  color: #0094a4;
  font-size: clamp(1.12rem, 1.8vw, 1.28rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.35;
}

.food-report__list span {
  color: #4a4a4a;
  font-size: clamp(0.95rem, 1.5vw, 1.08rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.food-feature {
  background: #fff;
  padding: clamp(48px, 7vw, 88px) 0;
}

.food-feature--soft {
  background: #f7fafb;
}

.food-feature__heading {
  margin: 0 0 28px;
  padding-left: 14px;
  border-left: 5px solid #2b2f33;
  color: #1f2428;
  display: flex;
  flex-direction: column;
  gap: 4px;
  line-height: 1.35;
}

.food-feature__title {
  font-size: clamp(1.7rem, 3.2vw, 2.4rem);
  font-weight: 500;
  letter-spacing: 0.04em;
}

.food-feature__subtitle {
  font-size: clamp(1.25rem, 2.3vw, 1.7rem);
  font-weight: 800;
  letter-spacing: 0.04em;
}

.food-auto {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  overflow: visible;
}

.food-auto__media {
  position: relative;
  z-index: 1;
  overflow: visible;
}

.food-auto__copy {
  position: relative;
  z-index: 1;
}

.food-auto__arrow {
  display: none;
}

@media (min-width: 901px) {
  .food-auto__arrow {
    display: block;
    position: absolute;
    left: clamp(16%, 24vw, 30%);
    top: 42%;
    z-index: 3;
    width: clamp(100px, 12vw, 170px);
    pointer-events: none;
    transform: translateY(-10%);
  }

  .food-auto__arrow-img {
    width: 100%;
    height: auto;
    min-height: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    aspect-ratio: auto;
  }

  .food-auto__arrow-img img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .food-auto__arrow-img.is-empty {
    min-height: 80px;
    background: transparent;
    border: 1px dashed rgba(0, 167, 175, 0.25);
    border-radius: 12px;
  }

  .food-auto__arrow-img.is-empty::before {
    content: none;
  }
}

.food-auto__phone {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 420px;
  margin-inline: auto;
  min-height: clamp(280px, 48vw, 520px);
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 9 / 16;
}


.food-auto__phone img {
  object-fit: contain;
}

.food-auto__phone.is-empty,
.food-auto__settings-img.is-empty,
.food-onepage__img.is-empty,
.food-onepage__icon-img.is-empty,
.food-boost__icon.is-empty,
.food-manage__icon.is-empty,
.food-manage__devices.is-empty {
  background: linear-gradient(135deg, #eef7f8, #fff);
  border: 1px dashed rgba(0, 167, 175, 0.3);
  border-radius: 16px;
}

.food-auto__phone.is-empty::before,
.food-auto__settings-img.is-empty::before,
.food-onepage__img.is-empty::before,
.food-onepage__icon-img.is-empty::before,
.food-boost__icon.is-empty::before,
.food-manage__icon.is-empty::before,
.food-manage__devices.is-empty::before {
  content: none;
}

.food-auto__list {
  display: grid;
  gap: 18px;
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
}

.food-auto__list li {
  position: relative;
  padding-left: 2em;
}

.food-auto__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;
  width: 1.25em;
  height: 1.25em;
  box-sizing: border-box;
  border-radius: 50%;
  border: 2px solid #00a7af;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a7af' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px;
}

.food-auto__list strong {
  display: block;
  color: #1f2428;
  font-size: clamp(1.55rem, 2.8vw, 1.95rem);
  font-weight: 800;
  letter-spacing: 0.03em;
}

.food-auto__list span {
  color: #0094a4;
  font-size: clamp(1.35rem, 2.3vw, 1.6rem);
  font-weight: 600;
}

.food-auto__settings-img {
  width: 100%;
  max-width: 420px;
  min-height: 120px;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 16 / 7;
}

.food-auto__settings-img img {
  object-fit: contain;
}

.food-auto__tagline {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35em;
  max-width: 420px;
  margin: 18px 0 0;
  color: #0094a4;
  font-size: clamp(1.05rem, 1.7vw, 1.2rem);
  font-weight: 800;
  letter-spacing: 0.04em;
}

.food-auto__tagline-star {
  flex: 0 0 auto;
  font-size: 1.15em;
  line-height: 1;
  color: #0094a4;
}

.food-onepage__intro {
  position: relative;
  z-index: 5;
}

.food-onepage__lead {
  margin: 0 0 28px;
  text-align: center;
  color: #0094a4;
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.food-onepage__icons {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(16px, 2.5vw, 28px);
  max-width: 720px;
  margin: 0 auto 36px;
}

.food-onepage__visual {
  position: relative;
  z-index: 1;
}

@media (min-width: 901px) {
  .food-onepage__intro {
    margin-top: clamp(52px, 6vw, 88px);
    margin-bottom: clamp(-140px, -13vw, -80px);
  }

  .food-onepage__lead {
    max-width: 640px;
    margin-left: 0;
    margin-right: auto;
    text-align: center;
    transform: translateX(-12px);
  }

  .food-onepage__icons {
    gap: 28px;
    max-width: 640px;
    margin-left: 0;
    margin-right: auto;
    margin-bottom: 0;
    transform: translateX(-12px);
  }
}

.food-onepage__icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
}

.food-onepage__icon-img {
  width: 72px;
  height: 72px;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.food-onepage__icon-img img {
  object-fit: contain;
}

.food-onepage__icon p {
  margin: 0;
  color: #0094a4;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.food-onepage__img {
  width: 100%;
  min-height: clamp(240px, 42vw, 520px);
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 16 / 9;
}

.food-onepage__img img {
  object-fit: contain;
}

.food-onepage__note {
  margin-top: -8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: #1f2428;
}

.food-onepage__note strong {
  font-size: clamp(1.15rem, 2vw, 1.4rem);
  font-weight: 500;
  letter-spacing: 0.04em;
}

.food-onepage__note span {
  color: #4a5258;
  font-size: 1.02rem;
}

.food-addons {
  background: #fff;
  padding: clamp(56px, 7vw, 88px) 0;
}

.food-addons__head {
  text-align: center;
  margin: 0 0 clamp(36px, 5vw, 52px);
}

.food-addons__title {
  margin: 0 0 12px;
  color: #0094a4;
  font-size: clamp(2rem, 3.8vw, 2.75rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.food-addons__heart {
  margin-left: 0.08em;
  font-weight: 700;
}

.food-addons__subtitle {
  margin: 0;
  color: #555555;
  font-size: clamp(1.2rem, 2.1vw, 1.42rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.6;
}

.food-addons__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 36px);
  max-width: 800px;
  margin-inline: auto;
}

.food-addons__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.food-addons__icon.img-ph {
  flex: 0 0 120px;
  width: 120px;
  height: 120px;
  min-height: 0;
  padding: 22px;
  border: 2px solid #00a7af;
  border-radius: 50%;
  background: #fff;
  aspect-ratio: 1;
}

.food-addons__icon img {
  object-fit: contain;
}

.food-addons__icon.is-empty {
  background: #fff;
}

.food-addons__icon.is-empty::before,
.food-addons__icon .img-ph__label {
  display: none;
}

.food-addons__item p {
  margin: 0;
  color: #444444;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.food-boost {
  background: #f5f7f8;
  padding: clamp(32px, 5vw, 56px) 0 clamp(48px, 7vw, 88px);
}

.food-boost .section-title.teal {
  margin-bottom: 8px;
}

.food-boost .section-title.dark {
  margin-bottom: 42px;
  font-weight: 400;
}

.food-boost__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(18px, 3vw, 36px);
  max-width: 880px;
  margin: 36px auto 0;
}

.food-boost__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.food-boost__icon {
  width: clamp(104px, 12vw, 140px);
  height: clamp(104px, 12vw, 140px);
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

.food-boost__icon.img-ph {
  border: 0;
  background: transparent;
}

.food-boost__icon img {
  object-fit: contain;
}

.food-boost__item p {
  margin: 0;
  color: #0094a4;
  font-size: clamp(1.12rem, 1.9vw, 1.28rem);
  font-weight: 800;
  letter-spacing: 0.04em;
}

.food-care {
  background: #fff;
  padding: clamp(48px, 6vw, 80px) 0 clamp(56px, 7vw, 96px);
}

.food-care__title {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 0;
  margin: 0 0 clamp(36px, 5vw, 56px);
  color: #0094a4;
  font-size: clamp(2rem, 3.8vw, 2.75rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
  text-align: center;
}

.food-care__title-b {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.food-care__trend.img-ph {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  min-height: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.food-care__trend img {
  object-fit: contain;
}

.food-care__body {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
}

.food-care__media {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
}

.food-care__list {
  display: flex;
  flex-direction: column;
}

.food-care__item {
  padding: 22px 0;
  border-bottom: 1px solid #00a7af;
}

.food-care__item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.food-care__item:first-child {
  padding-top: 0;
}

.food-care__heading {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 8px;
}

.food-care__icon.img-ph {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  min-height: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.food-care__icon img {
  object-fit: contain;
}

.food-care__heading h3 {
  margin: 0;
  color: #0094a4;
  font-size: clamp(1.45rem, 2.4vw, 1.75rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
}

.food-care__tab {
  appearance: none;
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  cursor: pointer;
  text-align: left;
}

.food-care__item strong {
  display: block;
  margin: 0 0 6px;
  color: #1a1a1a;
  font-size: clamp(1.05rem, 1.7vw, 1.2rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.45;
}

.food-care__item p {
  margin: 0;
  color: #666666;
  font-size: 0.98rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
}

.food-care__phones.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.food-care__phones img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.food-care__trend.is-empty,
.food-care__icon.is-empty,
.food-care__phones.is-empty {
  background: linear-gradient(135deg, #eef7f8, #fff);
  border: 1px dashed rgba(0, 167, 175, 0.3);
  border-radius: 8px;
}

.food-care__trend.is-empty::before,
.food-care__icon.is-empty::before,
.food-care__phones.is-empty::before,
.food-care__trend .img-ph__label,
.food-care__icon .img-ph__label,
.food-care__phones .img-ph__label {
  display: none;
}

.food-manage {
  background: #fff;
  padding: clamp(48px, 7vw, 96px) 0 clamp(64px, 8vw, 110px);
}

.food-manage__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
}

.food-manage__list {
  display: flex;
  flex-direction: column;
}

.food-manage__item {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: 22px 0;
  border-top: 1px solid rgba(0, 167, 175, 0.35);
  border-bottom: 1px solid rgba(0, 167, 175, 0.35);
  margin-top: -1px;
}

.food-manage__icon {
  width: 56px;
  height: 56px;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.food-manage__icon img {
  object-fit: contain;
}

.food-manage__copy h3 {
  margin: 0 0 4px;
  color: #0094a4;
  font-size: clamp(1.35rem, 2.3vw, 1.7rem);
  font-weight: 500;
  letter-spacing: 0.04em;
}

.food-manage__copy strong {
  display: block;
  margin-bottom: 6px;
  color: #1f2428;
  font-size: 1.05rem;
  font-weight: 800;
}

.food-manage__copy p {
  margin: 0;
  color: #5a636a;
  font-size: 0.98rem;
  line-height: 1.7;
}

.food-manage__devices {
  width: 100%;
  min-height: clamp(240px, 38vw, 460px);
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 16 / 12;
}

.food-manage__devices img {
  object-fit: contain;
}

@media (max-width: 900px) {
  .food-convert__pack {
    position: relative;
    left: auto;
    bottom: auto;
    margin: -120px auto 0;
    grid-template-columns: 1fr;
    justify-items: center;
    row-gap: 20px;
    width: min(100% - 32px, var(--container));
    pointer-events: auto;
  }

  .food-convert__copy {
    position: relative;
    z-index: 4;
    width: 100%;
  }

  .food-convert__phones {
    z-index: 1;
    width: min(420px, 88%);
    margin: 8px auto 0;
    pointer-events: auto;
  }

  .food-convert--hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
    grid-template-areas:
      "hero"
      "checks";
  }

  .food-convert--hero .food-convert__top {
    grid-area: hero;
    min-height: clamp(280px, 78vw, 360px);
    height: 100%;
    padding: 0;
  }

  .food-convert--hero .food-convert__bg img {
    object-position: 58% center;
  }

  .food-convert--hero .food-convert__bottom {
    display: none;
  }

  .food-convert--hero .food-convert__pack {
    display: contents;
  }

  .food-convert--hero .food-convert__copy {
    display: contents;
  }

  .food-convert--hero .food-convert__title {
    grid-area: hero;
    align-self: start;
    justify-self: start;
    z-index: 6;
    width: auto;
    max-width: calc(100% - 158px);
    margin: 28px 0 0 20px;
    padding: 0;
    text-align: left;
    letter-spacing: 0;
  }

  .food-convert--hero .food-convert__line,
  .food-convert--hero .food-convert__line--strong {
    font-size: clamp(1.08rem, 4.6vw, 1.28rem);
    letter-spacing: 0;
    white-space: nowrap;
  }

  .food-convert--hero .food-convert__phones {
    grid-area: hero;
    justify-self: end;
    align-self: end;
    z-index: 5;
    width: min(172px, 44vw);
    margin: 0 8px 0 0;
    pointer-events: auto;
  }

  .food-convert--hero .food-convert__phones-img--d {
    display: none;
  }

  .food-convert--hero .food-convert__phones-img--m {
    display: block;
    width: 100%;
    min-height: 0;
    aspect-ratio: auto;
    height: auto;
    background: transparent;
  }

  .food-convert--hero .food-convert__phones-img--m img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    object-position: center bottom;
  }

  .food-convert--hero .food-convert__checks {
    grid-area: checks;
    justify-self: start;
    width: max-content;
    max-width: calc(100% - 36px);
    margin: 26px 0 36px 20px;
    gap: 16px;
  }

  .food-convert__checks {
    width: auto;
  }

  .food-convert__checks li {
    white-space: normal;
  }

  .food-convert--hero .food-convert__checks li {
    color: #0094a4;
  }

  .food-convert--hero .food-convert__checks li::before {
    border-color: #00a7af;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a7af' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  }

  .food-show__inner,
  .food-show__inner--points,
  .food-auto,
  .food-manage__layout,
  .food-care__body {
    grid-template-columns: 1fr;
  }

  .food-auto {
    gap: 12px;
  }

  .food-auto__phone {
    max-width: 340px;
    min-height: 0;
    aspect-ratio: auto;
  }

  .food-auto__copy {
    margin-top: clamp(4px, 2vw, 16px);
    text-align: center;
  }

  .food-auto__list {
    justify-items: center;
  }

  .food-auto__list li {
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
    text-align: left;
  }

  .food-auto__settings {
    display: flex;
    justify-content: center;
  }

  .food-auto__settings-img {
    margin-inline: auto;
  }

  .food-auto__tagline {
    margin-inline: auto;
  }

  .food-show__inner--points {
    min-height: 0;
    align-items: center;
  }

  .food-show--points .food-show__phones {
    align-self: center;
  }

  .food-show__copy--right {
    order: -1;
    min-height: 0;
  }

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

  .food-boost__grid {
    grid-template-columns: repeat(2, max-content);
    justify-content: center;
    column-gap: 36px;
    row-gap: 28px;
  }

  .food-addons__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: center;
    max-width: 340px;
    column-gap: 24px;
    row-gap: 28px;
  }

  .food-reward__inner,
  .food-viral__inner,
  .food-remind__inner,
  .food-landing__inner,
  .food-tags__inner,
  .food-analytics__inner,
  .food-report__body,
  .food-care__body,
  .food-tiers__visual {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: stretch;
    gap: 24px;
  }

  .food-viral__copy,
  .food-landing__copy,
  .food-tags__copy,
  .food-analytics__copy,
  .food-remind__copy,
  .food-reward__copy {
    order: 1;
    width: 100%;
    max-width: 100%;
  }

  .food-viral__media,
  .food-landing__media,
  .food-tags__media,
  .food-analytics__media,
  .food-remind__media,
  .food-reward__media,
  .food-report__media,
  .food-care__media {
    order: 2;
    width: 100%;
    max-width: 320px;
    margin-inline: auto;
  }

  .food-tags__inner {
    gap: 8px;
  }

  .food-tags__phone.img-ph {
    min-height: 0;
    aspect-ratio: auto;
    height: auto;
  }

  .food-tags__phone img {
    width: 100%;
    height: auto;
    display: block;
    object-position: top center;
  }

  .food-viral__heading,
  .food-remind__heading,
  .food-landing__heading,
  .food-tags__heading,
  .food-analytics__heading,
  .food-reward__heading {
    margin-left: 0;
  }

  .food-viral__copy {
    padding-left: 16px;
    padding-right: 16px;
  }

  .food-viral__leads {
    margin-bottom: 24px;
    text-align: center;
  }

  .food-convert--hero .food-convert__line--strong {
    white-space: nowrap;
  }

  .food-reward__copy,
  .food-viral__copy,
  .food-remind__copy,
  .food-landing__copy,
  .food-tags__copy,
  .food-analytics__copy {
    padding-left: 20px;
    padding-right: 12px;
  }

  .food-remind__note::before {
    content: none;
  }

  .food-viral__copy,
  .food-landing__copy {
    padding-left: 16px;
    padding-right: 16px;
  }

  .food-landing__lead {
    text-align: center;
  }

  .food-landing__icons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: center;
    width: min(320px, 86%);
    max-width: 320px;
    margin: 0 auto 24px;
    gap: 20px 28px;
  }

  .food-landing__icon-img.img-ph {
    width: 96px;
    height: 96px;
    padding: 18px;
  }

  .food-landing__icon p {
    font-size: 1rem;
  }

  .food-landing__card,
  .food-landing__grid {
    display: none;
  }

  .food-landing__inner {
    align-items: start;
  }

  .food-landing__media {
    position: relative;
    z-index: 0;
    margin-top: 8px;
  }

  .food-landing__device {
    margin-top: 0;
    max-width: 240px;
    margin-inline: auto;
  }

  .food-landing__detail {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 12px;
  }

  .food-landing__card.img-ph {
    width: min(38vw, 120px);
    flex: 0 1 min(38vw, 120px);
  }

  .food-landing__grid.img-ph {
    width: min(48vw, 200px);
    flex: 0 1 min(48vw, 200px);
    margin-left: 0;
  }

  .food-tiers__visual {
    margin-top: 8px;
    gap: 12px;
  }

  .food-tiers__phone {
    display: none;
  }

  .food-tiers__phone-img.img-ph {
    transform: none;
    margin-top: 0;
    margin-bottom: 0;
    max-width: 220px;
    min-height: 0;
    aspect-ratio: auto;
  }

  .food-tiers__phone-img img {
    object-position: top center;
  }

  .food-tiers__mid {
    display: none;
  }

  .food-analytics {
    margin-bottom: 0;
    padding-bottom: 0;
  }

  .food-analytics__dash.img-ph {
    min-height: 0;
    aspect-ratio: auto;
    height: auto;
  }

  .food-analytics__dash img {
    width: 100%;
    height: auto;
    display: block;
    object-position: bottom center;
  }

  .food-analytics__cards {
    max-width: 100%;
  }

  .food-report {
    margin-bottom: 0;
    padding: clamp(40px, 8vw, 64px) 0 clamp(32px, 6vw, 48px);
    overflow: hidden;
  }

  .food-report__body {
    gap: 12px;
    margin-top: -8px;
  }

  .food-report__media {
    margin-top: 4px;
  }

  .food-report__person.img-ph {
    max-width: 260px;
    min-height: 0;
    aspect-ratio: auto;
    transform: none;
  }

  .food-report__person img {
    object-position: top center;
  }

  .food-report__list {
    order: 3;
    width: max-content;
    max-width: calc(100% - 24px);
    margin: 20px auto 0;
    justify-self: center;
    padding: 0;
    box-sizing: border-box;
    text-align: left;
  }

  .food-report__list li {
    justify-content: flex-start;
  }

  .food-report__list li > div {
    min-width: 0;
  }

  .food-landing,
  .food-tiers,
  .food-tags,
  .food-viral,
  .food-remind,
  .food-reward {
    overflow: visible;
  }

  .food-report__subtitle {
    font-size: clamp(1.02rem, 4.2vw, 1.22rem);
    padding-inline: 12px;
  }

  .food-addons {
    overflow: hidden;
    padding: clamp(36px, 7vw, 56px) 0;
  }

  .food-addons__title,
  .food-addons__subtitle {
    padding-inline: 8px;
  }

  .food-addons__title {
    font-size: clamp(1.28rem, 5.4vw, 1.55rem);
  }


  .food-care {
    overflow: hidden;
    padding: clamp(36px, 7vw, 56px) 0;
  }

  .food-care__title {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    padding-inline: 8px;
  }

  .food-care__title-b {
    gap: 6px;
  }

  .food-care__heading h3 {
    font-size: clamp(1.25rem, 5vw, 1.5rem);
  }

  .food-care__list {
    width: max-content;
    max-width: calc(100% - 32px);
    margin-inline: auto;
    padding-inline: 12px;
    box-sizing: border-box;
  }

  .food-care__phones.img-ph {
    min-height: 0;
    max-width: 320px;
    margin-inline: auto;
  }

  .food-tags__copy {
    padding-left: 16px;
    padding-right: 16px;
  }

  .food-tags__leads,
  .food-tags__list {
    width: max-content;
    max-width: calc(100% - 32px);
    margin-inline: auto;
    box-sizing: border-box;
  }

  .food-tags__list li {
    align-items: flex-start;
  }

  .food-tags__list p {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    font-size: 1.02rem;
  }

  .food-tags__sep {
    display: none;
  }

  .food-slogan {
    padding: clamp(36px, 8vw, 56px) 0;
  }

  .food-slogan__title {
    font-size: clamp(1.2rem, 5.2vw, 1.5rem);
  }

  .food-slogan__title span {
    display: block;
  }
}

@media (max-width: 560px) {
  .food-convert__top {
    min-height: 300px;
    padding: 72px 0 80px;
  }

  .food-convert__line--strong {
    white-space: normal;
  }

  .food-convert__phones {
    margin-top: 4px;
    width: min(360px, 92%);
  }

  .food-convert--hero .food-convert__top {
    min-height: clamp(268px, 74vw, 320px);
    padding: 0;
  }

  .food-convert--hero .food-convert__title {
    margin-top: 24px;
    margin-left: 20px;
    max-width: calc(100% - 168px);
  }

  .food-convert--hero .food-convert__phones {
    width: min(166px, 43vw);
    margin: 0 8px 0 0;
  }

  .food-boost__grid {
    column-gap: 28px;
  }

  .food-boost__icon {
    width: clamp(88px, 24vw, 112px);
    height: clamp(88px, 24vw, 112px);
  }

  .food-addons__icon.img-ph {
    flex-basis: 88px;
    width: 88px;
    height: 88px;
    padding: 16px;
  }

  .food-onepage__icons {
    max-width: 280px;
    column-gap: 20px;
  }
}



.about-story {
  background: #fff;
  color: var(--text);
}

.about-story__block {
  padding: clamp(48px, 7vw, 88px) 0;
  text-align: center;
}

.about-story__block + .about-story__block {
  padding-top: 0;
}

.about-story__block.about-story__origin {
  padding: clamp(56px, 7vw, 96px) 0 0;
  text-align: left;
}

.about-origin {
  display: grid;
  grid-template-columns: minmax(200px, 0.4fr) minmax(0, 1fr);
  align-items: start;
  column-gap: clamp(28px, 5.5vw, 72px);
  padding-left: clamp(28px, 7vw, 88px);
}

.about-origin__aside {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.about-origin__label {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 86%;
  margin: 0.28em 0 0;
  color: #0094a4;
  font-size: clamp(1.18rem, 1.9vw, 1.42rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1;
}

.about-origin__label::after {
  content: "";
  flex: 1 1 auto;
  height: 4px;
  background: currentColor;
}

.about-origin__char {
  width: min(100%, 228px);
  margin-top: clamp(18px, 2.6vw, 32px);
  min-height: 0;
  aspect-ratio: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

.about-origin__char img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.about-origin__char.is-empty {
  min-height: 220px;
  aspect-ratio: 3 / 4;
  border: 1px dashed rgba(0, 167, 175, 0.35);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(0, 167, 175, 0.06), rgba(0, 167, 175, 0.02)),
    #fff;
}

.about-origin__char .img-ph__label {
  font-size: 0.62rem;
  inset: auto 4px 8px 4px;
}

.about-origin__copy {
  min-width: 0;
  padding-top: 0;
}

.about-origin__title {
  margin: 0 0 clamp(20px, 2.8vw, 30px);
  color: #2b2f33;
  font-size: clamp(1.52rem, 2.9vw, 2.05rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.about-origin__body p {
  margin: 0;
  color: #666666;
  font-size: clamp(0.98rem, 1.4vw, 1.12rem);
  font-weight: 400;
  line-height: 2.05;
  letter-spacing: 0.04em;
}

.about-origin__stat {
  color: #0094a4;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.about-origin__stat-num {
  font-size: 1.72em;
  font-weight: 600;
  letter-spacing: 0;
}

.about-origin__quote {
  margin: 1.05em 0 0;
  color: #eb8b8c;
  font-size: clamp(1.18rem, 1.95vw, 1.48rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.7;
}

.about-origin__q {
  display: inline-block;
  font-size: 1.55em;
  font-weight: 700;
  line-height: 0.7;
}

.about-origin__q--open {
  margin-right: 0.02em;
  vertical-align: 0.12em;
}

.about-origin__q--close {
  margin-left: 0.02em;
  vertical-align: -0.28em;
}

.about-story__title {
  margin: 0 0 clamp(20px, 3vw, 28px);
  color: #0094a4;
  font-size: clamp(1.55rem, 3.2vw, 2.15rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.5;
}

.about-story__title--left {
  text-align: left;
}

.about-story__lead {
  margin: 0 auto 20px;
  width: min(100% - 24px, 720px);
}

.about-story__lead p {
  margin: 0 0 0.35em;
  color: #4b5563;
  font-size: clamp(1.08rem, 1.7vw, 1.22rem);
  line-height: 1.85;
  letter-spacing: 0.03em;
}

.about-story__lead p:last-child {
  margin-bottom: 0;
}

.about-story__lead--teal p {
  color: #0094a4;
  font-weight: 600;
}

.about-story__stat {
  margin: 0 0 clamp(28px, 4vw, 40px);
  color: #e8707a;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.about-story__stat-label {
  margin-right: 0.35em;
  font-size: clamp(1.15rem, 1.9vw, 1.35rem);
}

.about-story__stat-value {
  font-size: clamp(1.8rem, 3.6vw, 2.4rem);
}

.about-story__pain {
  display: grid;
  grid-template-columns: minmax(72px, 140px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(12px, 2.4vw, 28px);
  width: min(100% - 24px, 720px);
  margin: 0 auto clamp(28px, 4vw, 40px);
}

.about-story__char {
  width: 100%;
  max-width: 140px;
  margin-inline: auto;
  min-height: 120px;
  aspect-ratio: 3 / 4;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.about-story__char img {
  object-fit: contain;
}

.about-story__char.is-empty {
  border: 1px dashed rgba(0, 167, 175, 0.35);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(0, 167, 175, 0.06), rgba(0, 167, 175, 0.02)),
    #fff;
}

.about-story__char .img-ph__label {
  font-size: 0.62rem;
  inset: auto 4px 8px 4px;
}

.about-story__pain-copy p {
  margin: 0 0 0.4em;
  color: #4b5563;
  font-size: clamp(1.05rem, 1.6vw, 1.18rem);
  line-height: 1.8;
  letter-spacing: 0.02em;
}

.about-story__pain-copy p:last-child {
  margin-bottom: 0;
}

.about-story__quote {
  margin-top: 0.6em !important;
  color: #e8707a !important;
  font-weight: 700;
  font-size: clamp(1.15rem, 2vw, 1.35rem) !important;
  letter-spacing: 0.03em;
}

.about-story__reflect {
  width: 100%;
  margin: clamp(28px, 4vw, 40px) 0 0;
  padding: clamp(28px, 4vw, 40px) 0;
  background: #f5f5f5;
  text-align: center;
}

.about-story__reflect p {
  margin: 0;
  color: #666;
  font-size: clamp(1.08rem, 1.7vw, 1.22rem);
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

.about-story__reflect p.about-story__reflect-em {
  font-weight: 700;
  font-size: clamp(1.18rem, 1.85vw, 1.34rem);
}

.about-story__closing,
.about-story__bridge {
  margin: 0.15em 0 0 !important;
  color: #0094a4 !important;
  font-weight: 400 !important;
  font-size: clamp(1.12rem, 1.85vw, 1.3rem) !important;
  letter-spacing: 0.04em;
  line-height: 1.7 !important;
}

.about-story__closing {
  margin-top: 0.55em !important;
}

.about-story__bridge {
  margin-top: 0.15em !important;
}

.about-story__sub {
  margin: 0 auto clamp(24px, 3.5vw, 36px);
  width: min(100% - 24px, 720px);
  color: #0094a4;
  font-size: clamp(0.95rem, 1.4vw, 1.05rem);
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.03em;
}

.about-story__problems {
  width: min(100% - 16px, 720px);
  margin: 0 auto clamp(24px, 3.5vw, 36px);
  min-height: 220px;
  aspect-ratio: 16 / 10;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.about-story__problems img {
  object-fit: contain;
}

.about-story__problems.is-empty {
  border: 1px dashed rgba(0, 167, 175, 0.35);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(0, 167, 175, 0.06), rgba(0, 167, 175, 0.02)),
    #fff;
}

.about-story__accent {
  margin: 0;
  color: #e8707a;
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.7;
}


.about-story__block.about-story__key {
  padding-top: clamp(40px, 6vw, 64px);
  padding-bottom: clamp(12px, 2vw, 20px);
  background: #fff;
}

.about-story__key .about-story__title {
  margin: 0 0 0.35em;
  color: #2b2f33;
  font-size: clamp(1.22rem, 2.4vw, 1.55rem);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.about-story__key .about-story__sub {
  margin: 0 auto clamp(40px, 6vw, 64px);
  width: min(100% - 24px, 820px);
  font-size: clamp(1.22rem, 2.4vw, 1.55rem);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.about-story__key .about-story__sub-lead {
  color: #2b2f33;
}

.about-story__key-visual {
  position: relative;
  width: min(100% - 16px, 900px);
  margin: 0 auto;
}

.about-story__key .about-story__problems {
  width: 100%;
  margin: 0;
  min-height: clamp(260px, 42vw, 420px);
  aspect-ratio: auto;
}

.about-story__key .about-story__problems.is-empty {
  aspect-ratio: 5 / 3;
}

.about-story__key .about-story__accent {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 36px;
  z-index: 2;
  isolation: isolate;
  display: block;
  width: max-content;
  max-width: calc(100% - 24px);
  margin: 0 auto;
  padding: 0.08em 0.55em 0.04em;
  color: #2b2f33;
  background: transparent;
  border-radius: 0;
  font-size: clamp(1.05rem, 1.8vw, 1.28rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.5;
}

.about-story__key .about-story__accent::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.18em;
  height: 1.12em;
  background: #fdeab4;
  border-radius: 999px;
  z-index: -1;
}

.about-story__problems--m,
.about-story__bubbles {
  display: none;
}

.about-story__steps {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  gap: clamp(8px, 1.5vw, 16px);
  width: min(100% - 16px, 960px);
  margin: clamp(28px, 4vw, 44px) auto;
  padding: 0;
  list-style: none;
}

.about-story__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: clamp(88px, 14vw, 120px);
}

.about-story__step-icon {
  width: clamp(64px, 10vw, 88px);
  height: clamp(64px, 10vw, 88px);
  min-height: 0;
  border-radius: 50%;
  border: 2.5px solid rgba(0, 167, 175, 0.55);
  background: #fff;
  overflow: hidden;
}

.about-story__step-icon img {
  object-fit: contain;
  padding: 14%;
}

.about-story__step-icon.is-empty {
  background: var(--teal-soft);
}

.about-story__step-icon .img-ph__label {
  font-size: 0.55rem;
  inset: auto 4px 6px 4px;
  padding: 3px 5px;
}

.about-story__step-label {
  color: #0094a4;
  font-size: clamp(0.78rem, 1.2vw, 0.9rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.45;
}

.about-story__step-sep {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  height: clamp(64px, 10vw, 88px);
  margin: 0;
  color: #0094a4;
  font-size: clamp(1.85rem, 3.2vw, 2.4rem);
  font-weight: 400;
  line-height: 1;
}


.about-story__block.about-story__flow {
  padding: clamp(64px, 9vw, 108px) 0;
  background: #f8f8f8;
  text-align: center;
}

.about-story__flow .about-story__title {
  margin: 0 0 clamp(8px, 1.2vw, 12px);
  color: #2b2f33;
  font-size: clamp(1.55rem, 3.2vw, 2.15rem);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.04em;
}

.about-story__flow-em {
  color: #0094a4;
}

.about-story__flow-lead,
.about-story__flow-note {
  margin: 0 auto;
  width: min(100% - 24px, 820px);
  color: #2b2f33;
  font-size: clamp(1.02rem, 1.55vw, 1.16rem);
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: 0.04em;
}

.about-story__flow-lead {
  margin-bottom: 0.15em;
}

.about-story__flow-note {
  margin-bottom: clamp(40px, 5.5vw, 64px);
}

.about-story__flow .about-story__steps {
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: center;
  gap: clamp(16px, 2.4vw, 32px);
  width: min(100% - 16px, 1080px);
  margin: 0 auto clamp(48px, 6vw, 72px);
}

.about-story__flow .about-story__step {
  width: auto;
  min-width: 104px;
  gap: 14px;
}

.about-story__flow .about-story__step-icon {
  width: clamp(78px, 11vw, 102px);
  height: clamp(78px, 11vw, 102px);
  border: 2px solid #00a7af;
  background: transparent;
}

.about-story__flow .about-story__step-icon img {
  padding: 18%;
}

.about-story__flow .about-story__step-label {
  color: #0094a4;
  font-size: clamp(0.88rem, 1.35vw, 1.02rem);
  font-weight: 400;
  letter-spacing: 0.04em;
}

.about-story__flow .about-story__step-sep {
  height: clamp(78px, 11vw, 102px);
  color: #0094a4;
  font-size: clamp(1.6rem, 2.8vw, 2.1rem);
  font-weight: 400;
}

.about-story__flow .about-story__step-icon .img-ph__label {
  display: none;
}

.about-story__flow .about-story__accent {
  margin: 0;
  color: #f08080;
  font-size: clamp(1.12rem, 2vw, 1.38rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.6;
}

.about-story__flow-slash {
  display: inline-block;
  margin: 0 0.35em;
  color: #0094a4;
  font-weight: 500;
}


.about-story__block.about-story__principles {
  padding: clamp(56px, 8vw, 100px) 0;
  background: #fff;
  text-align: left;
}

.about-story__principles-inner {
  display: grid;
  grid-template-columns: minmax(240px, 0.82fr) minmax(0, 1.18fr);
  align-items: start;
  gap: clamp(28px, 5vw, 64px);
}

.about-story__principles-aside {
  min-width: 0;
}

.about-story__principles .about-story__title {
  margin: 0 0 clamp(24px, 3.5vw, 40px);
  text-align: left;
  color: #2b2f33;
  font-size: clamp(1.55rem, 3.2vw, 2.15rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

.about-story__principles-title-line {
  display: block;
}

.about-story__principles-title-line--teal {
  color: #0094a4;
}

.about-story__principles-illust {
  width: min(100%, 280px);
  margin: 0;
  min-height: 0;
  aspect-ratio: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

.about-story__principles-illust img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.about-story__principles-illust.is-empty {
  min-height: 220px;
  aspect-ratio: 3 / 4;
  border: 1px dashed rgba(0, 167, 175, 0.35);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(0, 167, 175, 0.06), rgba(0, 167, 175, 0.02)),
    #fff;
}

.about-story__principles-illust .img-ph__label {
  display: none;
}

.about-story__principle-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: left;
}

.about-story__principle {
  display: flex;
  align-items: center;
  gap: clamp(14px, 2.2vw, 20px);
  padding: clamp(16px, 2.2vw, 22px) clamp(16px, 2.4vw, 24px);
  background: #f4f5f6;
  border-radius: 16px;
}

.about-story__principle:last-child {
  padding-bottom: clamp(16px, 2.2vw, 22px);
}

.about-story__principle + .about-story__principle {
  border-top: 0;
}

.about-story__principle-icon {
  flex: 0 0 auto;
  width: clamp(44px, 6.5vw, 56px);
  height: clamp(44px, 6.5vw, 56px);
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.about-story__principle-icon img {
  object-fit: contain;
}

.about-story__principle-icon.is-empty {
  border: 1px dashed rgba(0, 167, 175, 0.35);
  border-radius: 12px;
  background: var(--teal-soft);
}

.about-story__principle-icon .img-ph__label {
  display: none;
}

.about-story__principle-copy {
  min-width: 0;
}

.about-story__principle-title {
  margin: 0 0 4px;
  color: #0094a4;
  font-size: clamp(0.98rem, 1.55vw, 1.12rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.45;
}

.about-story__principle-desc {
  margin: 0;
  color: #6b7280;
  font-size: clamp(0.88rem, 1.3vw, 0.98rem);
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: 0.02em;
}


.about-story__block.about-story__crew {
  padding: clamp(56px, 8vw, 100px) 0;
  background: #f8f8f8;
  text-align: left;
}

.about-story__crew-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(200px, 0.72fr);
  align-items: center;
  gap: clamp(20px, 3.5vw, 40px);
  width: min(100% - 32px, 900px);
  margin-inline: auto;
}

.about-story__crew-copy {
  text-align: left;
  min-width: 0;
}

.about-story__crew .about-story__title {
  margin: 0 0 clamp(22px, 3.2vw, 36px);
  width: auto;
  text-align: left;
  color: #2b2f33;
  font-size: clamp(1.7rem, 3.5vw, 2.35rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

.about-story__crew-title-line {
  display: block;
}

.about-story__crew-title-line--teal {
  color: #0094a4;
}

.about-story__crew-copy p {
  margin: 0;
  color: #333333;
  font-size: clamp(0.98rem, 1.4vw, 1.12rem);
  font-weight: 400;
  line-height: 2.15;
  letter-spacing: 0.04em;
}

.about-story__crew-copy p:last-child {
  margin-bottom: 0;
}

.about-story__crew-illust {
  width: min(100%, 380px);
  justify-self: start;
  margin: 0;
  min-height: 0;
  aspect-ratio: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

.about-story__crew-illust img {
  object-fit: contain;
}

.about-story__crew-illust.is-empty {
  border: 1px dashed rgba(0, 167, 175, 0.35);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(0, 167, 175, 0.06), rgba(0, 167, 175, 0.02)),
    #fff;
}

.about-story__crew-illust .img-ph__label {
  display: none;
}

@media (max-width: 720px) {
  .about-origin {
    grid-template-columns: 1fr;
    row-gap: 28px;
  }

  .about-origin__quote {
    font-size: clamp(1.02rem, 4.2vw, 1.18rem);
  }

  .about-origin__stat {
    display: block;
  }

  .about-story__key .about-story__accent {
    position: relative;
    bottom: auto;
    font-size: clamp(0.92rem, 3.8vw, 1.05rem);
  }

  .about-story__key .about-story__problems:not(.about-story__problems--m) {
    display: none;
  }

  .about-story__key .about-story__problems--m {
    display: block;
    width: min(56%, 220px);
    min-height: 0;
    margin: 0 auto 8px;
    aspect-ratio: auto;
  }

  .about-story__bubbles {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    width: min(100% - 8px, 360px);
    margin: 8px auto 20px;
    padding: 0;
    list-style: none;
  }

  .about-story__bubble {
    position: relative;
    display: block;
    width: fit-content;
    max-width: 100%;
    padding: 9px 16px 11px;
    background: #00a7af;
    color: #fff;
    border: 0;
    border-radius: 12px;
    font-size: 0.86rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.55;
    text-align: center;
  }

  .about-story__bubble::after {
    content: "";
    position: absolute;
    left: 50%;
    top: calc(100% - 1px);
    width: 12px;
    height: 8px;
    background: #00a7af;
    transform: translateX(-50%);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }

  .about-origin__label {
    width: 72%;
    margin-top: 0;
  }

  .about-origin__char {
    width: min(46%, 180px);
  }

  .about-story__pain {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .about-story__pain-copy {
    order: -1;
    margin-bottom: 8px;
  }

  .about-story__char {
    max-width: 110px;
    min-height: 100px;
  }

  .about-story__step-sep {
    display: none;
  }

  .about-story__steps {
    gap: 20px 12px;
  }

  .about-story__step {
    width: calc(33.333% - 12px);
  }

  .about-story__flow .about-story__steps {
    flex-wrap: wrap;
  }

  .about-story__flow .about-story__step {
    width: calc(33.333% - 12px);
    min-width: 0;
  }

  .about-story__principles-inner {
    grid-template-columns: 1fr;
    row-gap: 28px;
  }

  .about-story__principles-aside {
    text-align: center;
  }

  .about-story__flow .about-story__title {
    font-size: clamp(1.28rem, 5.2vw, 1.48rem);
  }

  .about-story__principles .about-story__title {
    text-align: center;
  }

  .about-story__principles-illust {
    width: min(100%, 220px);
    margin-inline: auto;
  }

  .about-story__crew-inner {
    grid-template-columns: 1fr;
    text-align: left;
    row-gap: 28px;
  }

  .about-story__crew-illust {
    order: 0;
    width: min(100%, 260px);
    min-height: 0;
    justify-self: center;
  }

  .about-story__title--left {
    text-align: center;
  }
}

.about-hero {
  position: relative;
  background: #f4f5f6;
  overflow: hidden;
}

.about-hero__top {
  background: transparent;
  padding: clamp(56px, 8vw, 92px) 0 0;
}

.about-hero__copy {
  text-align: center;
}

.about-hero__title {
  margin: 0 0 clamp(8px, 1.2vw, 12px);
  color: #0094a4;
  font-size: clamp(1.85rem, 4.2vw, 2.75rem);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.06em;
}

.about-hero__sub {
  margin: 0 auto clamp(8px, 1.2vw, 14px);
  width: min(100% - 24px, 720px);
}

.about-hero__sub p {
  margin: 0;
  color: #4b5563;
  font-size: clamp(1.28rem, 2.6vw, 1.7rem);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.04em;
}

.about-hero__sub p:last-child {
  margin-bottom: 0;
}

.about-hero__script {
  width: min(100% - 24px, 640px);
  margin: 0 auto;
  min-height: 0;
  aspect-ratio: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.about-hero__script img {
  object-fit: contain;
}

.about-hero__script.is-empty {
  min-height: 48px;
  aspect-ratio: 5 / 1;
  border: 1px dashed rgba(226, 177, 60, 0.55);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(226, 177, 60, 0.08), rgba(226, 177, 60, 0.02)),
    #fff;
}

.about-hero__script.is-empty::before {
  content: none;
}

.about-hero__script .img-ph__label {
  inset: auto 50% 8px auto;
  transform: translateX(50%);
  white-space: nowrap;
  background: rgba(120, 80, 10, 0.72);
}

.about-hero__art {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  margin-top: clamp(4px, 1vw, 10px);
  padding-bottom: clamp(36px, 5vw, 64px);
}

.about-hero__img {
  width: min(78%, 860px);
  max-width: 860px;
  margin: 0 auto;
  min-height: 0;
  height: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
  overflow: hidden;
}

.about-hero__img img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  object-fit: contain;
  object-position: center bottom;
}

.about-hero__img.is-empty {
  min-height: clamp(240px, 40vw, 420px);
  background:
    linear-gradient(180deg, rgba(0, 167, 175, 0.06), rgba(0, 167, 175, 0.02)),
    #fff;
  border: 1px dashed rgba(0, 167, 175, 0.3);
  border-radius: 0;
}

.about-hero__img.is-empty::before {
  content: none;
}

.about-hero__img .img-ph__label {
  inset: auto 50% 18px auto;
  transform: translateX(50%);
  white-space: nowrap;
  color: #fff;
}

.about-intro {
  padding: clamp(48px, 7vw, 88px) 0 clamp(40px, 6vw, 72px);
  background: #fff;
  text-align: center;
}

.about-intro__inner {
  width: min(100% - 32px, 720px);
  margin-inline: auto;
}

.about-intro__title {
  margin: 0 0 clamp(28px, 4vw, 40px);
  color: #0094a4;
  font-size: clamp(1.55rem, 3vw, 2.1rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.4;
}

.about-intro__body {
  margin: 0 0 28px;
}

.about-intro__body p {
  margin: 0 0 0.55em;
  color: #2b2f33;
  font-size: clamp(0.98rem, 1.5vw, 1.08rem);
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.03em;
}

.about-intro__body p:last-child {
  margin-bottom: 0;
}

.about-intro__quote {
  margin: 0 0 36px;
  color: #d4a017;
  font-size: clamp(1.02rem, 1.7vw, 1.18rem);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.04em;
}

.about-intro__contact {
  color: #0094a4;
  font-size: clamp(0.95rem, 1.4vw, 1.05rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.9;
}

.about-intro__contact p {
  margin: 0;
}

.about-team {
  padding: clamp(24px, 4vw, 40px) 0 clamp(72px, 9vw, 120px);
  background: #fff;
  text-align: center;
}

.about-team__title {
  margin: 0 0 clamp(12px, 2vw, 16px);
  color: #0094a4;
  font-size: clamp(1.55rem, 3vw, 2.1rem);
  font-weight: 500;
  letter-spacing: 0.06em;
}

.about-team__sub {
  margin: 0 0 clamp(36px, 5vw, 56px);
  color: #2b2f33;
  font-size: clamp(1.08rem, 1.9vw, 1.28rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.7;
}

.about-team__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(28px, 4vw, 48px) clamp(16px, 3vw, 32px);
  width: min(100% - 24px, 960px);
  margin-inline: auto;
}

.about-team__closing {
  margin-top: clamp(48px, 7vw, 80px);
  text-align: center;
}

.about-team__slogan {
  width: min(100% - 24px, 920px);
  margin: 0 auto clamp(18px, 3vw, 28px);
  min-height: 0;
  aspect-ratio: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.about-team__slogan img {
  object-fit: contain;
}

.about-team__slogan.is-empty {
  min-height: 72px;
  aspect-ratio: 5 / 1;
  border: 1px dashed rgba(0, 167, 175, 0.35);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(0, 167, 175, 0.06), rgba(0, 167, 175, 0.02)),
    #fff;
}

.about-team__slogan.is-empty::before {
  content: none;
}

.about-team__slogan .img-ph__label {
  inset: auto 50% 8px auto;
  transform: translateX(50%);
  white-space: nowrap;
}

.about-team__belief {
  margin: 0 auto clamp(36px, 5vw, 52px);
  width: min(100% - 24px, 720px);
}

.about-team__belief p {
  margin: 0 0 0.55em;
  color: #6b7280;
  font-size: clamp(1.12rem, 2vw, 1.35rem);
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: 0.03em;
}

.about-team__belief p:last-child {
  margin-bottom: 0;
}

.about-team__cta {
  gap: 12px;
  min-width: 200px;
  padding: 0 36px;
}

.about-team__cta-arrow {
  width: 26px;
  height: 26px;
  border: 1.5px solid currentColor;
  border-radius: 50%;
  position: relative;
  flex: 0 0 auto;
}

.about-team__cta-arrow::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 7px;
  height: 7px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: rotate(45deg) translate(-1px, 1px);
}

.about-member {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.about-member__avatar {
  width: clamp(96px, 14vw, 132px);
  height: clamp(96px, 14vw, 132px);
  min-height: 0;
  border-radius: 50%;
  border: 4px solid #00a7af;
  background: #fff;
  overflow: hidden;
  box-shadow: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

.about-member__avatar.img-ph {
  border: 4px solid #00a7af;
  background: #fff;
}

.about-member__avatar img {
  width: 78%;
  height: 78%;
  object-fit: contain;
  object-position: center;
  display: block;
}

.about-member__avatar.is-empty,
.about-member__avatar.img-ph.is-empty {
  background: #fff;
  border: 4px solid #00a7af;
}

.about-member__avatar.is-empty::before,
.about-member__avatar.img-ph.is-empty::before {
  content: none;
}

.about-member__avatar .img-ph__label {
  inset: auto 8px 10px 8px;
  font-size: 0.62rem;
  padding: 4px 6px;
  border-radius: 8px;
}

.about-member__role {
  margin: 4px 0 0;
  color: #2b2f33;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.35;
}

.about-member__name {
  margin: -6px 0 0;
  color: #0094a4;
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.35;
}

@media (max-width: 900px) {
  .about-team__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 20px;
  }
}

@media (max-width: 560px) {
  .about-hero__top {
    padding: 48px 0 0;
  }

  .about-hero__title {
    letter-spacing: 0.04em;
  }

  .about-hero__art {
    margin-top: 4px;
  }

  .about-intro__quote {
    margin-bottom: 28px;
  }

  .about-team__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 12px;
  }

  .about-member__avatar {
    width: 100px;
    height: 100px;
  }
}


.qa-page {
  padding: 52px 0 120px;
  background: #fff;
}

.qa-page__inner {
  width: min(100% - 48px, 980px);
  margin-inline: auto;
}

.qa-search {
  position: relative;
  width: min(100%, 268px);
  margin: 0 0 52px;
}

.qa-search input {
  width: 100%;
  height: 42px;
  border: 1px solid #d8dde0;
  border-radius: 8px;
  padding: 0 42px 0 16px;
  color: var(--text);
  background: #fff;
  outline: none;
  font-size: 0.92rem;
  letter-spacing: 0.04em;
}

.qa-search input::placeholder {
  color: #c2c8cc;
}

.qa-search input:focus {
  border-color: var(--teal);
  box-shadow: 0 0 0 3px rgba(0, 167, 175, 0.12);
}

.qa-search__btn {
  position: absolute;
  right: 6px;
  top: 5px;
  width: 32px;
  height: 32px;
  border: 0;
  background: transparent;
  color: #b4babf;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
}

.qa-search__btn svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.qa-cat {
  margin: 0 0 48px;
}

.qa-cat:last-child {
  margin-bottom: 0;
}

.qa-cat.is-hidden {
  display: none;
}

.qa-cat__title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 6px;
  color: #0094a4;
  font-size: 1.52rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.45;
}

.qa-cat__bar {
  flex: 0 0 auto;
  width: 5px;
  height: 1.2em;
  background: #00a7af;
  border-radius: 1px;
}

.qa-item {
  border-bottom: 1px solid #111;
}

.qa-item.is-hidden {
  display: none;
}

.qa-item__q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin: 0;
  padding: 17px 2px 8px;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  outline: none;
  cursor: pointer;
  text-align: left;
  color: #333;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.65;
  appearance: none;
  -webkit-appearance: none;
}

.qa-item__q:hover,
.qa-item__q:focus-visible {
  color: #333;
  background: transparent !important;
}

.qa-item__main {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
  flex: 1 1 auto;
}

.qa-item__mark {
  flex: 0 0 auto;
  font-weight: 700;
  color: #2b2f33;
  line-height: 1.65;
}

.qa-item__text {
  flex: 1 1 auto;
  min-width: 0;
  color: inherit;
  font-weight: 400;
}

.qa-item__icon {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  color: #111;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  margin-top: 7px;
  transition: transform 0.28s var(--ease), color 0.2s ease;
}

.qa-item__icon svg {
  width: 20px;
  height: 20px;
  display: block;
}

.qa-item.is-open .qa-item__icon {
  transform: rotate(180deg);
  color: #111;
}

.qa-item__a {
  overflow: hidden;
}

.qa-item__a-inner,
.qa-item__a .qa-item__main {
  padding: 0 2px 18px;
  color: #555;
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: 0.02em;
}

.qa-item__a .qa-item__mark {
  color: #555;
  font-weight: 700;
}

.qa-item__a .qa-item__text {
  color: #555;
}

@media (max-width: 560px) {
  .qa-page {
    padding: 36px 0 80px;
  }

  .qa-page__inner {
    width: min(100% - 28px, 980px);
  }

  .qa-search {
    width: 100%;
    margin-bottom: 36px;
  }

  .qa-cat {
    margin-bottom: 36px;
  }

  .qa-cat__title {
    font-size: 1.28rem;
  }

  .qa-item__q {
    padding: 15px 0 7px;
    font-size: 0.94rem;
    gap: 14px;
  }

  .qa-item__a .qa-item__main {
    padding: 0 0 16px;
    font-size: 0.9rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
  }

  .reveal {
    opacity: 1;
    transform: none;
    filter: none;
  }

  .hero-slide__content .hero-eyebrow,
  .hero-slide__content .hero-title,
  .hero-slide__content .btn {
    opacity: 1;
    transform: none;
  }

  .has-tilt {
    transform: none !important;
  }
}

.hero--fitness .hero-slide__content {
  color: #fff;
}

.hero--fitness .hero-slide__stack {
  align-items: flex-start;
  text-align: left;
  width: min(100%, 720px);
  max-width: min(100%, 720px);
}

.hero--fitness .hero-title {
  margin: 0 0 14px;
  color: #fff;
  font-size: clamp(1.85rem, 3.6vw, 2.65rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.35;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.35);
  white-space: nowrap;
}

.hero--fitness .hero-lead {
  margin: 0 0 28px;
  color: #fff;
  font-size: clamp(0.98rem, 1.55vw, 1.2rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.55;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
  white-space: nowrap;
}

.hero--fitness .fitness-hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 48px;
  padding: 0 28px;
  border-radius: 999px;
  background: rgba(50, 50, 50, 0.88);
  color: #fff;
  font-size: 1.02rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-decoration: none;
  pointer-events: auto;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.28);
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.hero--fitness .fitness-hero-btn:hover,
.hero--fitness .fitness-hero-btn:focus-visible {
  background: rgba(40, 40, 40, 0.95);
  transform: translateY(-1px);
}

.hero--fitness .fitness-hero-btn__go {
  position: relative;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
}

.hero--fitness .fitness-hero-btn__go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 6px;
  height: 6px;
  border-top: 2px solid #3c3c3c;
  border-right: 2px solid #3c3c3c;
  transform: translate(-50%, -50%) rotate(45deg);
}

.hero--fitness .hero-dot.is-active {
  background: #fff;
}

@media (max-width: 900px) {
  .hero--fitness .hero-slide__content {
    align-items: flex-start;
    text-align: left;
  }

  .hero--fitness .hero-slide__stack {
    align-items: flex-start;
    text-align: left;
    margin-inline: 0;
    width: min(100%, 92vw);
    max-width: min(100%, 92vw);
  }

  .hero--fitness .hero-title,
  .hero--fitness .hero-lead {
    white-space: normal;
    text-align: left;
  }

  .hero--fitness .hero-title {
    margin: 0 0 12px;
    font-size: clamp(1.55rem, 6.2vw, 2rem);
  }

  .hero--fitness .hero-lead {
    font-size: clamp(0.92rem, 3.6vw, 1.08rem);
    margin: 0 0 22px;
  }

  .hero--fitness .fitness-hero-btn {
    min-height: 44px;
    padding: 0 22px;
    font-size: 0.95rem;
    margin-inline: 0;
  }
}


.fitness-habit {
  background: #fff;
  padding: clamp(56px, 8vw, 100px) 0 clamp(40px, 6vw, 72px);
}

.fitness-habit__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(100% - 32px, 1100px);
}

.fitness-habit__head {
  text-align: center;
  max-width: 920px;
  margin: 0 auto clamp(36px, 5vw, 56px);
}

.fitness-habit__title {
  margin: 0 0 16px;
  color: #111;
  font-size: clamp(1.85rem, 3.8vw, 2.75rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.35;
}

.fitness-habit__title-line {
  display: block;
}

.fitness-habit__em {
  color: #0094a4;
  font-style: normal;
  font-weight: 700;
}

.fitness-habit__lead {
  margin: 0;
  color: #8a8a8a;
  font-size: clamp(1rem, 1.7vw, 1.28rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.fitness-habit__media {
  width: min(100%, 920px);
  margin-inline: auto;
}

.fitness-habit__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.fitness-habit__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.fitness-habit__img.is-empty {
  min-height: 360px;
  background: linear-gradient(180deg, #f5f7f8, #fff);
  border-radius: 20px;
}

.fitness-habit__img.is-empty::before,
.fitness-habit__img .img-ph__label {
  display: none;
}

@media (max-width: 900px) {
  .fitness-habit__head {
    margin-bottom: 28px;
  }

  .fitness-habit__title {
    font-size: clamp(1.55rem, 6.4vw, 2.05rem);
    letter-spacing: 0.04em;
  }

  .fitness-habit__lead {
    font-size: clamp(0.92rem, 3.6vw, 1.08rem);
    padding-inline: 4px;
  }
}


.fitness-cycle.section.cycle {
  background: #fff;
  padding-top: clamp(48px, 7vw, 88px);
  padding-bottom: clamp(64px, 9vw, 110px);
}

.fitness-cycle__title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.12em;
  margin: 0 auto 14px;
  text-align: center;
  color: #222;
  font-size: clamp(1.55rem, 3.2vw, 2.25rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.fitness-cycle__title-lead {
  font-weight: 700;
}

.fitness-cycle__title-mark {
  position: relative;
  display: inline-block;
  color: #0094a4;
  padding-bottom: 0.18em;
}

.fitness-cycle__title-line {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 10px;
  pointer-events: none;
}

.fitness-cycle__rocket.img-ph {
  flex: 0 0 auto;
  width: 1.35em;
  height: 1.35em;
  min-height: 0;
  margin: 0 0 0 0.1em;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 1;
}

.fitness-cycle__rocket img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.fitness-cycle__rocket.is-empty {
  background: transparent;
}

.fitness-cycle__rocket.is-empty::before {
  content: "🚀";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 0.9em;
}

.fitness-cycle__rocket .img-ph__label {
  display: none;
}

.fitness-cycle__subtitle {
  margin: 0 auto clamp(36px, 5vw, 56px);
  text-align: center;
  color: #555;
  font-size: clamp(1.15rem, 2.2vw, 1.5rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.55;
  max-width: 38em;
}

.fitness-cycle .cycle-track {
  border-color: #c8c8c8;
}

.fitness-cycle .cycle-arrow--12,
.fitness-cycle .cycle-arrow--23 {
  border-width: 9px 0 9px 15px;
  border-color: transparent transparent transparent #333;
}

.fitness-cycle .cycle-arrow--45,
.fitness-cycle .cycle-arrow--56 {
  border-width: 9px 15px 9px 0;
  border-color: transparent #333 transparent transparent;
}

.fitness-cycle .cycle-core.fitness-cycle__core {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: center;
  gap: 0.45em;
  text-align: left;
  width: max-content;
  max-width: 95%;
}

.fitness-cycle__core-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
  min-width: 0;
}

.fitness-cycle .cycle-core__name {
  display: block;
  margin: 0 0 0.28em;
  color: #333;
  font-size: clamp(1.75rem, 3vw, 2.2rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.2;
}

.fitness-cycle__runner.img-ph {
  flex: 0 0 auto;
  width: clamp(52px, 5.5vw, 72px);
  height: clamp(68px, 7.2vw, 96px);
  min-height: 0;
  margin: 0.05em 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
  align-self: flex-start;
}

.fitness-cycle__runner img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top center;
  display: block;
}

.fitness-cycle__runner.is-empty {
  background: transparent;
}

.fitness-cycle__runner.is-empty::before {
  content: "🏃";
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 2rem;
  line-height: 1;
}

.fitness-cycle__runner .img-ph__label {
  display: none;
}

.fitness-cycle .cycle-core__sub {
  margin: 0;
  color: #333;
  font-size: clamp(1.12rem, 1.75vw, 1.38rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.35;
  white-space: nowrap;
}

.fitness-cycle .cycle-side {
  border: 1.5px solid #00a4b5;
  border-radius: 14px;
  color: #0094a4;
  padding: 1.35em 0.85em;
  font-size: 1.28rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 1.55;
  background: #fff;
  writing-mode: vertical-rl;
  text-orientation: upright;
  white-space: nowrap;
  width: max-content;
  height: max-content;
  max-width: none;
  box-sizing: border-box;
}

.fitness-cycle .cycle-step {
  width: 230px;
}

.fitness-cycle .cycle-step__copy {
  margin-bottom: 10px;
}

.fitness-cycle .cycle-step--4 .cycle-step__copy,
.fitness-cycle .cycle-step--5 .cycle-step__copy,
.fitness-cycle .cycle-step--6 .cycle-step__copy {
  margin-top: 10px;
}

.fitness-cycle .cycle-step__num {
  color: #e88c30;
}

.fitness-cycle .cycle-step h3 {
  color: #111;
}

.fitness-cycle .cycle-step__copy h3 {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.35;
}

.fitness-cycle .cycle-step__copy p {
  color: #4a4a4a;
  font-size: 0.98rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.45;
}

.fitness-cycle .cycle-step__icon,
.fitness-cycle .cycle-step__icon.img-ph {
  width: 76px;
  height: 76px;
  border: 1.5px solid #c8c8c8;
  background: #fff;
  box-sizing: border-box;
}

.fitness-cycle .cycle-step__icon img {
  padding: 12px;
  box-sizing: border-box;
}

@media (max-width: 900px) {
  .fitness-cycle__title {
    font-size: clamp(1.28rem, 5.2vw, 1.65rem);
  }

  .fitness-cycle__subtitle {
    font-size: clamp(1.05rem, 4.2vw, 1.28rem);
    margin-bottom: 32px;
  }

  .fitness-cycle .cycle-sides {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 12px;
    width: 100%;
    order: -1;
  }

  .fitness-cycle .cycle-side {
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    white-space: nowrap;
    width: auto;
    height: auto;
    padding: 10px 20px;
    border-radius: 14px;
    font-size: 1.05rem;
    letter-spacing: 0.12em;
    line-height: 1.3;
  }

  .fitness-cycle .cycle-core__sub {
    white-space: normal;
  }

  .fitness-cycle .cycle-core.fitness-cycle__core {
    align-items: flex-start;
  }

  .fitness-cycle__runner.img-ph {
    width: 48px;
    height: 64px;
  }
}


.fitness-trial {
  --fitness-lime: #c3ff35;
  --fitness-orange: #f2a622;
  background: #fff;
  overflow: visible;
}

.fitness-trial__dark {
  position: relative;
  z-index: 2;
  color: #fff;
  padding: clamp(56px, 7vw, 92px) 0 clamp(36px, 5vw, 56px);
  overflow: visible;
}

.fitness-trial__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.fitness-trial__bg::after {
  content: none;
}

.fitness-trial__bg-img.img-ph,
.fitness-trial__bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: #1a1a1a;
  overflow: hidden;
}

.fitness-trial__bg-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: blur(4px);
  transform: scale(1.06);
}

.fitness-trial__bg-img.is-empty::before,
.fitness-trial__bg-img .img-ph__label {
  display: none;
}

.fitness-trial__dark-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr);
  gap: clamp(20px, 4vw, 48px);
  align-items: center;
  width: min(100% - 32px, 1180px);
}

.fitness-trial__copy {
  min-width: 0;
}

.fitness-trial__title {
  margin: 0 0 18px;
  padding-left: 16px;
  border-left: 5px solid #fff;
  color: #fff;
  font-size: clamp(2rem, 3.8vw, 2.85rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.25;
}

.fitness-trial__lead {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(1.05rem, 1.7vw, 1.28rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.5;
}

.fitness-trial__highlight {
  margin: 0 0 28px;
  color: #fff;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.fitness-trial__circles {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 14px;
  margin: 0 0 22px;
}

.fitness-trial__circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(88px, 9vw, 108px);
  height: clamp(88px, 9vw, 108px);
  border: 3px solid #fff;
  border-radius: 50%;
  color: #fff;
  font-size: clamp(0.95rem, 1.35vw, 1.12rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.2;
  text-align: center;
  box-sizing: border-box;
}

.fitness-trial__x {
  color: var(--fitness-lime);
  font-size: clamp(1.6rem, 2.4vw, 2.1rem);
  font-weight: 700;
  line-height: 1;
  transform: translateY(-1px);
}

.fitness-trial__note {
  margin: 0;
  color: #fff;
  font-size: clamp(1.02rem, 1.65vw, 1.22rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.55;
}

.fitness-trial__note em {
  color: var(--fitness-lime);
  font-style: normal;
  font-weight: 500;
}

.fitness-trial__media {
  justify-self: end;
  width: min(100%, 400px);
  margin-bottom: clamp(-140px, -14vw, -88px);
  position: relative;
  z-index: 3;
}

.fitness-trial__phones.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.fitness-trial__phones img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.fitness-trial__phones.is-empty {
  min-height: 420px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.02));
  border-radius: 28px;
}

.fitness-trial__phones.is-empty::before,
.fitness-trial__phones .img-ph__label {
  display: none;
}

.fitness-trial__light {
  position: relative;
  z-index: 1;
  background: #fff;
  padding: clamp(12px, 2vw, 24px) 0 clamp(56px, 8vw, 88px);
}

.fitness-trial__light-inner {
  width: min(100% - 32px, 1180px);
}

.fitness-trial__checks {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 18px;
  max-width: min(100%, 640px);
}

.fitness-trial__checks li {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #111;
  font-size: clamp(1.08rem, 1.85vw, 1.32rem);
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.45;
}

.fitness-trial__check-icon.img-ph {
  flex: 0 0 auto;
  width: 1.45em;
  height: 1.45em;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 1;
  position: relative;
}

.fitness-trial__check-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.fitness-trial__check-icon.is-empty {
  border: 2px solid var(--fitness-orange);
  border-radius: 4px;
  background: transparent;
}

.fitness-trial__check-icon.is-empty::before {
  display: none;
}

.fitness-trial__check-icon.is-empty::after {
  content: "";
  position: absolute;
  left: 28%;
  top: 42%;
  width: 38%;
  height: 18%;
  border-left: 2.5px solid var(--fitness-orange);
  border-bottom: 2.5px solid var(--fitness-orange);
  transform: rotate(-45deg);
}

.fitness-trial__check-icon .img-ph__label {
  display: none;
}

@media (max-width: 900px) {
  .fitness-trial__dark {
    padding: 48px 0 24px;
  }

  .fitness-trial__dark-inner {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .fitness-trial__title {
    font-size: clamp(1.7rem, 7vw, 2.15rem);
    padding-left: 12px;
    border-left-width: 4px;
  }

  .fitness-trial__lead {
    font-size: clamp(0.98rem, 3.6vw, 1.12rem);
  }

  .fitness-trial__highlight {
    font-size: clamp(1.2rem, 4.8vw, 1.45rem);
    margin-bottom: 22px;
  }

  .fitness-trial__circles {
    gap: 10px;
  }

  .fitness-trial__circle {
    width: 78px;
    height: 78px;
    font-size: 0.88rem;
  }

  .fitness-trial__x {
    font-size: 1.45rem;
  }

  .fitness-trial__note {
    font-size: clamp(0.95rem, 3.5vw, 1.08rem);
  }

  .fitness-trial__media {
    justify-self: center;
    width: min(68%, 280px);
    order: -1;
    margin-bottom: 0;
    z-index: 1;
  }

  .fitness-trial__copy {
    position: relative;
    z-index: 2;
  }

  .fitness-trial__light {
    padding-top: 28px;
  }

  .fitness-trial__checks li {
    font-size: clamp(1rem, 3.8vw, 1.15rem);
  }
}


.fitness-schedule {
  background: #fff;
  padding: clamp(48px, 7vw, 88px) 0;
}

.fitness-schedule__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
  width: min(100% - 32px, 1180px);
}

.fitness-schedule__media {
  min-width: 0;
}

.fitness-schedule__tablet.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.fitness-schedule__tablet img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.fitness-schedule__tablet.is-empty {
  min-height: 360px;
  background: #f2f4f5;
  border-radius: 18px;
}

.fitness-schedule__tablet.is-empty::before,
.fitness-schedule__tablet .img-ph__label {
  display: none;
}

.fitness-schedule__copy {
  min-width: 0;
}

.fitness-schedule__title {
  margin: 0 0 14px;
  padding-left: 14px;
  border-left: 5px solid #313131;
  color: #222;
  font-size: clamp(1.9rem, 3.4vw, 2.55rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.25;
}

.fitness-schedule__lead {
  margin: 0 0 8px;
  color: #444;
  font-size: clamp(1.02rem, 1.6vw, 1.22rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.5;
}

.fitness-schedule__highlight {
  margin: 0 0 28px;
  color: #444;
  font-size: clamp(1.15rem, 1.9vw, 1.42rem);
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.45;
}

.fitness-schedule__highlight em {
  color: #f2a622;
  font-style: normal;
  font-weight: 500;
}

.fitness-schedule__bolt {
  display: inline-block;
  width: 0.92em;
  height: 0.92em;
  margin-left: 0.08em;
  vertical-align: -0.08em;
}

.fitness-schedule__features {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px 14px;
  margin: 0 0 22px;
}

.fitness-schedule__feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
}

.fitness-schedule__feature-box {
  width: 100%;
  aspect-ratio: 1 / 1;
  position: relative;
  display: block;
  border: 2.5px solid #313131;
  border-radius: 10px;
  background: #fff;
  box-sizing: border-box;
  overflow: hidden;
  flex: 0 0 auto;
  min-height: 0;
}

.fitness-schedule__feature-icon.img-ph {
  position: absolute;
  inset: 16%;
  width: auto;
  height: auto;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.fitness-schedule__feature-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.fitness-schedule__feature-icon.is-empty {
  background: transparent;
}

.fitness-schedule__feature-icon.is-empty::before,
.fitness-schedule__feature-icon .img-ph__label {
  display: none;
}

.fitness-schedule__feature p {
  margin: 0;
  color: #222;
  font-size: clamp(0.92rem, 1.35vw, 1.08rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
}

.fitness-schedule__banner {
  position: relative;
  isolation: isolate;
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0;
  padding: 0.08em 0.55em 0.04em;
  border-radius: 0;
  background: transparent;
  color: #2b2f33;
  font-size: clamp(1.05rem, 1.8vw, 1.28rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-align: left;
  box-sizing: border-box;
}

.fitness-schedule__banner::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.18em;
  height: 1.12em;
  background: #c3ff35;
  border-radius: 999px;
  z-index: -1;
}

@media (max-width: 900px) {
  .fitness-schedule__inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .fitness-schedule__media {
    order: 2;
    width: min(100%, 520px);
    margin-inline: auto;
  }

  .fitness-schedule__copy {
    order: 1;
  }

  .fitness-schedule__title {
    font-size: clamp(1.65rem, 6.5vw, 2.05rem);
    padding-left: 12px;
    border-left-width: 4px;
  }

  .fitness-schedule__lead {
    font-size: clamp(0.95rem, 3.5vw, 1.08rem);
  }

  .fitness-schedule__highlight {
    font-size: clamp(1.05rem, 4vw, 1.22rem);
    margin-bottom: 22px;
  }

  .fitness-schedule__features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 12px;
    max-width: 360px;
    margin-inline: auto;
    justify-items: center;
  }

  .fitness-schedule__feature {
    width: 100%;
    max-width: 150px;
  }

  .fitness-schedule__feature p {
    font-size: 0.95rem;
  }

  .fitness-schedule__banner {
    margin-inline: auto;
    text-align: center;
    font-size: clamp(0.95rem, 3.5vw, 1.12rem);
    max-width: 100%;
  }
}


.fitness-session {
  background: #fff;
  padding: clamp(48px, 7vw, 88px) 0;
}

.fitness-session__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
  width: min(100% - 32px, 1180px);
}

.fitness-session__copy {
  min-width: 0;
}

.fitness-session__title {
  margin: 0 0 14px;
  padding-left: 14px;
  border-left: 5px solid #313131;
  color: #222;
  font-size: clamp(1.9rem, 3.4vw, 2.55rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.25;
}

.fitness-session__lead {
  margin: 0 0 12px;
  color: #444;
  font-size: clamp(1.02rem, 1.6vw, 1.22rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.5;
}

.fitness-session__highlight {
  margin: 0 0 10px;
  color: #222;
  font-size: clamp(1.35rem, 2.3vw, 1.75rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.fitness-session__lines {
  margin: 0 0 26px;
}

.fitness-session__lines p {
  margin: 0;
  color: #444;
  font-size: clamp(1.02rem, 1.6vw, 1.2rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.55;
}

.fitness-session__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px;
  margin: 0 0 28px;
  max-width: 480px;
}

.fitness-session__item {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 62px;
  padding: 14px 18px;
  border: 0;
  border-radius: 14px;
  background: #e9e9e9;
  box-sizing: border-box;
}

.fitness-session__check.img-ph {
  flex: 0 0 auto;
  width: 1.55em;
  height: 1.55em;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 1;
  position: relative;
}

.fitness-session__check img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.fitness-session__check.is-empty {
  border: 2px solid #313131;
  border-radius: 4px;
  background: #fff;
}

.fitness-session__check.is-empty::before {
  display: none;
}

.fitness-session__check.is-empty::after {
  content: "";
  position: absolute;
  left: 28%;
  top: 42%;
  width: 38%;
  height: 18%;
  border-left: 2.5px solid #f2a622;
  border-bottom: 2.5px solid #f2a622;
  transform: rotate(-45deg);
}

.fitness-session__check .img-ph__label {
  display: none;
}

.fitness-session__item span {
  color: #222;
  font-size: clamp(1.08rem, 1.6vw, 1.22rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.35;
}

.fitness-session__stat {
  margin: 0;
  max-width: 480px;
  color: #222;
  font-size: clamp(1.55rem, 2.8vw, 2.05rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
  text-align: center;
}

.fitness-session__stat em {
  margin: 0 0.06em;
  color: #f2a622;
  font-style: normal;
  font-weight: 700;
  font-size: 1.28em;
}

.fitness-session__media {
  min-width: 0;
  justify-self: end;
  width: min(100%, 520px);
}

.fitness-session__phones.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.fitness-session__phones img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.fitness-session__phones.is-empty {
  min-height: 380px;
  background: linear-gradient(160deg, #f3f5f6, #fff);
  border-radius: 20px;
}

.fitness-session__phones.is-empty::before,
.fitness-session__phones .img-ph__label {
  display: none;
}

@media (max-width: 900px) {
  .fitness-session__inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .fitness-session__media {
    order: 2;
    justify-self: center;
    width: min(92%, 420px);
  }

  .fitness-session__copy {
    order: 1;
  }

  .fitness-session__title {
    font-size: clamp(1.65rem, 6.5vw, 2.05rem);
    padding-left: 12px;
    border-left-width: 4px;
  }

  .fitness-session__lead,
  .fitness-session__lines p {
    font-size: clamp(0.95rem, 3.5vw, 1.08rem);
  }

  .fitness-session__highlight {
    font-size: clamp(1.22rem, 5vw, 1.5rem);
  }

  .fitness-session__grid {
    max-width: 100%;
    gap: 12px;
  }

  .fitness-session__item {
    min-height: 56px;
    padding: 13px 14px;
  }

  .fitness-session__item span {
    font-size: clamp(1rem, 3.6vw, 1.12rem);
  }

  .fitness-session__stat {
    font-size: clamp(1.4rem, 5.8vw, 1.8rem);
  }
}


.fitness-renew {
  background: #f5f5f5;
  padding: clamp(48px, 7vw, 88px) 0 0;
}

.fitness-renew__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(100% - 32px, 1100px);
}

.fitness-renew__head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto clamp(28px, 4vw, 44px);
}

.fitness-renew__title {
  margin: 0 0 16px;
  color: #111;
  font-size: clamp(1.9rem, 3.6vw, 2.65rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.25;
}

.fitness-renew__lead {
  margin: 0 0 4px;
  color: #222;
  font-size: clamp(1.18rem, 2vw, 1.45rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.45;
}

.fitness-renew__sub {
  margin: 0;
  color: #222;
  font-size: clamp(1.28rem, 2.2vw, 1.6rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.45;
}

.fitness-renew__media {
  width: min(100%, 880px);
  margin: 0 auto;
  line-height: 0;
}

.fitness-renew__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.fitness-renew__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.fitness-renew__img.is-empty {
  min-height: 420px;
  background: linear-gradient(180deg, #eef2f6, #fff 60%);
  border-radius: 24px;
}

.fitness-renew__img.is-empty::before,
.fitness-renew__img .img-ph__label {
  display: none;
}

.fitness-renew__img--m,
.fitness-renew__img--m.img-ph {
  display: none;
}

@media (max-width: 900px) {
  .fitness-renew__img--d,
  .fitness-renew__img--d.img-ph {
    display: none;
  }

  .fitness-renew__img--m,
  .fitness-renew__img--m.img-ph {
    display: block;
    width: calc(100% - 32px);
    margin-inline: auto;
  }

  .fitness-renew__head {
    margin-bottom: 24px;
  }

  .fitness-renew__title {
    font-size: clamp(1.65rem, 6.8vw, 2.1rem);
    letter-spacing: 0.06em;
  }

  .fitness-renew__lead {
    font-size: clamp(1.08rem, 4vw, 1.25rem);
    margin-bottom: 2px;
  }

  .fitness-renew__sub {
    font-size: clamp(1.15rem, 4.4vw, 1.35rem);
  }
}


.fitness-mission {
  background: #fff;
  padding: clamp(48px, 7vw, 88px) 0;
}

.fitness-mission__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(28px, 5vw, 56px);
  align-items: center;
  width: min(100% - 32px, 1180px);
}

.fitness-mission__copy {
  min-width: 0;
}

.fitness-mission__title {
  margin: 0 0 12px;
  padding-left: 14px;
  border-left: 5px solid #313131;
  color: #222;
  font-size: clamp(1.9rem, 3.4vw, 2.55rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.25;
}

.fitness-mission__lead {
  margin: 0 0 14px;
  color: #333;
  font-size: clamp(1.1rem, 1.75vw, 1.32rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.5;
}

.fitness-mission__highlight {
  margin: 0 0 10px;
  color: #111;
  font-size: clamp(1.35rem, 2.4vw, 1.8rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.fitness-mission__lines {
  margin: 0 0 22px;
}

.fitness-mission__lines p {
  margin: 0;
  color: #333;
  font-size: clamp(1.02rem, 1.6vw, 1.2rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.55;
}

.fitness-mission__rows {
  display: grid;
  gap: 12px;
  margin: 0 0 18px;
  max-width: 560px;
}

.fitness-mission__row.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.fitness-mission__row img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.fitness-mission__row.is-empty {
  min-height: 52px;
  background: #f0f0f0;
  border-radius: 8px;
}

.fitness-mission__row.is-empty::before,
.fitness-mission__row .img-ph__label {
  display: none;
}

.fitness-mission__foot {
  margin: 0;
  max-width: 560px;
  color: #333;
  font-size: clamp(0.95rem, 1.45vw, 1.1rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.55;
  text-align: center;
}

.fitness-mission__media {
  min-width: 0;
  justify-self: end;
  width: min(100%, 420px);
}

.fitness-mission__phone.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.fitness-mission__phone img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.fitness-mission__phone.is-empty {
  min-height: 480px;
  background: linear-gradient(180deg, #f4f6f7, #fff);
  border-radius: 24px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}

.fitness-mission__phone.is-empty::before,
.fitness-mission__phone .img-ph__label {
  display: none;
}

@media (max-width: 900px) {
  .fitness-mission__inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .fitness-mission__media {
    order: 2;
    justify-self: center;
    width: min(78%, 360px);
  }

  .fitness-mission__copy {
    order: 1;
  }

  .fitness-mission__title {
    font-size: clamp(1.65rem, 6.5vw, 2.05rem);
    padding-left: 12px;
    border-left-width: 4px;
  }

  .fitness-mission__lead {
    font-size: clamp(1.02rem, 3.8vw, 1.15rem);
  }

  .fitness-mission__lines p {
    font-size: clamp(0.95rem, 3.5vw, 1.08rem);
  }

  .fitness-mission__highlight {
    font-size: clamp(1.22rem, 5vw, 1.5rem);
  }

  .fitness-mission__rows {
    max-width: 100%;
  }

  .fitness-mission__foot {
    max-width: 100%;
    font-size: clamp(0.9rem, 3.3vw, 1.02rem);
  }
}


.fitness-levels {
  background: #fff;
  padding: clamp(48px, 7vw, 88px) 0;
}

.fitness-levels__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.95fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
  width: min(100% - 32px, 1180px);
}

.fitness-levels__media {
  min-width: 0;
}

.fitness-levels__chart.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.fitness-levels__chart img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.fitness-levels__chart.is-empty {
  min-height: 320px;
  background: linear-gradient(160deg, #f5f6f7, #fff);
  border-radius: 16px;
}

.fitness-levels__chart.is-empty::before,
.fitness-levels__chart .img-ph__label {
  display: none;
}

.fitness-levels__copy {
  min-width: 0;
}

.fitness-levels__title {
  margin: 0 0 14px;
  padding-left: 14px;
  border-left: 5px solid #222;
  color: #222;
  font-size: clamp(1.9rem, 3.4vw, 2.55rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.25;
}

.fitness-levels__lead {
  margin: 0 0 16px;
  color: #222;
  font-size: clamp(1.05rem, 1.7vw, 1.28rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.5;
}

.fitness-levels__highlight {
  margin: 0 0 16px;
  color: #f2a622;
  font-size: clamp(1.4rem, 2.5vw, 1.9rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.fitness-levels__lines {
  margin: 0 0 22px;
}

.fitness-levels__lines p {
  margin: 0;
  color: #222;
  font-size: clamp(1.05rem, 1.7vw, 1.28rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.55;
}

.fitness-levels__closing {
  margin: 0;
  color: #0094a4;
  font-size: clamp(1.08rem, 1.8vw, 1.35rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .fitness-levels__inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .fitness-levels__media {
    order: 2;
    width: min(100%, 520px);
    margin-inline: auto;
    margin-bottom: 20px;
  }

  .fitness-levels__copy {
    order: 1;
  }

  .fitness-levels__title {
    font-size: clamp(1.65rem, 6.5vw, 2.05rem);
    padding-left: 12px;
    border-left-width: 4px;
  }

  .fitness-levels__lead,
  .fitness-levels__lines p {
    font-size: clamp(0.98rem, 3.6vw, 1.12rem);
  }

  .fitness-levels__highlight {
    font-size: clamp(1.25rem, 5.2vw, 1.55rem);
  }

  .fitness-levels__closing {
    font-size: clamp(1.02rem, 3.8vw, 1.18rem);
  }
}


.fitness-away {
  --fitness-lime: #c3ff35;
  background: #f5f5f5;
  padding: clamp(56px, 8vw, 96px) 0 clamp(40px, 6vw, 64px);
}

.fitness-away__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(100% - 32px, 900px);
}

.fitness-away__head {
  text-align: center;
  margin: 0 0 clamp(28px, 4vw, 40px);
}

.fitness-away__title {
  margin: 0 0 4px;
  color: #111;
  font-size: clamp(1.9rem, 3.6vw, 2.65rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.25;
}

.fitness-away__lead {
  margin: 0;
  color: #222;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.5;
}

.fitness-away__card {
  position: relative;
  width: min(100%, 600px);
  margin: 0 auto;
  padding: clamp(40px, 5vw, 52px) clamp(28px, 5vw, 56px) clamp(28px, 4vw, 40px);
  border: 3px solid #333;
  border-radius: 28px;
  background: transparent;
  box-sizing: border-box;
}

.fitness-away__badge {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 10px 28px;
  border-radius: 999px;
  background: #2e2e2e;
  color: var(--fitness-lime);
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.35;
  white-space: nowrap;
}

.fitness-away__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 18px;
  width: max-content;
  max-width: 100%;
  margin-inline: auto;
}

.fitness-away__list li {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #222;
  font-size: clamp(1.08rem, 1.7vw, 1.28rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.45;
}

.fitness-away__check.img-ph {
  flex: 0 0 auto;
  width: 1.45em;
  height: 1.45em;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 1;
  position: relative;
}

.fitness-away__check img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.fitness-away__check.is-empty {
  border: 2px solid #f2a622;
  border-radius: 4px;
  background: #fff;
}

.fitness-away__check.is-empty::before {
  display: none;
}

.fitness-away__check.is-empty::after {
  content: "";
  position: absolute;
  left: 28%;
  top: 42%;
  width: 38%;
  height: 18%;
  border-left: 2.5px solid #f2a622;
  border-bottom: 2.5px solid #f2a622;
  transform: rotate(-45deg);
}

.fitness-away__check .img-ph__label {
  display: none;
}


.fitness-recruit {
  --fitness-lime: #c3ff35;
  background: #f5f5f5;
  padding: clamp(40px, 6vw, 72px) 0 clamp(56px, 8vw, 96px);
}

.fitness-recruit__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: clamp(28px, 5vw, 56px);
  align-items: center;
  width: min(100% - 32px, 1180px);
}

.fitness-recruit__copy {
  min-width: 0;
}

.fitness-recruit__title {
  margin: 0 0 12px;
  padding-left: 14px;
  border-left: 5px solid #222;
  color: #222;
  font-size: clamp(1.9rem, 3.4vw, 2.55rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.25;
}

.fitness-recruit__lead {
  margin: 0 0 10px;
  color: #222;
  font-size: clamp(1.05rem, 1.7vw, 1.28rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.5;
}

.fitness-recruit__highlight {
  margin: 0 0 22px;
  color: #111;
  font-size: clamp(1.28rem, 2.2vw, 1.65rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.fitness-recruit__panel {
  position: relative;
  margin: 0 0 22px;
  padding: 22px 20px 20px;
  border-radius: 16px;
  background: #333;
  color: #fff;
}

.fitness-recruit__panel::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 12px solid #333;
  transform: translate(-50%, -100%);
}

.fitness-recruit__panel-lead {
  margin: 0 0 18px;
  text-align: center;
  color: var(--fitness-lime);
  font-size: clamp(1.02rem, 1.6vw, 1.2rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.fitness-recruit__features {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 0;
  
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.55)),
    linear-gradient(rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.55)),
    linear-gradient(rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.55));
  background-size: 2px calc(100% - 12px);
  background-position: 25% center, 50% center, 75% center;
  background-repeat: no-repeat;
}

.fitness-recruit__sep {
  display: none;
}

.fitness-recruit__feature {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 4px 8px;
  text-align: center;
}

.fitness-recruit__feature::after {
  content: none;
}

.fitness-recruit__feature-icon.img-ph {
  width: clamp(56px, 6.5vw, 76px);
  height: clamp(56px, 6.5vw, 76px);
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 1;
}

.fitness-recruit__feature-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.fitness-recruit__feature-icon.is-empty {
  background: rgba(255, 255, 255, 0.12);
  border-radius: 8px;
}

.fitness-recruit__feature-icon.is-empty::before,
.fitness-recruit__feature-icon .img-ph__label {
  display: none;
}

.fitness-recruit__feature p {
  margin: 0;
  color: #fff;
  font-size: clamp(1.02rem, 1.5vw, 1.18rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.3;
}

.fitness-recruit__checks {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 14px;
}

.fitness-recruit__checks li {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #222;
  font-size: clamp(1.1rem, 1.75vw, 1.3rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.45;
}

.fitness-recruit__check-icon.img-ph {
  flex: 0 0 auto;
  width: 1.35em;
  height: 1.35em;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 1;
}

.fitness-recruit__check-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.fitness-recruit__check-icon.is-empty {
  border: 1.5px solid #666;
  border-radius: 50%;
  background: transparent;
}

.fitness-recruit__check-icon.is-empty::before,
.fitness-recruit__check-icon .img-ph__label {
  display: none;
}

.fitness-recruit__media {
  min-width: 0;
  justify-self: end;
  width: min(100%, 360px);
}

.fitness-recruit__device {
  position: relative;
  width: 100%;
  line-height: 0;
}

.fitness-recruit__frame.img-ph {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.fitness-recruit__frame img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.fitness-recruit__screen {
  position: absolute;
  z-index: 2;
  top: 7.5%;
  right: 5.4%;
  bottom: 3.4%;
  left: 2.8%;
  overflow: hidden;
  border-radius: 0 0 18px 18px;
  container-type: size;
}

.fitness-recruit__scroll.img-ph {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: #111;
  transform: translateY(0);
  transition: transform var(--scroll-s, 9s) linear;
  will-change: transform;
}

.fitness-recruit__scroll img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  object-position: top center;
}

.fitness-recruit__device:hover .fitness-recruit__scroll,
.fitness-recruit__device.is-playing .fitness-recruit__scroll {
  transform: translateY(calc(-1 * var(--travel, 0px)));
}

.fitness-recruit__frame.is-empty,
.fitness-recruit__scroll.is-empty {
  min-height: 0;
}

.fitness-recruit__frame.is-empty {
  min-height: 480px;
  background: linear-gradient(180deg, #333, #111);
  border-radius: 28px;
}

.fitness-recruit__frame.is-empty::before,
.fitness-recruit__frame .img-ph__label,
.fitness-recruit__scroll.is-empty::before,
.fitness-recruit__scroll .img-ph__label {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .fitness-recruit__scroll.img-ph {
    transition: none;
  }
}

@media (max-width: 900px) {
  .fitness-away__title {
    font-size: clamp(1.65rem, 6.8vw, 2.1rem);
  }

  .fitness-away__lead {
    font-size: clamp(1.05rem, 4vw, 1.22rem);
  }

  .fitness-away__head {
    margin-bottom: 36px;
  }

  .fitness-away__badge {
    font-size: clamp(0.85rem, 3.2vw, 1.05rem);
    padding: 8px 14px;
    white-space: nowrap;
    letter-spacing: 0.02em;
    max-width: none;
  }

  .fitness-away__card {
    padding: 40px 18px 24px;
    border-radius: 22px;
  }

  .fitness-away__list {
    width: 100%;
  }

  .fitness-away__list li {
    font-size: clamp(0.98rem, 3.6vw, 1.12rem);
  }

  .fitness-recruit__inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .fitness-recruit__media {
    order: 2;
    justify-self: center;
    width: min(72%, 300px);
  }

  .fitness-recruit__copy {
    order: 1;
  }

  .fitness-recruit__title {
    font-size: clamp(1.65rem, 6.5vw, 2.05rem);
    padding-left: 12px;
    border-left-width: 4px;
  }

  .fitness-recruit__lead {
    font-size: clamp(0.98rem, 3.6vw, 1.12rem);
  }

  .fitness-recruit__highlight {
    font-size: clamp(1.15rem, 4.6vw, 1.35rem);
  }

  .fitness-recruit__features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 16px;
    background-image: linear-gradient(rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.55));
    background-size: 2px calc(100% - 12px);
    background-position: 50% center;
    background-repeat: no-repeat;
  }

  .fitness-recruit__sep {
    display: none;
  }

  .fitness-recruit__feature::after {
    content: none;
  }

  .fitness-recruit__checks li {
    font-size: clamp(1.02rem, 3.8vw, 1.15rem);
  }
}


.fitness-tools {
  --fitness-gold: #f2a622;
  background: #fff;
  color: #313131;
  padding: clamp(56px, 8vw, 96px) 0;
}

.fitness-tools__head {
  text-align: center;
  margin: 0 0 clamp(36px, 4.5vw, 48px);
}

.fitness-tools__title {
  margin: 0 0 8px;
  color: #313131;
  font-size: clamp(1.95rem, 3.6vw, 2.25rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.fitness-tools__subtitle {
  margin: 0;
  color: var(--fitness-gold);
  font-size: clamp(1.35rem, 2.6vw, 1.65rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.fitness-tools__addons {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: clamp(48px, 8vw, 110px);
  row-gap: 28px;
  max-width: 900px;
  margin: 0 auto clamp(72px, 10vw, 104px);
  justify-items: center;
}

.fitness-tools__addon {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  text-align: center;
}

.fitness-tools__addon-icon.img-ph {
  flex: 0 0 auto;
  width: clamp(120px, 15.8vw, 143px);
  height: clamp(120px, 15.8vw, 143px);
  min-height: 0;
  padding: 22%;
  border: 2.5px solid #313131;
  border-radius: 50%;
  background: #fff;
  box-sizing: border-box;
}

.fitness-tools__addon-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.fitness-tools__addon-icon.is-empty {
  background: rgba(49, 49, 49, 0.06);
}

.fitness-tools__addon-icon.is-empty::before,
.fitness-tools__addon-icon .img-ph__label {
  display: none;
}

.fitness-tools__addon p {
  margin: 0;
  color: #313131;
  font-size: clamp(1.15rem, 1.9vw, 1.28rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.fitness-tools__extras {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
  width: min(100%, 1100px);
  margin-inline: auto;
}

.fitness-tools__list {
  display: grid;
  gap: 0;
  min-width: 0;
}

.fitness-tools__item {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 16px;
  align-items: start;
  padding: 22px 0;
  border-bottom: 1px solid #e8e8e8;
}

.fitness-tools__item:first-child {
  padding-top: 0;
}

.fitness-tools__item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.fitness-tools__item-icon.img-ph {
  width: 44px;
  height: 44px;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 1;
}

.fitness-tools__item-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.fitness-tools__item-icon.is-empty {
  background: #f0f0f0;
  border-radius: 50%;
}

.fitness-tools__item-icon.is-empty::before,
.fitness-tools__item-icon .img-ph__label {
  display: none;
}

.fitness-tools__item h3 {
  margin: 0 0 8px;
  color: #313131;
  font-size: clamp(1.45rem, 2.5vw, 1.75rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
}

.fitness-tools__tab {
  appearance: none;
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  cursor: pointer;
  text-align: left;
}

.fitness-tools__item.is-active h3 {
  color: var(--fitness-gold);
}

.fitness-tools__note {
  margin: 0 0 6px;
  color: #222;
  font-size: clamp(1.02rem, 1.6vw, 1.15rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.45;
}

.fitness-tools__desc {
  margin: 0;
  color: #8a8a8a;
  font-size: clamp(0.92rem, 1.35vw, 1.02rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.fitness-tools__media {
  min-width: 0;
  justify-self: end;
  width: min(100%, 360px);
}

.fitness-tools__phone.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.fitness-tools__phone img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.fitness-tools__phone img[src*="fitness_extras_phone2"] {
  transform: scale(1.18);
  transform-origin: center center;
}

.fitness-tools__phone.is-empty {
  min-height: 480px;
  background: linear-gradient(180deg, #f4f5f6, #fff);
  border-radius: 28px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}

.fitness-tools__phone.is-empty::before,
.fitness-tools__phone .img-ph__label {
  display: none;
}

@media (max-width: 900px) {
  .fitness-tools__title {
    font-size: clamp(1.22rem, 5vw, 1.48rem);
  }

  .fitness-tools__subtitle {
    font-size: clamp(1.12rem, 4.4vw, 1.35rem);
  }

  .fitness-tools__addons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 28px;
    max-width: 420px;
  }

  .fitness-tools__addon-icon.img-ph {
    width: 112px;
    height: 112px;
  }

  .fitness-tools__extras {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .fitness-tools__media {
    order: 2;
    justify-self: center;
    width: min(72%, 300px);
  }

  .fitness-tools__list {
    order: 1;
  }

  .fitness-tools__item h3 {
    font-size: clamp(1.28rem, 5vw, 1.5rem);
  }
}


.fitness-cta {
  background: #fff;
  padding: clamp(40px, 5vw, 72px) 0 0;
  overflow: hidden;
}

.fitness-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.1fr);
  gap: clamp(20px, 4vw, 56px);
  align-items: end;
  width: min(100% - 32px, 1180px);
}

.fitness-cta__media {
  justify-self: start;
  align-self: end;
  width: min(100%, 560px);
  margin-bottom: 0;
  line-height: 0;
}

.fitness-cta__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.fitness-cta__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.fitness-cta__img.is-empty {
  min-height: 360px;
  background: linear-gradient(160deg, #f7f1e4, #fff 55%);
  border-radius: 24px 24px 0 0;
}

.fitness-cta__img.is-empty::before,
.fitness-cta__img .img-ph__label {
  display: none;
}

.fitness-cta__copy {
  min-width: 0;
  padding-bottom: clamp(36px, 5vw, 64px);
}

.fitness-cta__title {
  margin: 0 0 16px;
  font-size: clamp(1.7rem, 3vw, 2.2rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.28;
}

.fitness-cta__title-dark,
.fitness-cta__title-orange {
  display: block;
}

.fitness-cta__title-dark {
  color: #313131;
}

.fitness-cta__title-orange {
  color: #f2a622;
  font-size: 1.22em;
}

.fitness-cta__lead {
  margin: 0 0 22px;
  color: #313131;
  font-size: clamp(1.05rem, 1.7vw, 1.25rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.6;
}

.fitness-cta__price {
  margin: 0 0 22px;
  color: #313131;
  font-size: clamp(1.12rem, 1.9vw, 1.35rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.4;
}

.fitness-cta__price em {
  margin: 0 0.15em;
  color: #0094a4;
  font-style: normal;
  font-weight: 700;
}

.fitness-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 52px;
  padding: 0 34px;
  border-radius: 999px;
  background: #01a4b5;
  color: #fff;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none;
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.fitness-cta__btn:hover,
.fitness-cta__btn:focus-visible {
  background: #0194a4;
  transform: translateY(-1px);
}

.fitness-cta__btn-go {
  position: relative;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
}

.fitness-cta__btn-go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translate(-50%, -50%) rotate(45deg);
}

@media (max-width: 900px) {
  .fitness-cta__inner {
    grid-template-columns: 1fr;
    gap: 20px;
    justify-items: center;
    text-align: center;
  }

  .fitness-cta__media {
    width: min(88%, 380px);
    order: 2;
    justify-self: center;
  }

  .fitness-cta__copy {
    order: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 8px;
  }

  .fitness-cta__title {
    font-size: clamp(1.5rem, 6.2vw, 1.9rem);
  }

  .fitness-cta__lead {
    font-size: clamp(0.98rem, 3.6vw, 1.12rem);
  }

  .fitness-cta__price {
    font-size: clamp(1.05rem, 4vw, 1.2rem);
  }

  .fitness-cta__btn {
    min-height: 48px;
    padding: 0 28px;
    font-size: 1rem;
  }
}

.fitness-info {
  position: relative;
  overflow: visible;
  min-height: clamp(340px, 40vw, 480px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(24px, 3.5vw, 40px) 0 0;
  background: #1a1f22;
  z-index: 1;
}

.fitness-info__bg,
.fitness-info__bg.img-ph {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: #1a1f22;
  overflow: hidden;
}

.fitness-info__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.fitness-info__bg.is-empty {
  background: linear-gradient(135deg, #2a3538, #1a1f22);
}

.fitness-info__bg.is-empty::before {
  content: none;
}

.fitness-info__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0.2) 100%);
  pointer-events: none;
}

.fitness-info__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: clamp(28px, 4vw, 64px);
  width: 100%;
}

.fitness-info__title {
  margin: 0;
  flex: 0 1 auto;
  align-self: flex-end;
  max-width: 11em;
  color: #fff;
  font-size: clamp(1.85rem, 3.6vw, 2.9rem);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.4);
  padding-bottom: clamp(28px, 4vw, 56px);
}

.fitness-info__line {
  display: block;
}

.fitness-info__line--ruled {
  position: relative;
  display: inline-block;
  padding-bottom: 0.28em;
}

.fitness-info__line--ruled::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 3.2em;
  height: 5px;
  background: #fff;
}

.fitness-info__media {
  flex: 0 1 auto;
  width: min(580px, 48vw);
  margin: 0;
  margin-top: clamp(-72px, -8vw, -40px);
  line-height: 0;
  position: relative;
  z-index: 2;
}

.fitness-info__phone {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
  overflow: visible;
}

.fitness-info__phone.img-ph {
  border: 0;
  background: transparent;
  overflow: visible;
}

.fitness-info__phone img {
  width: 100%;
  height: auto;
  max-height: none;
  display: block;
  object-fit: contain;
  object-position: center;
  margin-inline: auto;
}

.fitness-info__phone.is-empty {
  min-height: 420px;
  background: linear-gradient(135deg, #2a3538, #1a1f22);
  border: 1px dashed rgba(0, 167, 175, 0.35);
  border-radius: 16px;
}

.fitness-info__phone.is-empty::before {
  content: none;
}

.fitness-triple {
  position: relative;
  z-index: 0;
  background: #fff;
  padding: clamp(40px, 6vw, 72px) 0 clamp(48px, 7vw, 88px);
}

.fitness-triple::after {
  content: "";
  display: block;
  width: min(1120px, 92%);
  height: 3px;
  margin: clamp(36px, 5vw, 56px) auto 0;
  background: #cfcfcf;
}


.fitness-onepage .food-onepage__visual {
  overflow: visible;
}

.fitness-onepage .food-onepage__img--fitness {
  overflow: visible;
}

.fitness-onepage .food-onepage__img--fitness img {
  transform: none;
  transform-origin: left top;
}

@media (min-width: 901px) {
  .fitness-onepage .food-onepage__lead,
  .fitness-onepage .food-onepage__icons {
    transform: translateX(-60px);
  }

  .fitness-onepage .food-onepage__img--fitness img {
    transform: scale(1.32) translate(-12%, -28%);
  }

  .fitness-onepage .food-onepage__note {
    margin-top: -28px;
  }
}

@media (max-width: 900px) {
  .fitness-onepage .food-onepage__intro {
    margin-top: 0;
    margin-bottom: 24px;
    z-index: 2;
  }

  .fitness-onepage .food-onepage__icons {
    margin-bottom: 28px;
  }

  .fitness-onepage .food-onepage__visual {
    z-index: 1;
    margin-top: 0;
  }

  .fitness-onepage .food-onepage__img--fitness {
    max-width: 100%;
  }

  .fitness-onepage .food-onepage__img--fitness img {
    width: 100%;
    max-width: 100%;
    transform: none;
  }

  .fitness-onepage .food-onepage__note {
    margin-top: 16px;
  }
}

.fitness-onepage {
  background: #fff;
}

.fitness-levels {
  padding-bottom: clamp(56px, 7vw, 96px);
}

.fitness-levels .food-feature__heading {
  position: relative;
  z-index: 2;
  margin-bottom: clamp(8px, 1.5vw, 14px);
}

.fitness-levels .food-panel__media {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin-top: 0;
  margin-bottom: clamp(-16px, -2vw, -8px);
}

.fitness-levels__img {
  min-height: 0;
  aspect-ratio: auto;
}

.fitness-levels__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  object-position: center bottom;
}

.fitness-triple__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 2.4vw, 24px);
  align-items: start;
}

.fitness-triple__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0;
}

.fitness-triple__phone {
  position: relative;
  width: 100%;
  max-width: 340px;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
  overflow: visible;
  margin: 0 auto;
  line-height: 0;
  padding-bottom: 0;
}

.fitness-triple__phone.img-ph {
  border: 0;
  border-radius: 0;
  background: transparent;
}

.fitness-triple__phone img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  object-position: bottom center;
  border-radius: 0;
}

.fitness-triple__phone .img-ph__label {
  display: none;
}

.fitness-triple__phone.is-empty {
  min-height: 360px;
  background: linear-gradient(135deg, #eef5f6, #f7fafb);
  border: 1px dashed rgba(0, 167, 175, 0.35);
  border-radius: 0;
}

.fitness-triple__phone.is-empty::before {
  content: none;
}

.fitness-triple__caption {
  width: 100%;
  max-width: 340px;
  margin: 0;
  padding: 10px 18px 16px;
  background: #e8eaed;
  border-radius: 0 0 12px 12px;
  color: #1f2428;
  font-size: clamp(1.08rem, 1.8vw, 1.28rem);
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.04em;
}

.fitness-triple__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 14px 0 0;
  color: #0094a4;
  font-size: clamp(1.28rem, 2.2vw, 1.55rem);
  font-weight: 500;
  letter-spacing: 0.06em;
}

.fitness-triple__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.2em;
  height: 1.45em;
  flex: 0 0 auto;
}

.fitness-triple__arrow img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

@media (max-width: 900px) {
  .fitness-info {
    min-height: 0;
    padding: clamp(40px, 8vw, 64px) 0;
  }

  .fitness-info__inner {
    flex-direction: column;
    text-align: center;
    gap: 28px;
  }

  .fitness-info__title {
    max-width: none;
    order: 1;
    align-self: center;
    padding-bottom: 0;
  }

  .fitness-info__line--ruled::after {
    left: 50%;
    transform: translateX(-50%);
  }

  .fitness-info__media {
    width: min(400px, 90%);
    margin-top: clamp(-48px, -10vw, -24px);
    order: 2;
  }

  .fitness-info__phone img {
    max-height: none;
  }

  .fitness-triple__grid {
    grid-template-columns: 1fr;
    max-width: 360px;
    margin-inline: auto;
    gap: 36px;
  }
}


.hero--shop .hero-slide__content {
  color: #fff;
}

.hero--shop .hero-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.22);
  pointer-events: none;
}

.hero--shop .hero-slide__stack {
  align-items: flex-start;
  text-align: left;
  width: min(100%, 720px);
  max-width: min(100%, 720px);
}

.hero--shop .hero-title {
  margin: 0 0 6px;
  color: #fff;
  font-size: clamp(1.85rem, 3.6vw, 2.65rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.35;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.35);
  white-space: nowrap;
}

.hero--shop .hero-lead {
  margin: 0 0 6px;
  color: #fff;
  font-size: clamp(1.28rem, 2.2vw, 1.65rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.45;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
  white-space: nowrap;
}

.hero--shop .hero-desc {
  margin: 0 0 28px;
  color: #fff;
  font-size: clamp(0.92rem, 1.4vw, 1.08rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.65;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
}

.hero--shop .shop-hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 48px;
  padding: 0 28px;
  border-radius: 999px;
  background: #fff;
  color: #222;
  font-size: 1.02rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-decoration: none;
  pointer-events: auto;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.28);
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.hero--shop .shop-hero-btn:hover,
.hero--shop .shop-hero-btn:focus-visible {
  background: #f5f5f5;
  transform: translateY(-1px);
}

.hero--shop .shop-hero-btn__go {
  position: relative;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #2e2e2e;
}

.hero--shop .shop-hero-btn__go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translate(-50%, -50%) rotate(45deg);
}

.hero--shop .hero-dot.is-active {
  background: #e8b422;
}

@media (max-width: 900px) {
  .hero--shop .hero-slide__content {
    align-items: flex-start;
    text-align: left;
  }

  .hero--shop .hero-slide__stack {
    align-items: flex-start;
    text-align: left;
    margin-inline: 0;
    width: min(100%, 92vw);
    max-width: min(100%, 92vw);
  }

  .hero--shop .hero-title,
  .hero--shop .hero-lead {
    white-space: normal;
    text-align: left;
  }

  .hero--shop .hero-title {
    margin: 0 0 4px;
    font-size: clamp(1.55rem, 6.2vw, 2rem);
  }

  .hero--shop .hero-lead {
    font-size: clamp(1.12rem, 4.4vw, 1.35rem);
    margin: 0 0 6px;
  }

  .hero--shop .hero-desc {
    font-size: clamp(0.88rem, 3.3vw, 1rem);
    margin: 0 0 22px;
  }

  .hero--shop .shop-hero-btn {
    min-height: 44px;
    padding: 0 22px;
    font-size: 0.95rem;
  }
}

.shop-intro {
  background: #fff;
  padding: clamp(56px, 8vw, 100px) 0 0;
}

.shop-intro__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(100% - 32px, 1100px);
}

.shop-intro__head {
  text-align: center;
  max-width: 920px;
  margin: 0 auto clamp(36px, 5vw, 56px);
}

.shop-intro__title {
  margin: 0 0 8px;
  color: #111;
  font-size: clamp(1.55rem, 3.2vw, 2.25rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.35;
}

.shop-intro__em {
  color: #0094a4;
  font-style: normal;
  font-weight: 700;
}

.shop-intro__lead {
  margin: 0 0 22px;
  color: #111;
  font-size: clamp(1.12rem, 1.9vw, 1.42rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.shop-intro__banner {
  margin: 0;
  color: #2b2f33;
  font-size: clamp(0.95rem, 1.5vw, 1.12rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.85;
  text-align: center;
}

.shop-intro__banner-mark {
  display: inline;
  padding: 0.1em 0.7em 0.12em;
  color: inherit;
  background: linear-gradient(transparent 48%, #ffe59a 48%);
  border-radius: 999px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  box-sizing: border-box;
}

.shop-showcase {
  --shop-teal: #0094a4;
  display: grid;
  grid-template-columns: minmax(140px, 200px) minmax(0, 280px) minmax(140px, 200px);
  align-items: center;
  justify-content: center;
  gap: clamp(16px, 3vw, 36px);
  width: min(100%, 920px);
  margin-inline: auto;
}

.shop-showcase__side {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.shop-showcase__side--left {
  align-items: flex-end;
}

.shop-showcase__side--right {
  align-items: flex-start;
}

.shop-tag {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  width: 168px;
  min-width: 168px;
  padding: 14px 18px;
  background: var(--shop-teal);
  color: #fff;
  font-size: clamp(1.05rem, 1.6vw, 1.22rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.3;
  text-align: center;
  box-sizing: border-box;
}

.shop-tag--left {
  border-radius: 12px;
}

.shop-tag--left::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -16px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 11px 0 11px 18px;
  border-color: transparent transparent transparent var(--shop-teal);
  transform: translateY(-50%);
}

.shop-tag--right {
  border-radius: 12px;
}

.shop-tag--right::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -16px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 11px 18px 11px 0;
  border-color: transparent var(--shop-teal) transparent transparent;
  transform: translateY(-50%);
}

.shop-showcase__phone-wrap {
  min-width: 0;
  justify-self: center;
}

.shop-showcase__phone.img-ph {
  width: min(100%, 280px);
  margin-inline: auto;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.shop-showcase__phone img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.shop-showcase__phone.is-empty {
  min-height: 480px;
  background: linear-gradient(160deg, #e8f6f8, #fff);
  border-radius: 28px;
}

.shop-showcase__phone.is-empty::before,
.shop-showcase__phone .img-ph__label {
  display: none;
}

@media (max-width: 900px) {
  .shop-intro {
    padding-bottom: 40px;
  }

  .shop-intro__head {
    margin-bottom: 28px;
  }

  .shop-intro__title {
    font-size: clamp(1.28rem, 5vw, 1.7rem);
  }

  .shop-intro__lead {
    font-size: clamp(1.05rem, 3.8vw, 1.22rem);
  }

  .shop-intro__banner {
    font-size: clamp(0.88rem, 3.2vw, 1rem);
    line-height: 1.9;
  }

  .shop-showcase {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 12px;
    width: min(100%, 420px);
  }

  .shop-showcase__phone-wrap {
    grid-column: 1 / -1;
    order: -1;
    margin-bottom: 10px;
  }

  .shop-showcase__side {
    display: contents;
  }

  .shop-tag {
    min-width: 0;
    width: 100%;
    padding: 12px 14px;
    font-size: 1rem;
    border-radius: 12px;
  }

  .shop-tag--left,
  .shop-tag--right {
    padding-left: 14px;
    padding-right: 14px;
  }

  .shop-tag--left::after,
  .shop-tag--right::after {
    display: none;
  }

  .shop-showcase__phone.img-ph {
    width: min(72%, 260px);
  }
}


.shop-start {
  --shop-teal: #0094a4;
  --shop-arrow: 34px;
  background: #f5f5f5;
  padding: clamp(56px, 8vw, 96px) 0;
}

.shop-start__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(100% - 32px, 1100px);
  margin-inline: auto;
}

.shop-start__head {
  text-align: center;
  max-width: 860px;
  margin: 0 auto 12px;
}

.shop-start__title {
  margin: 0 0 6px;
  color: #222;
  font-size: clamp(1.7rem, 3.4vw, 2.35rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.35;
}

.shop-start__subtitle {
  margin: 0 0 10px;
  color: #222;
  font-size: clamp(1.28rem, 2.5vw, 1.75rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.shop-start__rule {
  width: min(100%, 720px);
  height: 0;
  margin: 0 auto 10px;
  border: 0;
  border-top: 1px solid #d8d8d8;
}

.shop-start__lead {
  margin: 0 0 2px;
  color: #777;
  font-size: clamp(1.08rem, 1.7vw, 1.28rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.7;
}

.shop-start__em {
  margin: 0;
  color: var(--shop-teal);
  font-size: clamp(1.12rem, 1.85vw, 1.35rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.7;
}

.shop-start__visual {
  width: 100%;
  max-width: 1100px;
  margin: 8px auto clamp(36px, 4.5vw, 48px);
}

.shop-start__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.shop-start__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.shop-start__img.is-empty {
  min-height: 240px;
  background: linear-gradient(160deg, #e8f6f8, #fff);
  border-radius: 16px;
}

.shop-start__img.is-empty::before,
.shop-start__img .img-ph__label {
  display: none;
}


.shop-start__steps {
  display: none;
}

.shop-start__closing {
  margin: 0;
  text-align: center;
  font-size: clamp(1.05rem, 1.7vw, 1.28rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.shop-start__closing-before {
  color: #222;
}

.shop-start__closing-em {
  display: inline;
  padding: 0.18em 0.45em;
  background: var(--shop-teal);
  color: #fff;
  font-style: normal;
  font-weight: 700;
  border-radius: 0;
}

@media (max-width: 900px) {
  .shop-start__head {
    margin-bottom: 16px;
  }

  .shop-start__title {
    font-size: clamp(1.45rem, 5.8vw, 1.9rem);
  }

  .shop-start__subtitle {
    font-size: clamp(1.12rem, 4.4vw, 1.4rem);
  }

  .shop-start__lead {
    font-size: clamp(1.02rem, 3.8vw, 1.15rem);
  }

  .shop-start__em {
    font-size: clamp(1.05rem, 4vw, 1.22rem);
  }

  
  .shop-start__visual {
    display: none;
  }

  .shop-start__kicker {
    margin: 0 0 0;
    color: var(--shop-teal);
    font-size: clamp(1.2rem, 4.8vw, 1.4rem);
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1.4;
    text-align: center;
    align-self: stretch;
    width: 100%;
  }

  .shop-start__steps {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    margin: 28px auto;
  }

  .shop-start__step {
    position: relative;
    width: min(86%, 320px);
    max-width: 320px;
    margin-inline: auto;
    align-self: center;
  }

  .shop-start__card {
    width: 100%;
    margin-inline: auto;
    padding: 28px 22px 24px;
    background: #fff;
    border: 2px solid var(--shop-teal);
    border-radius: 16px;
    box-sizing: border-box;
    text-align: center;
  }

  .shop-start__step-label {
    margin: 0 0 8px;
    color: var(--shop-teal);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.3;
    text-align: center;
  }

  .shop-start__step-title {
    margin: 0 0 12px;
    color: #222;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.4;
    text-align: center;
  }

  .shop-start__step-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 4px;
    justify-items: center;
  }

  .shop-start__step-list li {
    color: #777;
    font-size: 0.92rem;
    font-weight: 400;
    letter-spacing: 0.02em;
    line-height: 1.55;
    text-align: center;
  }

  .shop-start__closing {
    font-size: clamp(0.98rem, 3.6vw, 1.12rem);
  }

  .shop-start__closing-em {
    display: inline-block;
    margin-top: 6px;
  }
}


.shop-feature {
  --shop-teal: #0094a4;
  --shop-pain: #e8a317;
  background: #fff;
  padding: clamp(48px, 7vw, 88px) 0;
}

.shop-feature--unify {
  padding-top: clamp(24px, 4vw, 40px);
}

.shop-feature__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
  width: min(100% - 32px, 1180px);
}

.shop-feature__inner--reverse {
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.shop-feature__copy {
  min-width: 0;
}

.shop-feature__title {
  margin: 0 0 22px;
  padding-left: 14px;
  border-left: 5px solid #222;
  color: #222;
  font-size: clamp(1.75rem, 3.2vw, 2.4rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.3;
}

.shop-feature__row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 14px;
}

.shop-feature__tag {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.2em;
  padding: 0.18em 0.55em;
  border: 2.5px solid;
  border-radius: 6px;
  font-size: clamp(0.92rem, 1.35vw, 1.05rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.35;
  box-sizing: border-box;
}

.shop-feature__tag--pain {
  border-color: var(--shop-pain);
  color: var(--shop-pain);
  background: #fff;
}

.shop-feature__tag--solve {
  border-color: var(--shop-teal);
  color: var(--shop-teal);
  background: #fff;
}

.shop-feature__text {
  margin: 0;
  flex: 1 1 0;
  min-width: 0;
  color: #333;
  font-size: clamp(1rem, 1.55vw, 1.18rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.55;
  padding-top: 0.12em;
}

.shop-feature__notes {
  margin: 4px 0 28px;
  padding-left: calc(3.2em + 12px);
}

.shop-feature__notes p {
  margin: 0;
  color: #222;
  font-size: clamp(0.92rem, 1.35vw, 1.05rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.65;
}

.shop-feature__icons {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 8px 6px;
}

.shop-feature__icon-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: auto;
  min-width: clamp(76px, 8.5vw, 100px);
  text-align: center;
}

.shop-feature__icon.img-ph {
  width: clamp(64px, 7vw, 80px);
  height: clamp(64px, 7vw, 80px);
  min-height: 0;
  padding: 11px;
  box-sizing: border-box;
  border: 2.5px solid #222;
  border-radius: 50%;
  background: transparent;
  overflow: visible;
  aspect-ratio: 1;
}

.shop-feature__icon.img-ph:not(.is-empty) {
  border: 2.5px solid #222;
  background: transparent;
}

.shop-feature__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  position: relative;
  z-index: 1;
}

.shop-feature__icon.is-empty {
  background: #f0f7f8;
  border: 2.5px dashed rgba(34, 34, 34, 0.4);
  overflow: hidden;
}

.shop-feature__icon.is-empty::before,
.shop-feature__icon .img-ph__label {
  display: none;
}

.shop-feature__icon-item p {
  margin: 0;
  color: #333;
  font-size: clamp(0.88rem, 1.25vw, 1rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.35;
  white-space: nowrap;
}

.shop-feature__x {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  margin-top: clamp(22px, 2.6vw, 30px);
  position: relative;
}

.shop-feature__x::before,
.shop-feature__x::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 18px;
  height: 2.5px;
  background: var(--shop-teal);
  border-radius: 1px;
}

.shop-feature__x::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.shop-feature__x::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.shop-feature__media {
  min-width: 0;
  justify-self: center;
}

.shop-feature__phones.img-ph,
.shop-feature__unify-img.img-ph {
  width: 100%;
  max-width: 480px;
  margin-inline: auto;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.shop-feature__phones img,
.shop-feature__unify-img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.shop-feature__phones.is-empty,
.shop-feature__unify-img.is-empty {
  min-height: 360px;
  background: linear-gradient(160deg, #e8f6f8, #fff);
  border-radius: 16px;
}

.shop-feature__phones.is-empty::before,
.shop-feature__unify-img.is-empty::before,
.shop-feature__phones .img-ph__label,
.shop-feature__unify-img .img-ph__label {
  display: none;
}

@media (max-width: 900px) {
  .shop-feature__inner,
  .shop-feature__inner--reverse {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .shop-feature__copy {
    order: 1;
  }

  .shop-feature__media {
    order: 2;
    width: min(100%, 420px);
  }

  .shop-feature__title {
    font-size: clamp(1.55rem, 6vw, 2rem);
    padding-left: 12px;
    border-left-width: 4px;
  }

  .shop-feature__row {
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 10px;
  }

  .shop-feature__notes {
    padding-left: calc(3.2em + 10px);
    margin-bottom: 22px;
  }

  .shop-feature__icons {
    justify-content: center;
    gap: 10px 2px;
    flex-wrap: nowrap;
  }

  .shop-feature__icon-item {
    width: auto;
    min-width: 0;
    flex: 1 1 0;
  }

  .shop-feature__icon.img-ph {
    width: 52px;
    height: 52px;
    padding: 8px;
  }

  .shop-feature__icon-item p {
    font-size: clamp(0.72rem, 2.8vw, 0.85rem);
    white-space: nowrap;
  }

  .shop-feature__x {
    margin-top: 16px;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
  }

  .shop-feature__x::before,
  .shop-feature__x::after {
    width: 15px;
    height: 2.5px;
  }

  .shop-feature__text {
    font-size: clamp(0.95rem, 3.5vw, 1.08rem);
  }
}


.shop-cart {
  --shop-cart-teal: #00a4b5;
  --shop-cart-bg: #f4f4f4;
  background: var(--shop-cart-bg);
  padding: clamp(56px, 8vw, 96px) 0;
}

.shop-cart__inner {
  width: min(100% - 32px, 920px);
  margin-inline: auto;
}

.shop-cart__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin: 0 0 clamp(36px, 5vw, 52px);
}

.shop-cart__title {
  margin: 0 0 12px;
  color: #111;
  font-size: clamp(1.85rem, 3.4vw, 2.35rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.3;
}

.shop-cart__rule {
  display: block;
  width: 300px;
  height: 1.5px;
  margin: 0 0 22px;
  border: 0;
  background: #555;
}

.shop-cart__mark {
  position: relative;
  isolation: isolate;
  display: inline-block;
  margin: 0 0 18px;
  padding: 0.1em 0.55em 0.08em;
  color: #222;
  font-size: clamp(1.12rem, 2vw, 1.32rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.55;
}

.shop-cart__mark span {
  position: relative;
  z-index: 1;
}

.shop-cart__mark::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.02em;
  height: 0.72em;
  background: #ffe59a;
  border-radius: 999px;
  z-index: 0;
  opacity: 0.92;
}

.shop-cart__desc {
  margin: 0 0 16px;
  color: #444;
  font-size: clamp(0.95rem, 1.55vw, 1.08rem);
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.7;
}

.shop-cart__wave {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0.35em;
  width: max-content;
  max-width: 100%;
  margin: 0 0 8px;
  color: #222;
  font-size: clamp(1rem, 1.65vw, 1.15rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.5;
}

.shop-cart__hand {
  display: block;
  width: 1.35em;
  height: 1.35em;
  flex: 0 0 1.35em;
  margin: 0;
  padding: 0;
  border: 0;
  object-fit: contain;
  object-position: center;
}

.shop-cart__wave span {
  flex: 0 1 auto;
  white-space: nowrap;
}

.shop-cart__sub {
  margin: 0 0 10px;
  color: #222;
  font-size: clamp(0.95rem, 1.55vw, 1.08rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.7;
}

.shop-cart__lead {
  margin: 0;
  color: #111;
  font-size: clamp(1.22rem, 2.3vw, 1.55rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.5;
}

.shop-cart__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(28px, 4vw, 44px) clamp(36px, 6vw, 72px);
  justify-items: center;
  align-items: center;
  width: min(100%, 720px);
  margin-inline: auto;
}

.shop-cart__img.img-ph {
  width: clamp(120px, 18vw, 160px);
  height: auto;
  min-height: 0;
  aspect-ratio: 1;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

.shop-cart__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.shop-cart__img.is-empty {
  background: rgba(0, 164, 181, 0.06);
  border: 1px dashed rgba(0, 164, 181, 0.35);
  border-radius: 12px;
  aspect-ratio: 1;
}

.shop-cart__img.is-empty::before {
  display: none;
}

.shop-cart__img.is-empty .img-ph__label {
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 8px;
  font-size: 0.68rem;
  line-height: 1.3;
  text-align: center;
  color: #0094a4;
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  word-break: break-all;
}

@media (max-width: 720px) {
  .shop-cart__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px 12px;
    width: min(100%, 420px);
  }

  .shop-cart__img.img-ph {
    width: clamp(88px, 26vw, 118px);
  }

  .shop-cart__mark {
    margin-bottom: 14px;
  }

  .shop-cart__lead {
    font-size: clamp(1.12rem, 4.2vw, 1.32rem);
  }
}

@media (max-width: 420px) {
  .shop-cart__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px 8px;
  }

  .shop-cart__img.img-ph {
    width: clamp(82px, 28vw, 108px);
  }
}


.shop-block {
  --shop-block-teal: #00a4b5;
  --shop-block-pain: #f0a020;
  --shop-block-gold: #e8a317;
  --shop-block-mark: #ffe9a8;
  background: #fff;
  padding: clamp(48px, 7vw, 88px) 0;
}

.shop-block--remarket {
  padding-top: clamp(20px, 3vw, 36px);
}

.shop-block--share {
  padding-top: clamp(20px, 3vw, 36px);
}

.shop-block__inner {
  width: min(100% - 32px, 1100px);
  margin-inline: auto;
}

.shop-block__head {
  margin: 0 0 clamp(28px, 4vw, 40px);
}

.shop-block__title {
  margin: 0 0 22px;
  padding-left: 14px;
  border-left: 5px solid #222;
  color: #222;
  font-size: clamp(1.75rem, 3.2vw, 2.35rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.3;
}

.shop-block__row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 14px;
}

.shop-block__tag {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.2em;
  padding: 0.18em 0.55em;
  border: 2.5px solid;
  border-radius: 6px;
  font-size: clamp(0.92rem, 1.35vw, 1.05rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.35;
  box-sizing: border-box;
  background: #fff;
}

.shop-block__tag--pain {
  border-color: #e8a317;
  color: #e8a317;
  background: #fff;
}

.shop-block__tag--solve {
  border-color: #0094a4;
  color: #0094a4;
  background: #fff;
}

.shop-block__text {
  margin: 0;
  flex: 1 1 0;
  min-width: 0;
  color: #333;
  font-size: clamp(1rem, 1.55vw, 1.16rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.55;
  padding-top: 0.12em;
}

.shop-block__text--solve {
  font-weight: 700;
  color: #222;
}

.shop-block__text--solve span {
  display: inline;
  padding: 0.08em 0.18em;
  background: linear-gradient(transparent 52%, var(--shop-block-mark) 52%);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.shop-block__note {
  margin: 4px 0 0;
  padding-left: calc(3.2em + 12px);
  color: #444;
  font-size: clamp(0.92rem, 1.35vw, 1.05rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
}


.shop-block__body--cross {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(28px, 4vw, 48px);
  align-items: start;
}

.shop-cross__copy {
  min-width: 0;
}

.shop-cross__head {
  margin: 0 0 28px;
}

.shop-cross__boxes {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 1.8vw, 18px);
  width: 100%;
}

.shop-cross__box {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  aspect-ratio: 1;
  min-height: 0;
  padding: 28px 12px 18px;
  border: 3px solid #333;
  border-radius: 12px;
  background: #fff;
  text-align: center;
  box-sizing: border-box;
}

.shop-cross__check {
  position: absolute;
  top: -11px;
  left: -11px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--shop-block-teal);
  box-shadow: 0 0 0 4px #fff;
  z-index: 2;
}

.shop-cross__check::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 48%;
  width: 8px;
  height: 12px;
  border: solid #fff;
  border-width: 0 2.5px 2.5px 0;
  transform: translate(-50%, -58%) rotate(45deg);
}

.shop-cross__box-icon.img-ph {
  width: 78px;
  height: 78px;
  min-height: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

.shop-cross__box-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.shop-cross__box-icon.is-empty {
  background: rgba(0, 164, 181, 0.06);
  border: 1px dashed rgba(0, 164, 181, 0.35);
  border-radius: 8px;
}

.shop-cross__box-icon.is-empty::before {
  display: none;
}

.shop-cross__box-icon.is-empty .img-ph__label {
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 4px;
  font-size: 0.58rem;
  line-height: 1.2;
  text-align: center;
  color: #0094a4;
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  word-break: break-all;
}

.shop-cross__box p {
  margin: 0;
  color: #222;
  font-size: clamp(0.95rem, 1.4vw, 1.08rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.35;
}

.shop-cross__card {
  min-width: 0;
  width: 100%;
  max-width: 420px;
  margin-inline: auto;
  justify-self: end;
}

.shop-cross__card-img.img-ph {
  width: 100%;
  max-width: 480px;
  margin-inline: auto;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
  aspect-ratio: auto;
}

.shop-cross__card-img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.shop-cross__card-img.is-empty {
  min-height: 280px;
  background: rgba(0, 164, 181, 0.05);
  border: 1px dashed rgba(0, 164, 181, 0.35);
  border-radius: 12px;
}

.shop-cross__card-img.is-empty::before {
  content: "shop_cross_card.png";
  font-size: 0.85rem;
}

.shop-cross__card-img .img-ph__label {
  display: none;
}


.shop-block__body--remarket {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(28px, 5vw, 56px);
  align-items: start;
}

.shop-remarket__chat {
  min-width: 0;
  width: min(100%, 380px);
  margin-inline: auto 0;
}

.shop-remarket__chat-img.img-ph {
  width: 100%;
  min-height: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
  aspect-ratio: auto;
}

.shop-remarket__chat-img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.shop-remarket__chat-img.is-empty {
  min-height: 320px;
  background: rgba(0, 164, 181, 0.05);
  border: 1px dashed rgba(0, 164, 181, 0.35);
  border-radius: 12px;
}

.shop-remarket__chat-img.is-empty::before {
  content: "shop_remarket_chat.png";
  font-size: 0.85rem;
}

.shop-remarket__chat-img .img-ph__label {
  display: none;
}

.shop-remarket__copy {
  min-width: 0;
}

.shop-remarket__head {
  margin: 0 0 22px;
}

.shop-remarket__targets-lead {
  margin: 0 0 10px;
  color: #333;
  font-size: clamp(1.08rem, 1.7vw, 1.22rem);
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.5;
}

.shop-remarket__target-list {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.shop-remarket__target-img.img-ph {
  width: 100%;
  max-width: 520px;
  min-height: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
  aspect-ratio: auto;
}

.shop-remarket__target-img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.shop-remarket__target-img.is-empty {
  min-height: 52px;
  background: rgba(0, 164, 181, 0.05);
  border: 1px dashed rgba(0, 164, 181, 0.35);
  border-radius: 999px;
}

.shop-remarket__target-img.is-empty::before {
  font-size: 0.75rem;
}

.shop-remarket__target-img .img-ph__label {
  display: none;
}


.shop-block__body--share {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(28px, 5vw, 56px);
  align-items: start;
}

.shop-share__copy {
  min-width: 0;
}

.shop-share__head {
  margin: 0 0 28px;
}

.shop-share__solve {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.shop-share__solve .shop-block__note {
  margin: 0;
  padding-left: 0;
}

.shop-share__steps {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  width: 100%;
}

.shop-share__step {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  width: auto;
  max-width: none;
  flex: 0 0 auto;
  margin-left: -26px;
}

.shop-share__step:first-child {
  margin-left: 0;
}

.shop-share__step:nth-child(1) { z-index: 1; }
.shop-share__step:nth-child(2) { z-index: 2; }
.shop-share__step:nth-child(3) { z-index: 3; }
.shop-share__step:nth-child(4) { z-index: 4; }

.shop-share__step-icon.img-ph {
  width: clamp(92px, 11vw, 112px);
  height: clamp(92px, 11vw, 112px);
  min-height: 0;
  margin: 0;
  padding: 20px;
  box-sizing: border-box;
  border: 2.5px solid var(--shop-block-teal);
  border-radius: 50%;
  background: #fff;
  overflow: visible;
}

.shop-share__step-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.shop-share__step-icon.is-empty {
  background: rgba(0, 164, 181, 0.05);
}

.shop-share__step-icon.is-empty::before,
.shop-share__step-icon .img-ph__label {
  display: none;
}

.shop-share__step p {
  margin: 0;
  color: #222;
  font-size: clamp(0.95rem, 1.4vw, 1.08rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.35;
  white-space: nowrap;
}

.shop-share__card {
  min-width: 0;
  width: 100%;
  max-width: 340px;
  margin-inline: auto;
  justify-self: end;
}

.shop-share__card-img.img-ph {
  width: 100%;
  min-height: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
  aspect-ratio: auto;
}

.shop-share__card-img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.shop-share__card-img.is-empty {
  min-height: 360px;
  background: rgba(0, 164, 181, 0.05);
  border: 1px dashed rgba(0, 164, 181, 0.35);
  border-radius: 12px;
}

.shop-share__card-img.is-empty::before {
  content: "shop_share_product.jpg";
  font-size: 0.85rem;
}

.shop-share__card-img .img-ph__label {
  display: none;
}

@media (max-width: 900px) {
  .shop-block__body--cross,
  .shop-block__body--remarket,
  .shop-block__body--share {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .shop-cross__card {
    justify-self: center;
    max-width: 480px;
  }

  .shop-share__card {
    justify-self: center;
  }

  .shop-remarket__chat {
    margin-inline: auto;
    order: 2;
  }

  .shop-remarket__copy {
    order: 1;
  }

  .shop-share__steps {
    max-width: none;
    margin-inline: 0;
  }
}

@media (max-width: 640px) {
  .shop-block__note {
    padding-left: 0;
  }

  .shop-cross__boxes {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px 6px;
    padding: 10px 4px 0;
    box-sizing: border-box;
  }

  .shop-cross__box {
    gap: 6px;
    padding: 14px 4px 10px;
    border-width: 2px;
    border-radius: 8px;
  }

  .shop-cross__check {
    top: -8px;
    left: -8px;
    width: 20px;
    height: 20px;
    box-shadow: 0 0 0 3px #fff;
  }

  .shop-cross__check::after {
    width: 5px;
    height: 8px;
    border-width: 0 1.8px 1.8px 0;
    left: 50%;
    top: 48%;
    transform: translate(-50%, -58%) rotate(45deg);
  }

  .shop-cross__box-icon.img-ph {
    width: clamp(28px, 9vw, 40px);
    height: clamp(28px, 9vw, 40px);
  }

  .shop-cross__box p {
    font-size: clamp(0.58rem, 2.6vw, 0.72rem);
    letter-spacing: 0.02em;
    line-height: 1.25;
  }

  .shop-share__steps {
    justify-content: center;
  }

  .shop-share__step {
    margin-left: -18px;
  }

  .shop-share__step:first-child {
    margin-left: 0;
  }

  .shop-share__step-icon.img-ph {
    width: 80px;
    height: 80px;
    padding: 15px;
  }

  .shop-share__step p {
    /* Keep the original circles and line box while separating the four labels. */
    max-width: 62px;
    font-size: 0.875rem;
    letter-spacing: 0.02em;
    line-height: calc(0.95rem * 1.35);
    white-space: normal;
    overflow-wrap: anywhere;
  }
}


.shop-preorder {
  --shop-preorder-teal: #00a4b5;
  --shop-preorder-bg: #f5f5f5;
  background: var(--shop-preorder-bg);
  padding: clamp(48px, 7vw, 88px) 0;
}

.shop-preorder__inner {
  width: min(100% - 32px, 980px);
  margin-inline: auto;
}

.shop-preorder__panel-wrap {
  text-align: center;
}

.shop-preorder__title {
  margin: 0 0 clamp(32px, 4.5vw, 48px);
  color: #333;
  font-size: clamp(1.75rem, 3.2vw, 2.35rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.3;
}

.shop-preorder__visual {
  width: min(100%, 560px);
  margin: clamp(16px, 2.5vw, 28px) auto clamp(18px, 2.5vw, 26px);
}

.shop-preorder__img.img-ph {
  width: 100%;
  min-height: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
  aspect-ratio: auto;
}

.shop-preorder__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.shop-preorder__img.is-empty {
  min-height: 220px;
  background: rgba(0, 164, 181, 0.06);
  border: 1px dashed rgba(0, 164, 181, 0.35);
  border-radius: 12px;
}

.shop-preorder__img.is-empty::before {
  content: "shop_preorder_visual.png";
  font-size: 0.85rem;
}

.shop-preorder__img .img-ph__label {
  display: none;
}

.shop-preorder__pain {
  margin: 0 0 clamp(18px, 2.5vw, 26px);
  color: #333;
  font-size: clamp(0.98rem, 1.55vw, 1.12rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.75;
}

.shop-preorder__chevron {
  display: block;
  width: clamp(36px, 4.5vw, 48px);
  height: auto;
  margin: 0 auto clamp(22px, 3vw, 32px);
  color: #0094a4;
  overflow: visible;
}

.shop-preorder__solve {
  margin: 0 0 clamp(28px, 4vw, 40px);
  color: #333;
  font-size: clamp(1.28rem, 2.3vw, 1.55rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.shop-preorder__solve-mark {
  position: relative;
  isolation: isolate;
  display: inline-block;
  padding: 0.1em 0.65em 0.08em;
  color: #333;
  z-index: 0;
}

.shop-preorder__solve-mark::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.08em;
  height: 0.72em;
  background: #ffe59a;
  border-radius: 999px;
  z-index: -1;
}

.shop-preorder__boxes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2.5vw, 24px);
  margin: 0 0 clamp(28px, 4vw, 40px);
}

.shop-preorder__box {
  position: relative;
  padding: 28px 14px 20px;
  border: 1.5px solid var(--shop-preorder-teal);
  border-radius: 12px;
  background: transparent;
  box-sizing: border-box;
}

.shop-preorder__box-title {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 0 14px;
  background: var(--shop-preorder-bg);
  color: #0094a4;
  font-size: clamp(1rem, 1.5vw, 1.12rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.3;
  white-space: nowrap;
}

.shop-preorder__items {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
}

.shop-preorder__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 4px 6px;
  text-align: center;
}

.shop-preorder__item + .shop-preorder__item {
  border-left: 1px solid #e0e0e0;
}

.shop-preorder__icon.img-ph {
  width: 42px;
  height: 42px;
  min-height: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

.shop-preorder__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.shop-preorder__icon.is-empty {
  background: rgba(0, 164, 181, 0.06);
  border: 1px dashed rgba(0, 164, 181, 0.35);
  border-radius: 6px;
}

.shop-preorder__icon.is-empty::before {
  display: none;
}

.shop-preorder__icon.is-empty .img-ph__label {
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 2px;
  font-size: 0.5rem;
  line-height: 1.15;
  text-align: center;
  color: #0094a4;
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  word-break: break-all;
}

.shop-preorder__item p {
  margin: 0;
  color: #444;
  font-size: clamp(0.82rem, 1.2vw, 0.92rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.35;
  white-space: nowrap;
}

.shop-preorder__footer {
  margin: 0;
  color: #333;
  font-size: clamp(1.15rem, 2vw, 1.38rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.shop-preorder__footer-em {
  display: inline-block;
  margin-left: 0.1em;
  padding: 0.1em 0.4em;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.04em;
  background: var(--shop-preorder-teal);
  border-radius: 0;
  vertical-align: baseline;
}

@media (max-width: 900px) {
  .shop-preorder__solve-mark::before {
    content: none;
  }
}

@media (max-width: 780px) {
  .shop-preorder__boxes {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .shop-preorder__box {
    padding: 26px 12px 18px;
  }
}

@media (max-width: 520px) {
  .shop-preorder__items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 0;
  }

  .shop-preorder__item {
    padding: 8px 4px;
  }

  .shop-preorder__item + .shop-preorder__item {
    border-left: 0;
  }

  .shop-preorder__item:nth-child(even) {
    border-left: 1px solid #e0e0e0;
  }

  .shop-preorder__footer-em {
    display: inline;
    padding: 0.08em 0.32em;
  }
}


.shop-block--analytics {
  padding-top: clamp(40px, 6vw, 72px);
  padding-bottom: clamp(40px, 6vw, 72px);
}

.shop-block__body--analytics {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(28px, 5vw, 56px);
  align-items: center;
}

.shop-analytics__copy {
  min-width: 0;
}

.shop-analytics__head {
  margin: 0;
}

.shop-analytics__solve {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  padding-top: 0.08em;
}

.shop-analytics__solve-line {
  margin: 0;
  line-height: 1.55;
}

.shop-analytics__solve-mark {
  position: relative;
  isolation: isolate;
  display: inline-block;
  padding: 0.1em 0.65em 0.08em;
  color: #333;
  font-size: clamp(1rem, 1.55vw, 1.16rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.55;
  z-index: 0;
}

.shop-analytics__solve-mark::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.08em;
  height: 0.72em;
  background: #ffe59a;
  border-radius: 999px;
  z-index: -1;
}

.shop-analytics__media {
  min-width: 0;
  width: 100%;
}

.shop-analytics__img.img-ph {
  width: 100%;
  min-height: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
  aspect-ratio: auto;
}

.shop-analytics__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.shop-analytics__img.is-empty {
  min-height: 320px;
  background: rgba(0, 148, 164, 0.05);
  border: 1px dashed rgba(0, 148, 164, 0.35);
  border-radius: 14px;
}

.shop-analytics__img.is-empty::before {
  content: "shop_analytics_visual.png";
  font-size: 0.85rem;
}

.shop-analytics__img .img-ph__label {
  display: none;
}

@media (max-width: 900px) {
  .shop-block__body--analytics {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}


.shop-tools {
  --shop-tools-teal: #0094a4;
  background: #fff;
  color: #313131;
  padding: clamp(56px, 8vw, 96px) 0;
}

.shop-tools__head {
  text-align: center;
  margin: 0 0 clamp(36px, 4.5vw, 48px);
}

.shop-tools__title {
  margin: 0 0 10px;
  color: #313131;
  font-size: clamp(1.75rem, 3.4vw, 2.2rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.shop-tools__subtitle {
  margin: 0;
  color: #333;
  font-size: clamp(1.4rem, 2.8vw, 1.72rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.shop-tools__addons {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: clamp(36px, 6vw, 90px);
  row-gap: 28px;
  max-width: 900px;
  margin: 0 auto clamp(56px, 8vw, 88px);
  justify-items: center;
}

.shop-tools__addon {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  text-align: center;
}

.shop-tools__addon-icon.img-ph {
  flex: 0 0 auto;
  width: clamp(110px, 14vw, 136px);
  height: clamp(110px, 14vw, 136px);
  min-height: 0;
  padding: 22%;
  border: 2.5px solid var(--shop-tools-teal);
  border-radius: 50%;
  background: #fff;
  box-sizing: border-box;
}

.shop-tools__addon-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.shop-tools__addon-icon.is-empty {
  background: rgba(0, 148, 164, 0.06);
}

.shop-tools__addon-icon.is-empty::before,
.shop-tools__addon-icon .img-ph__label {
  display: none;
}

.shop-tools__addon p {
  margin: 0;
  color: #313131;
  font-size: clamp(1.08rem, 1.8vw, 1.22rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.shop-tools__extras {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
  width: min(100%, 1100px);
  margin-inline: auto;
}

.shop-tools__list {
  display: grid;
  gap: 0;
  min-width: 0;
}

.shop-tools__item {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 16px;
  align-items: start;
  padding: 22px 0;
  border-bottom: 1px solid #e8e8e8;
}

.shop-tools__item:first-child {
  padding-top: 0;
}

.shop-tools__item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.shop-tools__item-icon.img-ph {
  width: 48px;
  height: 48px;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 1;
}

.shop-tools__item-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.shop-tools__item-icon.is-empty {
  background: #f0f0f0;
  border-radius: 50%;
}

.shop-tools__item-icon.is-empty::before,
.shop-tools__item-icon .img-ph__label {
  display: none;
}

.shop-tools__item h3 {
  margin: 0 0 8px;
  color: #313131;
  font-size: clamp(1.35rem, 2.3vw, 1.65rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
}

.shop-tools__tab {
  appearance: none;
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  cursor: pointer;
  text-align: left;
}

.shop-tools__item.is-active h3 {
  color: var(--shop-tools-teal);
}

.shop-tools__note {
  margin: 0 0 6px;
  color: #222;
  font-size: clamp(1.08rem, 1.7vw, 1.22rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.45;
}

.shop-tools__desc {
  margin: 0;
  color: #8a8a8a;
  font-size: clamp(0.92rem, 1.35vw, 1.02rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.shop-tools__media {
  min-width: 0;
  justify-self: end;
  width: min(100%, 360px);
}

.shop-tools__phone.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.shop-tools__phone img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.shop-tools__phone.is-empty {
  min-height: 480px;
  background: linear-gradient(180deg, #f4f5f6, #fff);
  border-radius: 28px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}

.shop-tools__phone.is-empty::before {
  content: "shop_tools_phone.png";
  font-size: 0.85rem;
}

.shop-tools__phone .img-ph__label {
  display: none;
}

@media (max-width: 900px) {
  .shop-tools__title {
    font-size: clamp(1.18rem, 4.8vw, 1.42rem);
  }

  .shop-tools__subtitle {
    font-size: clamp(1.2rem, 4.5vw, 1.42rem);
  }

  .shop-tools__addons {
    column-gap: 20px;
    margin-bottom: 48px;
  }

  .shop-tools__addon-icon.img-ph {
    width: clamp(88px, 20vw, 112px);
    height: clamp(88px, 20vw, 112px);
  }

  .shop-tools__extras {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .shop-tools__media {
    justify-self: center;
    width: min(100%, 320px);
  }
}

@media (max-width: 560px) {
  .shop-tools__addons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 18px;
  }
}


.shop-brands {
  --shop-brands-teal: #00a4b5;
  background: #f7f7f7;
  padding: clamp(56px, 8vw, 96px) 0;
}

.shop-brands__inner {
  width: min(100% - 32px, 980px);
  margin-inline: auto;
}

.shop-brands__head {
  text-align: center;
  margin: 0 0 clamp(32px, 4.5vw, 44px);
}

.shop-brands__title {
  margin: 0 0 16px;
  color: #333;
  font-size: clamp(1.75rem, 3.2vw, 2.25rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.35;
}

.shop-brands__lead {
  margin: 0;
  color: #444;
  font-size: clamp(1.22rem, 2.2vw, 1.48rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.4;
}

.shop-brands__lead em {
  color: #0094a4;
  font-style: normal;
  font-weight: 500;
}

.shop-brands__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(28px, 4vw, 48px);
  width: min(100%, 760px);
  margin: 0 auto clamp(36px, 5vw, 52px);
}

.shop-brands__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 0;
  aspect-ratio: 1;
  padding: 14px 8px 12px;
  border: 2.5px solid var(--shop-brands-teal);
  border-radius: 10px;
  background: #fff;
  text-align: center;
  box-sizing: border-box;
}

.shop-brands__icon.img-ph {
  width: clamp(40px, 5.5vw, 52px);
  height: clamp(40px, 5.5vw, 52px);
  min-height: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

.shop-brands__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.shop-brands__icon.is-empty {
  background: rgba(0, 164, 181, 0.06);
  border: 1px dashed rgba(0, 164, 181, 0.35);
  border-radius: 8px;
}

.shop-brands__icon.is-empty::before {
  display: none;
}

.shop-brands__icon.is-empty .img-ph__label {
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 4px;
  font-size: 0.55rem;
  line-height: 1.2;
  text-align: center;
  color: #0094a4;
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  word-break: break-all;
}

.shop-brands__card p {
  margin: 0;
  color: #444;
  font-size: clamp(0.95rem, 1.4vw, 1.08rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.35;
  white-space: nowrap;
}

.shop-brands__footer {
  margin: 0;
  text-align: center;
  color: #0094a4;
  font-size: clamp(1rem, 1.6vw, 1.18rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

@media (max-width: 720px) {
  .shop-brands__lead {
    font-size: clamp(0.92rem, 3.6vw, 1.05rem);
  }

  .shop-brands__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    width: min(72%, 300px);
    margin-inline: auto;
  }

  .shop-brands__card {
    aspect-ratio: 1;
    gap: 8px;
    padding: 10px 6px 8px;
  }

  .shop-brands__icon.img-ph {
    width: clamp(52px, 18vw, 68px);
    height: clamp(52px, 18vw, 68px);
  }

  .shop-brands__card p {
    font-size: clamp(0.82rem, 3.2vw, 0.95rem);
    white-space: normal;
  }
}


.shop-cta {
  --shop-cta-teal: #00a4b5;
  background: #fff;
  padding: clamp(40px, 5vw, 72px) 0 0;
  overflow: hidden;
}

.shop-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.1fr);
  gap: clamp(20px, 4vw, 56px);
  align-items: end;
  width: min(100% - 32px, 1180px);
  margin-inline: auto;
}

.shop-cta__media {
  justify-self: start;
  align-self: end;
  width: min(100%, 560px);
  margin-bottom: 0;
  line-height: 0;
}

.shop-cta__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.shop-cta__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  vertical-align: bottom;
}

.shop-cta__img.is-empty {
  min-height: 360px;
  background: linear-gradient(160deg, #f7efe2, #fff 55%);
  border-radius: 24px 24px 0 0;
}

.shop-cta__img.is-empty::before,
.shop-cta__img .img-ph__label {
  display: none;
}

.shop-cta__copy {
  min-width: 0;
  padding-bottom: clamp(36px, 5vw, 64px);
}

.shop-cta__title {
  margin: 0 0 20px;
  color: #0094a4;
  font-size: clamp(1.42rem, 2.45vw, 1.78rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.shop-cta__lead {
  margin: 0 0 36px;
  color: #313131;
  font-size: clamp(0.98rem, 1.55vw, 1.12rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
  text-align: center;
}

.shop-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 52px;
  padding: 0 34px;
  border-radius: 999px;
  background: var(--shop-cta-teal);
  color: #fff;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none;
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.shop-cta__btn:hover,
.shop-cta__btn:focus-visible {
  background: #0194a4;
  transform: translateY(-1px);
}

.shop-cta__btn-go {
  position: relative;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
}

.shop-cta__btn-go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translate(-50%, -50%) rotate(45deg);
}

@media (max-width: 900px) {
  .shop-cta__inner {
    grid-template-columns: 1fr;
    gap: 20px;
    justify-items: center;
    text-align: center;
  }

  .shop-cta__media {
    width: min(92%, 400px);
    order: 2;
    justify-self: center;
  }

  .shop-cta__copy {
    order: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 8px;
  }

  .shop-cta__title {
    font-size: clamp(1.22rem, 4.8vw, 1.55rem);
  }

  .shop-cta__lead {
    font-size: clamp(0.92rem, 3.5vw, 1.05rem);
    margin-bottom: 28px;
  }

  .shop-cta__btn {
    min-height: 48px;
    padding: 0 28px;
    font-size: 1rem;
  }
}


.hero--beauty .hero-slide__content {
  color: #333;
}

.hero--beauty .hero-slide__stack {
  align-items: flex-start;
  text-align: left;
  width: min(100%, 560px);
  max-width: min(100%, 560px);
}

.hero--beauty .hero-title {
  margin: 0 0 6px;
  color: #333;
  font-weight: 500;
  line-height: 1.15;
  text-shadow: none;
}

.hero--beauty .hero-title__kicker,
.hero--beauty .hero-title__main {
  display: block;
  color: #333;
  font-size: clamp(2rem, 3.5vw, 2.55rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.18;
}

.hero--beauty .hero-title__main {
  margin-top: 0;
  white-space: nowrap;
}

.hero--beauty .hero-title__gap {
  display: inline-block;
  width: 0.42em;
}

.hero--beauty .hero-features {
  margin: 0 0 2px;
  color: #0094a4;
  font-size: clamp(1.08rem, 1.75vw, 1.28rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.35;
}

.hero--beauty .hero-lead {
  margin: 0 0 22px;
  color: #555;
  font-size: clamp(0.98rem, 1.45vw, 1.12rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.4;
  text-shadow: none;
}

.hero--beauty .hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
}

.hero--beauty .beauty-hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 26px;
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  pointer-events: auto;
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.hero--beauty .beauty-hero-btn__go {
  position: relative;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
}

.hero--beauty .beauty-hero-btn__go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 6px;
  height: 6px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translate(-50%, -50%) rotate(45deg);
}

.hero--beauty .beauty-hero-btn--solid .beauty-hero-btn__go {
  background: #fff;
  color: #e8918a;
}

.hero--beauty .beauty-hero-btn--ghost .beauty-hero-btn__go {
  background: #e8918a;
  color: #fff;
}

.hero--beauty .beauty-hero-btn--solid {
  background: #e8918a;
  border: 2px solid #e8918a;
  color: #fff;
}

.hero--beauty .beauty-hero-btn--ghost {
  background: #fff;
  border: 2px solid #e8918a;
  color: #e8918a;
}

.hero--beauty .beauty-hero-btn:hover,
.hero--beauty .beauty-hero-btn:focus-visible {
  transform: translateY(-2px);
}

.hero--beauty .hero-dot.is-active {
  background: #e8918a;
}

@media (max-width: 900px) {
  .hero--beauty .hero-slide__stack {
    align-items: flex-start;
    text-align: left;
    margin-inline: 0;
    width: 100%;
    max-width: 100%;
  }

  .hero--beauty .hero-slide::after {
    display: block;
    background: rgba(255, 255, 255, 0.55);
  }

  .hero--beauty .hero-title,
  .hero--beauty .hero-title__kicker,
  .hero--beauty .hero-title__main,
  .hero--beauty .hero-features,
  .hero--beauty .hero-lead {
    text-shadow:
      -1px -1px 0 #fff,
      1px -1px 0 #fff,
      -1px 1px 0 #fff,
      1px 1px 0 #fff,
      -2px 0 0 #fff,
      2px 0 0 #fff,
      0 -2px 0 #fff,
      0 2px 0 #fff,
      0 0 3px #fff;
  }

  .hero--beauty .hero-title {
    margin: 0 0 12px;
    color: #333;
  }

  .hero--beauty .hero-title__main {
    white-space: normal;
  }

  .hero--beauty .hero-lead {
    margin: 0 0 20px;
    color: #555;
  }
}

.beauty-fit {
  background: #fff;
  padding: clamp(40px, 6vw, 72px) 0 0;
  overflow-x: clip;
  overflow-y: visible;
}

.beauty-fit .container {
  width: min(100% - 32px, 920px);
  container-type: inline-size;
}

.beauty-fit__scaler {
  display: flex;
  justify-content: center;
  width: 100%;
}

.beauty-fit__head {
  text-align: center;
  margin: 0 0 clamp(16px, 2.5vw, 24px);
}

.beauty-fit__title {
  margin: 0 0 6px;
  color: #e8918a;
  font-size: clamp(1.7rem, 3vw, 2.15rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.3;
}

.beauty-fit__subtitle {
  margin: 0;
  color: #333;
  font-size: clamp(1.85rem, 3.4vw, 2.45rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.beauty-fit__board {
  display: grid;
  grid-template-columns: auto auto auto;
  justify-content: center;
  justify-items: center;
  align-items: stretch;
  width: max-content;
  max-width: 100%;
  margin-inline: auto;
  column-gap: 0;
}

.beauty-fit__side {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  z-index: 2;
  padding-block: 8%;
  min-height: 0;
}

.beauty-fit__side--left {
  align-items: flex-end;
  margin-right: -88px;
}

.beauty-fit__side--right {
  align-items: flex-start;
  margin-left: -88px;
}

.beauty-fit__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.beauty-fit__side--left .beauty-fit__item {
  transform: translateX(72px);
}

.beauty-fit__side--right .beauty-fit__item {
  transform: translateX(-72px);
}

.beauty-fit__side--left .beauty-fit__item:last-child {
  transform: translate(72px, -148px);
}

.beauty-fit__side--left .beauty-fit__item:last-child .beauty-fit__icon,
.beauty-fit__side--left .beauty-fit__item:last-child p {
  transform: none;
}

.beauty-fit__side--right .beauty-fit__item:last-child {
  transform: translate(-72px, -148px);
}

.beauty-fit__icon.img-ph {
  flex: 0 0 150px;
  width: 150px;
  height: 150px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 1;
}

.beauty-fit__item--pink .beauty-fit__icon.img-ph {
  background: transparent;
}

.beauty-fit__icon img {
  object-fit: contain;
}

.beauty-fit__item.is-active .beauty-fit__icon img {
  transform: scale(1.28);
}

.beauty-fit__icon.is-empty {
  background: transparent;
  border: 0;
}

.beauty-fit__icon.is-empty::before,
.beauty-fit__icon .img-ph__label,
.beauty-fit__arrow.is-empty::before,
.beauty-fit__arrow .img-ph__label {
  display: none;
}

.beauty-fit__arrow.img-ph {
  position: absolute;
  top: 40px;
  width: 88px;
  height: 68px;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.beauty-fit__side--left .beauty-fit__arrow.img-ph {
  left: calc(100% - 2px);
}

.beauty-fit__side--left .beauty-fit__item:first-child .beauty-fit__arrow.img-ph {
  left: calc(100% + 16px);
}

.beauty-fit__side--left .beauty-fit__item:last-child .beauty-fit__arrow.img-ph {
  left: calc(100% - 14px);
}

.beauty-fit__side--right .beauty-fit__arrow.img-ph {
  right: calc(100% - 2px);
}

.beauty-fit__side--right .beauty-fit__item:first-child .beauty-fit__arrow.img-ph {
  right: calc(100% + 20px);
}

.beauty-fit__arrow img {
  object-fit: contain;
}

.beauty-fit__item p {
  margin: 0;
  color: #e8918a;
  font-size: clamp(1.28rem, 2vw, 1.5rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.3;
}

.beauty-fit__phone-wrap {
  width: 920px;
  min-width: 0;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  margin-bottom: 0;
}

.beauty-fit__phone {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
  display: block;
  line-height: 0;
}

.beauty-fit__phone img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  object-position: center bottom;
}

.beauty-fit__phone.is-empty {
  min-height: 360px;
  background: linear-gradient(135deg, #f7e8e6, #fff);
  border: 1px dashed rgba(232, 154, 154, 0.4);
  border-radius: 16px;
}

@media (max-width: 900px) {
  .beauty-fit {
    padding: clamp(28px, 5vw, 40px) 0 0;
    overflow: visible;
  }

  .beauty-fit .container {
    width: min(100% - 16px, 920px);
    overflow: visible;
    container-type: normal;
  }

  .beauty-fit__title {
    font-size: clamp(1.2rem, 5vw, 1.45rem);
  }

  .beauty-fit__subtitle {
    font-size: clamp(1.25rem, 5.4vw, 1.55rem);
  }

  .beauty-fit__scaler {
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0;
    left: auto;
    transform: none;
    overflow: visible;
    display: block;
  }

  .beauty-fit__board {
    display: grid;
    grid-template-columns: 118px 118px;
    justify-content: center;
    justify-items: center;
    align-items: start;
    column-gap: 18px;
    row-gap: 8px;
    width: 100%;
    margin: 12px auto 0;
  }

  .beauty-fit__side {
    display: contents;
  }

  .beauty-fit__side--left .beauty-fit__item:first-child {
    order: 1;
  }

  .beauty-fit__side--right .beauty-fit__item:first-child {
    order: 2;
  }

  .beauty-fit__side--left .beauty-fit__item:last-child {
    order: 3;
  }

  .beauty-fit__side--right .beauty-fit__item:last-child {
    order: 4;
  }

  .beauty-fit__phone-wrap {
    order: 5;
    grid-column: 1 / -1;
    position: relative;
    z-index: 1;
    width: min(100%, 460px);
    margin: 4px auto 0;
    display: block;
  }

  .beauty-fit__phone {
    display: block;
    width: 100%;
    overflow: hidden;
    aspect-ratio: 978 / 1768;
  }

  .beauty-fit__phone img {
    display: block;
    width: 298%;
    max-width: none;
    height: auto;
    margin-left: -98%;
    margin-top: -26%;
    object-fit: fill;
    object-position: center bottom;
  }

  .beauty-fit__side--left .beauty-fit__item,
  .beauty-fit__side--right .beauty-fit__item,
  .beauty-fit__side--left .beauty-fit__item:last-child,
  .beauty-fit__side--right .beauty-fit__item:last-child,
  .beauty-fit__side--left .beauty-fit__item:last-child .beauty-fit__icon,
  .beauty-fit__side--left .beauty-fit__item:last-child p,
  .beauty-fit__item.is-active .beauty-fit__icon img {
    transform: none;
  }

  .beauty-fit__item {
    pointer-events: auto;
    gap: 6px;
  }

  .beauty-fit__icon.img-ph {
    flex-basis: 118px;
    width: 118px;
    height: 118px;
  }

  .beauty-fit__arrow.img-ph {
    display: none;
  }

  .beauty-fit__item p {
    font-size: 1.05rem;
    letter-spacing: 0.04em;
  }
}

.beauty-booking-flow {
  background: transparent;
}

.beauty-booking {
  position: relative;
  z-index: 3;
  overflow: visible;
  padding: clamp(48px, 7vw, 88px) 0 clamp(12px, 2vw, 24px);
  background: #fdf6f7;
}

.beauty-booking .container {
  width: min(100% - 32px, 1360px);
}

.beauty-booking__inner {
  position: relative;
  z-index: 1;
}

.beauty-booking__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr);
  gap: clamp(40px, 6vw, 88px);
  align-items: center;
}

.beauty-booking__media {
  position: relative;
  z-index: 2;
  justify-self: stretch;
  width: 100%;
  overflow: visible;
  margin-top: 136px;
}

.beauty-booking__frame {
  overflow: visible;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.beauty-booking__ui.img-ph {
  width: 100%;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
  overflow: visible;
  box-shadow: none;
  filter: none;
}

.beauty-booking__ui img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  object-position: center;
  box-shadow: none;
  filter: none;
}

.beauty-booking__copy {
  min-width: 0;
}

.beauty-booking__title {
  display: flex;
  align-items: stretch;
  gap: 14px;
  margin: 0 0 12px;
  color: #111;
  font-size: clamp(1.9rem, 3.4vw, 2.25rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.2;
}

.beauty-booking__title::before {
  content: "";
  width: 6px;
  flex: 0 0 6px;
  background: #111;
}

.beauty-booking__lead {
  margin: 0 0 18px;
  color: #111;
  font-size: clamp(1.35rem, 2.4vw, 1.7rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.35;
}

.beauty-booking__alert {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 22px;
  padding: 0;
  color: #e8918a;
  font-size: clamp(1.35rem, 2.3vw, 1.7rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.4;
  background: none;
  border: 0;
}

.beauty-booking__alert-icon.img-ph {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  transform: translateY(3px);
}

.beauty-booking__alert-icon img {
  object-fit: contain;
}

.beauty-booking__list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  width: max-content;
  max-width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.beauty-booking__item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: max-content;
  max-width: 100%;
  padding: 0;
  color: #e8918a;
  font-size: clamp(1.22rem, 2vw, 1.5rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.4;
  background: none;
  border-radius: 0;
  box-shadow: none;
}

.beauty-booking__item--pill {
  box-sizing: border-box;
  width: 100%;
  padding: 10px 28px 10px 18px;
  background: #fff;
  border-radius: 999px;
  box-shadow: 0 6px 18px rgba(40, 24, 28, 0.08);
}

.beauty-booking__icon.img-ph {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.beauty-booking__icon img {
  object-fit: contain;
}

.beauty-booking__list em {
  color: #e4b550;
  font-style: normal;
  font-weight: 800;
}

.beauty-booking__alert-icon .img-ph__label,
.beauty-booking__icon .img-ph__label,
.beauty-booking__alert-icon.is-empty::before,
.beauty-booking__icon.is-empty::before {
  display: none;
}

.beauty-ops {
  position: relative;
  z-index: 1;
  background: #fff;
  padding: clamp(12px, 2vw, 24px) 0 clamp(48px, 7vw, 88px);
}

.beauty-ops__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  text-align: center;
  justify-items: center;
  width: 100%;
  max-width: min(1080px, 92%);
  margin-inline: auto;
  margin-top: clamp(-28px, -3vw, -12px);
  padding-inline: 0;
}

.beauty-ops__item {
  width: 100%;
  margin-left: -216px;
}

.beauty-ops__phone {
  width: 100%;
  margin-inline: auto;
  min-height: 0;
  border: 0;
  background: transparent;
  aspect-ratio: auto;
}

.beauty-ops__phone img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.beauty-ops__rule {
  width: 100%;
  height: 3px;
  margin-top: clamp(64px, 7vw, 96px);
  background: #c8c8c8;
}

.beauty-crm,
.beauty-audience {
  background: #111;
  color: #fff;
  padding: clamp(48px, 7vw, 88px) 0;
}

.beauty-ad,
.beauty-send,
.beauty-ticket,
.beauty-extras {
  background: #fff;
  color: #1f2428;
  padding: clamp(48px, 7vw, 88px) 0;
}

.beauty-extras {
  padding-top: clamp(24px, 4vw, 40px);
}

.beauty-ad {
  padding-bottom: clamp(40px, 6vw, 64px);
}

.beauty-ad__copy {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
}

.beauty-ad__title {
  margin: 0 0 14px;
  padding-left: 16px;
  border-left: 6px solid #111;
  color: #111;
  font-size: clamp(1.9rem, 3.4vw, 2.25rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.2;
  width: fit-content;
}

.beauty-ad__lead {
  margin: 0 0 12px;
  color: #4a4a4a;
  font-size: clamp(0.98rem, 1.55vw, 1.12rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.beauty-ad__highlight {
  margin: 0 0 22px;
  color: #111;
  font-size: clamp(1.4rem, 2.6vw, 1.8rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.45;
}

.beauty-ad__mark {
  position: relative;
  display: inline-block;
  color: #0094a4;
  padding-bottom: 0.18em;
}

.beauty-ad__mark-line {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 10px;
  pointer-events: none;
}

.beauty-ad__card {
  margin: 0 0 16px;
  padding: 16px 18px 18px;
  border: 1px solid #e6e6e6;
  border-radius: 14px;
  background: #fff;
}

.beauty-ad__card-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
}

.beauty-ad__card-head h3 {
  margin: 0;
  font-size: clamp(1.05rem, 1.7vw, 1.2rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
}

.beauty-ad__card--teal .beauty-ad__card-head h3 {
  color: #0094a4;
}

.beauty-ad__card--pink .beauty-ad__card-head h3 {
  color: #ed8282;
}

.beauty-ad__card-icon.img-ph {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 1;
}

.beauty-ad__card-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.beauty-ad__card-icon.is-empty {
  background: rgba(0, 164, 181, 0.08);
  border-radius: 6px;
}

.beauty-ad__card--pink .beauty-ad__card-icon.is-empty {
  background: rgba(237, 130, 130, 0.12);
}

.beauty-ad__card-icon.is-empty::before,
.beauty-ad__card-icon .img-ph__label {
  display: none;
}

.beauty-ad__grid {
  margin: 0 auto;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: max-content max-content;
  justify-content: center;
  justify-items: start;
  width: fit-content;
  max-width: 100%;
  column-gap: 28px;
  row-gap: 12px;
}

.beauty-ad__card--teal .beauty-ad__grid {
  margin: 0;
  width: auto;
  justify-content: start;
  padding-left: calc(28px + 10px);
}

.beauty-ad__grid li {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #333;
  font-size: clamp(0.9rem, 1.35vw, 1rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.4;
}

.beauty-ad__grid-check.img-ph {
  flex: 0 0 auto;
  width: 1.15em;
  height: 1.15em;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 1;
}

.beauty-ad__grid-check img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.beauty-ad__grid-check.is-empty {
  border: 0;
  border-radius: 50%;
  background: #00a4b5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 10px no-repeat;
}

.beauty-ad__grid-check.is-empty::before,
.beauty-ad__grid-check .img-ph__label {
  display: none;
}

.beauty-ad__scenes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 16px;
}

.beauty-ad__scene {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.beauty-ad__scene-icon.img-ph {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 1;
}

.beauty-ad__scene-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.beauty-ad__scene-icon.is-empty {
  background: rgba(237, 130, 130, 0.12);
  border-radius: 8px;
}

.beauty-ad__scene-icon.is-empty::before,
.beauty-ad__scene-icon .img-ph__label {
  display: none;
}

.beauty-ad__scene p {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  color: #333;
  font-size: clamp(0.95rem, 1.45vw, 1.08rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.35;
}

.beauty-ad__card--pink {
  margin-bottom: 6px;
}

.beauty-ad__foot {
  margin: 0;
  text-align: center;
  color: #ed8282;
  font-size: clamp(1.15rem, 1.8vw, 1.35rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.beauty-ad__foot strong {
  font-weight: 800;
  color: #888;
  font-size: 1.28em;
}

.beauty-ad__star {
  color: #ebc13e;
  margin: 0 0.28em;
  font-size: 1.25em;
}

.beauty-ad__break,
.beauty-ad__star--m {
  display: none;
}

.beauty-send {
  border-top: 0;
  padding-top: clamp(28px, 4vw, 48px);
  padding-bottom: clamp(28px, 4vw, 48px);
}

.beauty-send::before {
  content: none;
  display: none;
}

.beauty-send__copy {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
}

.beauty-send__title {
  margin: 0 0 14px;
  padding-left: 16px;
  border-left: 6px solid #111;
  color: #111;
  font-size: clamp(1.9rem, 3.4vw, 2.25rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.2;
  width: fit-content;
}

.beauty-send__lead {
  margin: 0 0 12px;
  color: #4a4a4a;
  font-size: clamp(0.98rem, 1.55vw, 1.12rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.beauty-send__highlight {
  margin: 0 0 22px;
  color: #111;
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.45;
}

.beauty-send__mark {
  color: #0094a4;
}

.beauty-send__card {
  margin: 0 0 16px;
  padding: 16px 18px 18px;
  border: 1px solid #e6e6e6;
  border-radius: 14px;
  background: #fff;
}

.beauty-send__card:last-child {
  margin-bottom: 0;
}

.beauty-send__card-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
}

.beauty-send__card-head h3 {
  margin: 0;
  font-size: clamp(1.05rem, 1.7vw, 1.2rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
}

.beauty-send__card--teal .beauty-send__card-head h3 {
  color: #0094a4;
}

.beauty-send__card--pink .beauty-send__card-head h3 {
  color: #ed8282;
}

.beauty-send__card-icon.img-ph {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 1;
}

.beauty-send__card-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.beauty-send__card-icon.is-empty {
  background: rgba(0, 164, 181, 0.08);
  border-radius: 6px;
}

.beauty-send__card--pink .beauty-send__card-icon.is-empty {
  background: rgba(237, 130, 130, 0.12);
}

.beauty-send__card-icon.is-empty::before,
.beauty-send__card-icon .img-ph__label {
  display: none;
}

.beauty-send__checks {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}

.beauty-send__card--teal .beauty-send__checks {
  padding-left: calc(28px + 10px);
}

.beauty-send__checks li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #333;
  font-size: clamp(0.95rem, 1.45vw, 1.08rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.45;
}

.beauty-send__check-icon.img-ph {
  flex: 0 0 auto;
  width: 1.2em;
  height: 1.2em;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 1;
}

.beauty-send__check-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.beauty-send__check-icon.is-empty {
  border: 2px solid #888;
  border-radius: 50%;
  background: transparent;
}

.beauty-send__check-icon.is-empty::before,
.beauty-send__check-icon .img-ph__label {
  display: none;
}

.beauty-send__timing {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  justify-content: start;
  column-gap: 36px;
  row-gap: 16px;
  padding-left: calc(28px + 10px);
}

.beauty-send__timing-item {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #333;
  font-size: clamp(0.95rem, 1.45vw, 1.08rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.35;
}

.beauty-send__timing-icon.img-ph {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 1;
}

.beauty-send__timing-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.beauty-send__timing-icon.is-empty {
  background: rgba(120, 120, 120, 0.1);
  border-radius: 8px;
}

.beauty-send__timing-icon.is-empty::before,
.beauty-send__timing-icon .img-ph__label {
  display: none;
}

.beauty-ticket {
  padding-top: clamp(28px, 4vw, 48px);
  padding-bottom: clamp(40px, 6vw, 64px);
}

.beauty-ticket__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
}

.beauty-ticket__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.beauty-ticket__title {
  margin: 0 0 16px;
  padding-left: 16px;
  border-left: 6px solid #111;
  color: #111;
  font-size: clamp(1.9rem, 3.4vw, 2.25rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.2;
}

.beauty-ticket__lead {
  margin: 0 0 14px;
  color: #333;
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.55;
}

.beauty-ticket__highlight {
  margin: 0 0 32px;
  color: #111;
  font-size: clamp(1.28rem, 2.4vw, 1.65rem);
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.45;
}

.beauty-ticket__mark {
  position: relative;
  display: inline-block;
  color: #0094a4;
  padding-bottom: 0.18em;
}

.beauty-ticket__mark-line {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 10px;
  pointer-events: none;
}

.beauty-ticket__checks {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: max-content max-content;
  justify-content: start;
  column-gap: 48px;
  row-gap: 18px;
}

.beauty-ticket__checks li {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #ed8282;
  font-size: clamp(1.05rem, 1.7vw, 1.22rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.beauty-ticket__check-icon.img-ph {
  flex: 0 0 auto;
  width: 1.35em;
  height: 1.35em;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 1;
}

.beauty-ticket__check-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.beauty-ticket__check-icon.is-empty {
  background: transparent;
  border: 2px solid #ed8282;
  border-radius: 50%;
}

.beauty-ticket__check-icon.is-empty::before,
.beauty-ticket__check-icon .img-ph__label {
  display: none;
}

.beauty-ticket__media {
  width: 100%;
  line-height: 0;
}

.beauty-ticket__phone {
  width: 100%;
  max-width: 560px;
  margin-inline: auto;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
  overflow: visible;
}

.beauty-ticket__phone.img-ph {
  border: 0;
  background: transparent;
  overflow: visible;
}

.beauty-ticket__phone img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}


.beauty-remind {
  background: var(--bg-soft);
  color: #1f2428;
  padding: clamp(56px, 8vw, 96px) 0 clamp(48px, 7vw, 80px);
}

.beauty-remind__head {
  text-align: center;
  margin: 0 0 clamp(36px, 5vw, 52px);
}

.beauty-remind__title {
  margin: 0 0 12px;
  color: #222;
  font-size: clamp(1.9rem, 3.4vw, 2.35rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.25;
}

.beauty-remind__subtitle {
  margin: 0 0 22px;
  color: #666;
  font-size: clamp(1.28rem, 2.4vw, 1.55rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.55;
}

.beauty-remind__rule {
  width: min(100%, 560px);
  height: 1px;
  margin: 0 auto 22px;
  background: #dbdbdb;
}

.beauty-remind__em {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin: 0;
  color: #0094a4;
  font-size: clamp(1.65rem, 2.9vw, 2.15rem);
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-align: center;
}

.beauty-remind__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(32px, 5vw, 60px);
  max-width: 860px;
  margin-inline: auto;
}

.beauty-remind__card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding-top: 16px;
}

.beauty-remind__tag {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 2;
  transform: translate(-50%, -50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  min-width: 5.75em;
  padding: 0 1.35em;
  border: 2.5px solid #ed8282;
  border-radius: 999px;
  background: #fff;
  color: #ed8282;
  font-size: 1.05rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1;
  white-space: nowrap;
  box-sizing: border-box;
}

.beauty-remind__box {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1;
  max-width: 208px;
  margin: 0 0 8px;
  padding: clamp(14px, 2.2vw, 20px);
  border: 3px solid #ed8282;
  border-radius: 24px;
  background: #fff;
  box-sizing: border-box;
  overflow: visible;
}

.beauty-remind__icon.img-ph {
  width: 82%;
  max-width: 180px;
  aspect-ratio: 1;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.beauty-remind__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.beauty-remind__icon.is-empty {
  background: rgba(237, 130, 130, 0.1);
  border-radius: 12px;
}

.beauty-remind__icon.is-empty::before,
.beauty-remind__icon .img-ph__label {
  display: none;
}

.beauty-remind__text {
  margin: 0;
  color: #4a4a4a;
  font-size: clamp(1rem, 1.55vw, 1.12rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.45;
}


.beauty-addons {
  background: #fff;
  color: #313131;
  padding: clamp(56px, 8vw, 96px) 0 clamp(72px, 10vw, 120px);
}

.beauty-addons__head {
  text-align: center;
  margin: 0 0 clamp(36px, 4.5vw, 48px);
}

.beauty-addons__title {
  margin: 0 0 6px;
  color: #313131;
  font-size: clamp(1.95rem, 3.6vw, 2.25rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.beauty-addons__subtitle {
  margin: 0;
  color: #5c5c5c;
  font-size: clamp(1.4rem, 2.8vw, 1.7rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.beauty-addons__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: clamp(48px, 8vw, 110px);
  row-gap: 28px;
  max-width: 900px;
  margin-inline: auto;
  justify-items: center;
}

.beauty-addons__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  text-align: center;
}

.beauty-addons__icon.img-ph {
  flex: 0 0 auto;
  width: clamp(120px, 15.8vw, 143px);
  height: clamp(120px, 15.8vw, 143px);
  min-height: 0;
  padding: 22%;
  border: 2.5px solid #ed8282;
  border-radius: 50%;
  background: #fff;
  box-sizing: border-box;
}

.beauty-addons__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.beauty-addons__icon.is-empty {
  background: rgba(237, 130, 130, 0.08);
}

.beauty-addons__icon.is-empty::before,
.beauty-addons__icon .img-ph__label {
  display: none;
}

.beauty-addons__item p {
  margin: 0;
  color: #313131;
  font-size: clamp(1.15rem, 1.9vw, 1.28rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.4;
}


.beauty-cta {
  background: #fff;
  padding: clamp(40px, 5vw, 72px) 0 0;
  overflow: hidden;
}

.beauty-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.1fr);
  gap: clamp(20px, 4vw, 56px);
  align-items: end;
  width: min(100% - 32px, 1180px);
}

.beauty-cta__media {
  justify-self: start;
  align-self: end;
  width: min(100%, 560px);
  margin-bottom: 0;
  line-height: 0;
}

.beauty-cta__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.beauty-cta__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  vertical-align: bottom;
}

.beauty-cta__img.is-empty {
  min-height: 360px;
  background: linear-gradient(160deg, #fdeced, #fff 55%);
  border-radius: 24px 24px 0 0;
}

.beauty-cta__img.is-empty::before,
.beauty-cta__img .img-ph__label {
  display: none;
}

.beauty-cta__copy {
  min-width: 0;
  padding-bottom: clamp(36px, 5vw, 64px);
}

.beauty-cta__title {
  margin: 0 0 18px;
  font-size: clamp(1.85rem, 3.2vw, 2.35rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.28;
}

.beauty-cta__title-pink,
.beauty-cta__title-dark {
  display: block;
}

.beauty-cta__title-pink {
  color: #ed8282;
}

.beauty-cta__title-dark {
  color: #313131;
  font-size: 1.22em;
}

.beauty-cta__lead {
  margin: 0 0 28px;
  color: #313131;
  font-size: clamp(1.18rem, 2vw, 1.4rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.75;
}

.beauty-cta__price {
  margin: 0 0 22px;
  color: #313131;
  font-size: clamp(1.12rem, 1.9vw, 1.35rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.4;
}

.beauty-cta__price em {
  margin-left: 0.2em;
  color: #0094a4;
  font-style: normal;
  font-weight: 700;
}

.beauty-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 52px;
  padding: 0 34px;
  border-radius: 999px;
  background: #01a4b5;
  color: #fff;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none;
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.beauty-cta__btn:hover,
.beauty-cta__btn:focus-visible {
  background: #0194a4;
  transform: translateY(-1px);
}

.beauty-cta__btn-go {
  position: relative;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
}

.beauty-cta__btn-go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translate(-50%, -50%) rotate(45deg);
}


.beauty-cycle.section.cycle {
  background: var(--bg-soft);
  padding-top: clamp(56px, 8vw, 100px);
  padding-bottom: clamp(64px, 9vw, 110px);
}

.beauty-cycle__title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.12em;
  margin: 0 auto 14px;
  text-align: center;
  color: #222;
  font-size: clamp(1.55rem, 3.2vw, 2.25rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.beauty-cycle__title-lead {
  font-weight: 700;
}

.beauty-cycle__title-mark {
  position: relative;
  display: inline-block;
  color: #0094a4;
  padding-bottom: 0.18em;
}

.beauty-cycle__title-line {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 10px;
  pointer-events: none;
}

.beauty-cycle__rocket.img-ph {
  flex: 0 0 auto;
  width: 1.35em;
  height: 1.35em;
  min-height: 0;
  margin: 0 0 0 0.1em;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 1;
}

.beauty-cycle__rocket img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.beauty-cycle__rocket.is-empty {
  background: transparent;
}

.beauty-cycle__rocket.is-empty::before {
  content: "🚀";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 0.9em;
}

.beauty-cycle__rocket .img-ph__label {
  display: none;
}

.beauty-cycle__subtitle {
  margin: 0 auto clamp(36px, 5vw, 56px);
  text-align: center;
  color: #666;
  font-size: clamp(1.4rem, 2.5vw, 1.7rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.55;
  max-width: 36em;
}

.beauty-cycle .cycle-track {
  border-color: #f0b0b0;
}

.beauty-cycle .cycle-arrow--12,
.beauty-cycle .cycle-arrow--23 {
  border-width: 9px 0 9px 15px;
  border-color: transparent transparent transparent #ed8282;
}

.beauty-cycle .cycle-arrow--45,
.beauty-cycle .cycle-arrow--56 {
  border-width: 9px 15px 9px 0;
  border-color: transparent #ed8282 transparent transparent;
}

.beauty-cycle .cycle-core__name {
  margin: 0 0 10px;
  color: #ed8282;
  font-size: clamp(1.85rem, 3.2vw, 2.4rem);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.25;
}

.beauty-cycle .cycle-core__sub {
  color: #555;
  font-size: clamp(1.05rem, 1.7vw, 1.28rem);
  font-weight: 400;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.beauty-cycle .cycle-core__sub span {
  width: 36px;
  background: #c8c8c8;
  opacity: 1;
}

.beauty-cycle .cycle-side {
  border: 1.5px solid #ed8282;
  border-radius: 14px;
  color: #ed8282;
  padding: 1.35em 0.85em;
  font-size: 1.28rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 1.55;
  background: #fff;
  writing-mode: vertical-rl;
  text-orientation: upright;
  white-space: nowrap;
  width: max-content;
  height: max-content;
  max-width: none;
  box-sizing: border-box;
}

.beauty-cycle .cycle-step {
  width: 230px;
}

.beauty-cycle .cycle-step__copy {
  margin-bottom: 10px;
}

.beauty-cycle .cycle-step--4 .cycle-step__copy,
.beauty-cycle .cycle-step--5 .cycle-step__copy,
.beauty-cycle .cycle-step--6 .cycle-step__copy {
  margin-top: 10px;
}

.beauty-cycle .cycle-step__num,
.beauty-cycle .cycle-step h3 {
  color: #ed8282;
}

.beauty-cycle .cycle-step__copy h3 {
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.35;
}

.beauty-cycle .cycle-step__copy p {
  color: #4a4a4a;
  font-size: 0.98rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.45;
}

.beauty-cycle .cycle-step__icon,
.beauty-cycle .cycle-step__icon.img-ph {
  width: 76px;
  height: 76px;
  border: 1.5px solid #f0b0b0;
  background: #fff;
  box-sizing: border-box;
}

.beauty-cycle .cycle-step__icon img {
  padding: 12px;
  box-sizing: border-box;
}

.beauty-extras .food-feature__heading {
  margin: 0;
}

.beauty-extras__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
  margin: 0 0 clamp(36px, 5vw, 56px);
  color: #222;
  font-size: clamp(1.55rem, 3.2vw, 2.15rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.35;
  text-align: center;
}

.beauty-extras__heading-text {
  display: inline;
}

.beauty-extras__heading em {
  font-style: normal;
  font-weight: 500;
  color: #ed8282;
}

.beauty-extras__heart {
  flex: 0 0 auto;
  color: #ed8282;
  font-size: 1.35em;
  line-height: 1;
  margin-left: 0.08em;
}

.beauty-crm {
  background: #fff;
  color: #333;
  padding: clamp(48px, 6vw, 80px) 0 clamp(40px, 6vw, 72px);
}

.beauty-crm .container {
  width: min(100% - 32px, 1280px);
}

.beauty-crm__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
}

.beauty-crm__media {
  position: relative;
  overflow: visible;
}

.beauty-crm__phone.img-ph {
  width: 68%;
  margin-inline: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
  box-shadow: none;
}

.beauty-crm__phone img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.beauty-crm__arrow.img-ph {
  position: absolute;
  right: -8%;
  top: 42%;
  z-index: 2;
  width: min(140px, 28%);
  height: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

.beauty-crm__arrow img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.beauty-crm__copy {
  min-width: 0;
}

.beauty-crm__head {
  margin: 0 0 28px;
}

.beauty-crm__title {
  display: flex;
  align-items: stretch;
  gap: 12px;
  margin: 0 0 10px;
  color: #111;
  font-size: clamp(1.9rem, 3.4vw, 2.25rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.2;
}

.beauty-crm__title::before {
  content: "";
  width: 6px;
  flex: 0 0 6px;
  background: #111;
}

.beauty-crm__lead {
  margin: 0;
  padding-left: 28px;
  color: #333;
  font-size: clamp(1.2rem, 2.2vw, 1.45rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.beauty-crm__highlight {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin: 0 0 36px;
  color: #0094a4;
  font-size: clamp(1.65rem, 2.9vw, 2.15rem);
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-align: center;
}

.beauty-crm__spark.img-ph {
  flex: 0 0 42px;
  width: 42px;
  height: 54px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.beauty-crm__spark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.beauty-crm__spark--l {
  margin-right: 10px;
}

.beauty-crm__spark--l img {
  object-position: right center;
}

.beauty-crm__spark--r {
  margin-left: 2px;
}

.beauty-crm__spark--r img {
  object-position: left center;
}

.beauty-crm__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin: 0 0 40px;
}

.beauty-crm__card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 22px 22px 18px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.beauty-crm__card-label {
  margin: 0;
  color: #111;
  font-size: 0.82rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.35;
}

.beauty-crm__card-label span {
  display: block;
  font-size: 0.72rem;
  color: #aaa;
}

.beauty-crm__tags {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 8px;
  min-height: 0;
  padding: 8px 12px;
  border: 1px solid #d8d8d8;
  border-radius: 6px;
}

.beauty-crm__tag {
  display: inline-flex;
  align-items: center;
  padding: 5px 14px;
  border-radius: 999px;
  color: #fff;
  font-size: 0.92rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.3;
}

.beauty-crm__tag--pink {
  background: #f4b4b4;
}

.beauty-crm__tag--grey {
  background: #6a6a6a;
}

.beauty-crm__card-foot {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 4px 0 0;
  font-size: 1.05rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}

.beauty-crm__card-foot::before {
  content: "";
  width: 1.25em;
  height: 1.25em;
  flex: 0 0 1.25em;
  border-radius: 50%;
  border: 2px solid currentColor;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8918a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px;
}

.beauty-crm__card--pink .beauty-crm__card-foot {
  color: #e8918a;
  font-size: 1.55rem;
}

.beauty-crm__card--grey .beauty-crm__card-foot {
  color: #555;
  font-size: 1.55rem;
}

.beauty-crm__card--grey .beauty-crm__card-foot::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555555' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
}

.beauty-crm__feats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 0 36px;
  padding: 8px 0;
  list-style: none;
}

.beauty-crm__feats li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 4px 10px;
  color: #e8918a;
  font-size: clamp(1.15rem, 1.9vw, 1.38rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  text-align: center;
}

.beauty-crm__feats li + li {
  border-left: 1px solid #e8918a;
}

.beauty-crm__feat-icon.img-ph {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.beauty-crm__feat-icon img {
  object-fit: contain;
}

.beauty-crm__slogan {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin: -36px 0 0;
  color: #444;
  font-size: clamp(1.15rem, 1.9vw, 1.38rem);
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1.5;
  text-align: center;
}

.beauty-crm__star.img-ph {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.beauty-crm__star img {
  object-fit: contain;
}

.beauty-crm__phone .img-ph__label,
.beauty-crm__arrow .img-ph__label,
.beauty-crm__spark .img-ph__label,
.beauty-crm__feat-icon .img-ph__label,
.beauty-crm__star .img-ph__label,
.beauty-crm__phone.is-empty::before,
.beauty-crm__arrow.is-empty::before,
.beauty-crm__spark.is-empty::before,
.beauty-crm__feat-icon.is-empty::before,
.beauty-crm__star.is-empty::before {
  display: none;
}

.beauty-data {
  background: #fff;
  color: #1f2428;
  padding: clamp(48px, 7vw, 88px) 0 0;
  overflow: hidden;
}

.beauty-data__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding-bottom: clamp(32px, 5vw, 56px);
}

.beauty-data__title {
  margin: 0 0 18px;
  padding-left: 16px;
  border-left: 6px solid #111;
  color: #111;
  font-size: clamp(1.9rem, 3.4vw, 2.25rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.2;
}

.beauty-data__lead {
  margin: 0 0 16px;
  color: #4a4a4a;
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.55;
}

.beauty-data__highlight {
  margin: 0 0 28px;
  color: #111;
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.beauty-data__mark {
  position: relative;
  display: inline-block;
  color: #0094a4;
  padding-bottom: 0.18em;
}

.beauty-data__mark-line {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 10px;
  pointer-events: none;
}

.beauty-crm__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  align-items: center;
  justify-items: center;
  width: 100%;
  max-width: min(1080px, 92%);
  margin-inline: auto;
}

.beauty-crm__media {
  width: 100%;
}

.beauty-crm__phone {
  width: 100%;
  max-width: none;
  margin: 0;
  min-height: 0;
  border: 0;
  background: transparent;
  aspect-ratio: auto;
}

.beauty-crm__phone img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.beauty-data__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.42fr);
  gap: clamp(20px, 4vw, 48px);
  align-items: end;
}

.beauty-data__media {
  width: 100%;
  margin-bottom: 0;
  line-height: 0;
}

.beauty-ad__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
}

.beauty-send__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
}

.beauty-extras__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
  width: min(100%, 1100px);
  margin-inline: auto;
}

.beauty-extras__media {
  min-width: 0;
  justify-self: end;
  width: min(100%, 360px);
}

.beauty-extras__media.is-lg {
  width: min(100%, 440px);
}

.beauty-ad__phone,
.beauty-send__phone,
.beauty-extras__phone {
  width: 100%;
  max-width: 520px;
  margin-inline: auto;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
  overflow: visible;
}

.beauty-ad__phone.img-ph,
.beauty-send__phone.img-ph,
.beauty-ticket__phone.img-ph,
.beauty-extras__phone.img-ph {
  border: 0;
  background: transparent;
  overflow: visible;
}

.beauty-ad__phone img,
.beauty-send__phone img,
.beauty-ticket__phone img,
.beauty-extras__phone img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.beauty-place__phone {
  width: 100%;
  max-width: 360px;
  margin-inline: auto;
  min-height: 0;
  border: 0;
  background: transparent;
  aspect-ratio: 9 / 16;
}

.beauty-place__phone img {
  object-fit: contain;
}

.beauty-crm__panels {
  display: grid;
  gap: 24px;
}

.beauty-crm__panel h3 {
  margin: 0 0 12px;
  color: #e8918a;
  font-size: clamp(1.15rem, 2vw, 1.4rem);
  font-weight: 800;
}

.beauty-crm__panel h3::before {
  content: "";
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  margin-right: 0.4em;
  vertical-align: -0.15em;
  border-radius: 50%;
  border: 2px solid #e8918a;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8918a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 11px;
}

.beauty-crm__panel-img {
  width: 100%;
  min-height: 120px;
  border: 0;
  border-radius: 16px;
  background: #fff;
  aspect-ratio: 16 / 9;
}

.beauty-crm__panel-img img {
  object-fit: contain;
}

.beauty-audience {
  padding-top: 0;
}

.beauty-audience__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  text-align: center;
}

.beauty-audience__icon {
  width: clamp(64px, 9vw, 96px);
  height: clamp(64px, 9vw, 96px);
  margin-inline: auto;
  border: 0;
  background: transparent;
  min-height: 0;
}

.beauty-audience__icon img {
  object-fit: contain;
}

.beauty-audience__item p {
  margin: 12px 0 0;
  color: #e8918a;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.beauty-data__checks {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 16px;
}

.beauty-data__checks li {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #333;
  font-size: clamp(1rem, 1.55vw, 1.125rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.beauty-data__check-icon.img-ph {
  flex: 0 0 auto;
  width: 1.35em;
  height: 1.35em;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 1;
}

.beauty-data__check-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.beauty-data__check-icon.is-empty {
  background: transparent;
  border: 2px solid #888;
  border-radius: 50%;
}

.beauty-data__check-icon.is-empty::before,
.beauty-data__check-icon .img-ph__label {
  display: none;
}

.beauty-data__img {
  width: 108%;
  max-width: none;
  min-height: 0;
  border: 0;
  border-radius: 16px 16px 0 0;
  background: transparent;
  aspect-ratio: auto;
  margin: 0 0 0 -2%;
  display: block;
}

.beauty-data__img img {
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: bottom center;
  display: block;
}

.beauty-gift {
  position: relative;
  overflow: hidden;
  padding: clamp(56px, 8vw, 100px) 0 0;
  background: #f4ebe6;
}

.beauty-gift__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  opacity: 0.55;
}

.beauty-gift__bg img {
  object-fit: cover;
}

.beauty-gift__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: end;
}

.beauty-gift__media {
  position: relative;
  line-height: 0;
  margin-bottom: 0;
}

.beauty-gift__phones {
  width: 100%;
  max-width: 420px;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
  display: block;
  margin: 0;
}

.beauty-gift__phones img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  object-position: bottom center;
}

.beauty-gift__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding-bottom: clamp(40px, 6vw, 72px);
}

.beauty-gift__title {
  margin: 0 0 16px;
  padding-left: 16px;
  border-left: 6px solid #111;
  color: #111;
  font-size: clamp(1.9rem, 3.4vw, 2.25rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.2;
}

.beauty-gift__lead {
  margin: 0 0 14px;
  color: #4a4a4a;
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.55;
}

.beauty-gift__highlight {
  position: relative;
  margin: 0 0 36px;
  padding-bottom: 0.42em;
  color: #0094a4;
  font-size: clamp(1.5rem, 2.8vw, 1.95rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.beauty-gift__highlight::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 2.75em;
  height: 5px;
  background: #313131;
}

.beauty-gift__checks {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 16px;
}

.beauty-gift__checks li {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #ae3737;
  font-size: clamp(1.12rem, 1.9vw, 1.32rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.5;
}

.beauty-gift__check-icon.img-ph {
  flex: 0 0 auto;
  width: 1.35em;
  height: 1.35em;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 1;
}

.beauty-gift__check-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.beauty-gift__check-icon.is-empty {
  background: transparent;
  border: 2px solid #b8605d;
  border-radius: 50%;
}

.beauty-gift__check-icon.is-empty::before,
.beauty-gift__check-icon .img-ph__label {
  display: none;
}

.beauty-checks {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 14px;
}

.beauty-checks li {
  position: relative;
  padding-left: 2em;
  color: #e8918a;
  font-size: clamp(1.02rem, 1.7vw, 1.15rem);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.beauty-checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.15em;
  width: 1.25em;
  height: 1.25em;
  border-radius: 50%;
  border: 2px solid #e8918a;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8918a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px;
}

.beauty-checks--light li {
  color: #fff;
}

.beauty-speech {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}

.beauty-speech--spaced {
  margin-top: 36px;
}

.beauty-speech__avatar {
  width: 280px;
  height: auto;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  flex: 0 0 auto;
  overflow: visible;
  line-height: 0;
}

.beauty-speech__avatar.img-ph {
  border: 0;
  background: transparent;
}

.beauty-speech__avatar img {
  width: 100%;
  height: auto;
  max-width: none;
  object-fit: contain;
  object-position: center bottom;
  display: block;
}

.beauty-place__head,
.beauty-label-head {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  margin-bottom: 0;
  overflow: visible;
  line-height: 0;
}

.beauty-place__head {
  margin-top: 40px;
}

.beauty-label-head--spaced {
  margin-top: 40px;
}

.beauty-label-head + .beauty-checks,
.beauty-place__head + .beauty-place__icons,
.beauty-label-head + .beauty-timing__icons {
  margin-top: 12px;
}

.beauty-place__head span,
.beauty-label-head span {
  color: #e8918a;
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  font-weight: 800;
}

.beauty-ad,
.beauty-send,
.beauty-ad__copy,
.beauty-send__copy,
.beauty-ad__layout,
.beauty-send__layout {
  overflow: visible;
}

.beauty-speech span {
  display: inline-block;
  padding: 10px 18px;
  background: rgba(232, 145, 138, 0.12);
  color: #e8918a;
  border: 2px solid #e8918a;
  border-radius: 999px;
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  font-weight: 800;
}

.beauty-place__note {
  margin: 0 0 12px;
  color: #e8918a;
  font-weight: 700;
}

.beauty-place__note::before {
  content: "";
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  margin-right: 0.4em;
  vertical-align: -0.15em;
  border-radius: 50%;
  border: 2px solid #e8918a;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8918a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 11px;
}

.beauty-place__icons,
.beauty-timing__icons {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  gap: 28px 48px;
  margin-top: 8px;
  overflow: visible;
  align-items: end;
}

.beauty-timing__icons {
  grid-template-columns: repeat(3, max-content);
  margin-top: 8px;
}

.beauty-place__icons article,
.beauty-timing__icons article {
  display: grid;
  grid-template-rows: 72px auto;
  justify-items: center;
  align-content: end;
  overflow: visible;
}

.beauty-place__icon,
.beauty-timing__icon {
  width: 72px;
  height: 72px;
  min-height: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
  line-height: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.beauty-place__icon.img-ph,
.beauty-timing__icon.img-ph {
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

.beauty-place__icon img,
.beauty-timing__icon img {
  width: auto;
  max-width: 100%;
  max-height: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  object-position: center bottom;
}

.beauty-place__icons p,
.beauty-timing__icons p {
  margin: 10px 0 0;
  color: #e8918a;
  text-align: center;
  font-weight: 700;
  line-height: 1.35;
  align-self: start;
}

.beauty-extras__icon {
  width: 48px;
  height: 48px;
  margin: 2px 0 0;
  border: 0;
  background: transparent;
  min-height: 0;
  border-radius: 0;
}

.beauty-extras__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.beauty-extras__icon.is-empty {
  background: rgba(237, 130, 130, 0.1);
  border-radius: 12px;
}

.beauty-extras__icon.is-empty::before,
.beauty-extras__icon .img-ph__label {
  display: none;
}

.beauty-extras__list {
  display: grid;
  gap: 0;
}

.beauty-extras__item {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 16px;
  align-items: start;
  padding: 22px 0;
  border-bottom: 1px solid #e8e8e8;
}

.beauty-extras__item:first-child {
  padding-top: 0;
  margin-top: 0;
}

.beauty-extras__item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.beauty-extras__item h3 {
  margin: 0 0 8px;
  color: #313131;
  font-size: clamp(1.35rem, 2.3vw, 1.65rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
}

.beauty-extras__item.is-active h3 {
  color: #ed8282;
}

.beauty-extras__tab {
  appearance: none;
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  cursor: pointer;
  text-align: left;
}

.beauty-extras__note {
  margin: 0 0 6px;
  color: #222;
  font-size: clamp(1.02rem, 1.6vw, 1.15rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.45;
}

.beauty-extras__desc {
  margin: 0;
  color: #8a8a8a;
  font-size: clamp(0.92rem, 1.35vw, 1.02rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.beauty-fit__phone.is-empty,
.beauty-booking__ui.is-empty,
.beauty-ops__phone.is-empty,
.beauty-crm__phone.is-empty,
.beauty-crm__panel-img.is-empty,
.beauty-audience__icon.is-empty,
.beauty-data__img.is-empty,
.beauty-gift__phones.is-empty,
.beauty-ad__phone.is-empty,
.beauty-place__phone.is-empty,
.beauty-send__phone.is-empty,
.beauty-ticket__phone.is-empty,
.beauty-extras__phone.is-empty,
.beauty-place__icon.is-empty,
.beauty-timing__icon.is-empty,
.beauty-extras__icon.is-empty,
.beauty-speech__avatar.is-empty {
  background: linear-gradient(135deg, #2a2222, #1a1515);
  border: 1px dashed rgba(232, 145, 138, 0.35);
  border-radius: 16px;
}

.beauty-fit__phone.is-empty::before,
.beauty-booking__ui.is-empty::before,
.beauty-ops__phone.is-empty::before,
.beauty-crm__phone.is-empty::before,
.beauty-crm__panel-img.is-empty::before,
.beauty-audience__icon.is-empty::before,
.beauty-data__img.is-empty::before,
.beauty-gift__phones.is-empty::before,
.beauty-ad__phone.is-empty::before,
.beauty-place__phone.is-empty::before,
.beauty-send__phone.is-empty::before,
.beauty-ticket__phone.is-empty::before,
.beauty-extras__phone.is-empty::before,
.beauty-fit__icon.is-empty::before,
.beauty-place__icon.is-empty::before,
.beauty-timing__icon.is-empty::before,
.beauty-extras__icon.is-empty::before,
.beauty-speech__avatar.is-empty::before {
  content: none;
}

@media (max-width: 900px) {
  .beauty-crm__inner {
    grid-template-columns: 1fr;
  }

  .beauty-crm__copy {
    order: 1;
  }

  .beauty-crm__media {
    display: none;
  }

  .beauty-crm__arrow.img-ph {
    display: none;
  }

  .beauty-crm__cards {
    grid-template-columns: 1fr;
  }

  .beauty-crm__feats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 24px;
  }

  .beauty-crm__feats li:nth-child(odd) {
    border-left: 0;
  }

  .beauty-crm__feats li:nth-child(2) {
    border-left: 1px solid #e8918a;
  }

  .beauty-crm__highlight {
    font-size: clamp(1.35rem, 5.4vw, 1.7rem);
    gap: 0;
  }

  .beauty-booking__layout,
  .beauty-ops__grid,
  .beauty-crm__layout,
  .beauty-data__layout,
  .beauty-gift__inner,
  .beauty-ad__layout,
  .beauty-send__layout,
  .beauty-ticket__layout,
  .beauty-extras__layout {
    grid-template-columns: 1fr;
  }

  .beauty-extras__media {
    justify-self: center;
    width: min(100%, 320px);
  }

  .beauty-extras__media.is-lg {
    width: min(100%, 380px);
  }

  .beauty-booking-flow {
    display: flex;
    flex-direction: column;
    padding-bottom: 0;
    background: #fdf6f7;
  }

  .beauty-booking,
  .beauty-booking .container,
  .beauty-booking__inner,
  .beauty-booking__layout,
  .beauty-ops,
  .beauty-ops__grid {
    display: contents;
  }

  .beauty-booking__copy {
    order: 1;
    width: min(100% - 32px, 1360px);
    margin: clamp(40px, 6vw, 64px) auto 0;
    padding: 0 16px;
    box-sizing: border-box;
  }

  .beauty-booking__media {
    order: 2;
    width: min(100% - 24px, 1080px);
    margin: 20px auto 0;
  }

  .beauty-ops__item {
    order: 3;
    width: 100%;
    max-width: none;
    margin: 16px auto 0;
    padding: 0 12px clamp(40px, 6vw, 72px);
    box-sizing: border-box;
    background: #fff;
  }

  .beauty-ops__phone {
    width: min(100%, 1080px);
    margin-inline: auto;
    background: #fff;
  }

  .beauty-ops__rule {
    order: 4;
    width: 100%;
    height: auto;
    margin: 0;
    padding: clamp(28px, 5vw, 48px) 16px 0;
    box-sizing: border-box;
    background: linear-gradient(#c8c8c8, #c8c8c8) center bottom / calc(100% - 32px) 3px no-repeat #fff;
  }

  .beauty-ticket__title {
    font-size: clamp(1.55rem, 6.2vw, 1.9rem);
    padding-left: 14px;
    border-left-width: 5px;
    margin-bottom: 12px;
  }

  .beauty-ticket__lead {
    font-size: clamp(0.98rem, 3.6vw, 1.12rem);
  }

  .beauty-ticket__highlight {
    font-size: clamp(1.12rem, 4.4vw, 1.35rem);
    margin-bottom: 24px;
  }

  .beauty-ticket__checks {
    grid-template-columns: max-content max-content;
    justify-content: center;
    column-gap: 16px;
    row-gap: 14px;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
  }

  .beauty-ticket__checks li {
    font-size: clamp(0.98rem, 3.5vw, 1.1rem);
  }

  .beauty-remind__title {
    font-size: clamp(1.55rem, 6.2vw, 1.9rem);
  }

  .beauty-remind__subtitle {
    font-size: clamp(1.12rem, 4.2vw, 1.35rem);
  }

  .beauty-remind__rule {
    width: min(100%, 420px);
  }

  .beauty-remind__em {
    font-size: clamp(1.35rem, 5.4vw, 1.7rem);
    gap: 0;
  }

  .beauty-remind__cards {
    grid-template-columns: 1fr;
    max-width: 280px;
    gap: 36px;
  }

  .beauty-remind__box {
    max-width: 220px;
  }

  .beauty-remind__tag {
    height: 32px;
    font-size: 1rem;
  }

  .beauty-addons__title {
    font-size: clamp(1.22rem, 5vw, 1.48rem);
  }

  .beauty-addons__subtitle {
    font-size: clamp(1.18rem, 4.4vw, 1.4rem);
  }

  .beauty-addons__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 360px;
    column-gap: 36px;
    row-gap: 28px;
  }

  .beauty-addons__icon.img-ph {
    width: 120px;
    height: 120px;
  }

  .beauty-addons__item p {
    font-size: 1.15rem;
  }

  .beauty-cta__inner {
    grid-template-columns: 1fr;
    gap: 20px;
    justify-items: center;
    text-align: center;
  }

  .beauty-cta__media {
    width: min(92%, 400px);
    order: 2;
    justify-self: center;
  }

  .beauty-cta__copy {
    order: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 8px;
  }

  .beauty-cta__title {
    font-size: clamp(1.55rem, 6.4vw, 1.95rem);
  }

  .beauty-cta__lead {
    font-size: clamp(1.08rem, 4.2vw, 1.25rem);
    margin-bottom: 22px;
  }

  .beauty-cta__price {
    font-size: clamp(1.05rem, 4vw, 1.2rem);
  }

  .beauty-cta__btn {
    min-height: 48px;
    padding: 0 28px;
    font-size: 1rem;
  }

  .beauty-cycle__title {
    font-size: clamp(1.28rem, 5.2vw, 1.65rem);
  }

  .beauty-cycle__subtitle {
    font-size: clamp(1.2rem, 4.6vw, 1.45rem);
    margin-bottom: 32px;
  }

  .beauty-cycle .cycle-sides {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 12px;
    width: 100%;
    order: -1;
  }

  .beauty-cycle .cycle-side {
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    white-space: nowrap;
    width: auto;
    height: auto;
    padding: 10px 20px;
    border-radius: 999px;
    font-size: 1.05rem;
    letter-spacing: 0.12em;
    line-height: 1.3;
  }

  .beauty-extras__heading {
    font-size: clamp(1.28rem, 5.2vw, 1.65rem);
    margin-bottom: clamp(28px, 6vw, 40px);
  }

  .beauty-data__img {
    width: 100%;
    margin: 0;
  }

  .beauty-data__checks {
    grid-template-columns: repeat(2, max-content);
    justify-content: center;
    justify-items: start;
    gap: 12px 16px;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
  }

  .beauty-data__title {
    font-size: clamp(1.55rem, 6.2vw, 1.9rem);
    padding-left: 14px;
    border-left-width: 5px;
    margin-bottom: 14px;
  }

  .beauty-data__lead {
    font-size: clamp(0.98rem, 3.6vw, 1.12rem);
    margin-bottom: 12px;
  }

  .beauty-data__highlight {
    font-size: clamp(1.15rem, 4.6vw, 1.4rem);
    margin-bottom: 22px;
  }

  .beauty-data__checks li {
    font-size: clamp(0.95rem, 3.5vw, 1.05rem);
    letter-spacing: 0.03em;
  }

  .beauty-ad__copy {
    text-align: left;
  }

  .beauty-ad__title {
    font-size: clamp(1.55rem, 6.2vw, 1.9rem);
    padding-left: 14px;
    border-left-width: 5px;
    margin-bottom: 12px;
  }

  .beauty-ad__lead {
    font-size: clamp(0.92rem, 3.4vw, 1.05rem);
  }

  .beauty-ad__highlight {
    font-size: clamp(1.22rem, 4.8vw, 1.45rem);
    margin-bottom: 18px;
  }

  .beauty-ad__grid {
    grid-template-columns: max-content max-content;
    justify-content: center;
    column-gap: 16px;
    row-gap: 10px;
  }

  .beauty-ad__card--teal .beauty-ad__grid {
    margin: 0 auto;
    width: fit-content;
    padding-left: 0;
    justify-content: center;
  }

  .beauty-ad__scenes {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 6px;
  }

  .beauty-ad__scene {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 6px;
  }

  .beauty-ad__scene-icon.img-ph {
    width: 40px;
    height: 40px;
  }

  .beauty-ad__scene p {
    font-size: clamp(0.78rem, 3.2vw, 0.9rem);
    align-items: center;
  }

  .beauty-ad__foot {
    font-size: clamp(1.02rem, 3.6vw, 1.18rem);
  }

  .beauty-ad__star--d {
    display: none;
  }

  .beauty-ad__break {
    display: block;
  }

  .beauty-ad__star--m {
    display: inline;
  }

  .beauty-ad__foot-line {
    white-space: nowrap;
  }

  .beauty-send__title {
    font-size: clamp(1.55rem, 6.2vw, 1.9rem);
    padding-left: 14px;
    border-left-width: 5px;
    margin-bottom: 12px;
  }

  .beauty-send__copy {
    order: 1;
  }

  .beauty-send__media {
    order: 2;
    margin-top: clamp(20px, 4vw, 32px);
  }

  .beauty-send__lead {
    font-size: clamp(0.92rem, 3.4vw, 1.05rem);
  }

  .beauty-send__highlight {
    font-size: clamp(1.2rem, 4.6vw, 1.42rem);
    margin-bottom: 18px;
  }

  .beauty-send__card--teal .beauty-send__checks {
    padding-left: 0;
  }

  .beauty-send__timing {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
    row-gap: 14px;
    padding-left: 0;
  }

  .beauty-send__timing-item {
    font-size: clamp(0.92rem, 3.4vw, 1.02rem);
  }

  .beauty-booking__copy {
    text-align: left;
  }

  .beauty-booking__item {
    font-size: 1.18rem;
  }

  .beauty-booking__item--pill {
    padding: 8px 20px 8px 14px;
  }

  .beauty-booking__title {
    font-size: clamp(1.55rem, 6.2vw, 1.9rem);
  }

  .beauty-booking__lead {
    font-size: clamp(1.2rem, 5vw, 1.45rem);
  }


  .beauty-gift__media {
    order: 2;
  }

  .beauty-gift__copy {
    order: 1;
    padding-bottom: clamp(24px, 5vw, 40px);
  }

  .beauty-gift__title {
    font-size: clamp(1.55rem, 6.2vw, 1.9rem);
    padding-left: 14px;
    border-left-width: 5px;
    margin-bottom: 12px;
  }

  .beauty-gift__lead {
    font-size: clamp(0.98rem, 3.6vw, 1.12rem);
    margin-bottom: 12px;
  }

  .beauty-gift__highlight {
    font-size: clamp(1.28rem, 5vw, 1.55rem);
    margin-bottom: 28px;
  }

  .beauty-gift__checks li {
    font-size: clamp(1.05rem, 3.8vw, 1.18rem);
  }

  .beauty-audience__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 28px;
  }

  .beauty-ops__item {
    margin-left: 0;
  }

  .beauty-ops__phone {
    margin-inline: auto;
  }

  .beauty-place__icons,
  .beauty-timing__icons {
    justify-content: center;
  }
}


.hero--course .hero-slide__stack {
  max-width: min(100%, 36em);
}

@media (min-width: 901px) {
  .hero--course .hero-title__line {
    white-space: nowrap;
  }
}

@media (max-width: 900px) {
  .hero--course .hero-title__line {
    white-space: normal;
  }
}

.course-info {
  position: relative;
  overflow: visible;
  min-height: clamp(420px, 48vw, 560px);
  display: flex;
  align-items: center;
  padding: clamp(40px, 6vw, 72px) 0;
  background: #1a1f22;
}

.course-info__bg,
.course-info__bg.img-ph {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: #1a1f22;
  overflow: hidden;
}

.course-info__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.course-info__bg.is-empty {
  background: linear-gradient(135deg, #2a3538, #1a1f22);
}

.course-info__bg.is-empty::before {
  content: none;
}

.course-info__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.45) 50%, rgba(0, 0, 0, 0.25) 100%);
  pointer-events: none;
}

.course-info__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  width: 100%;
}

.course-info__title {
  margin: 0 0 18px;
  color: #fff;
  font-size: clamp(1.85rem, 3.4vw, 2.75rem);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.4);
}

.course-info__line {
  display: block;
}

.course-info__line--ruled {
  position: relative;
  display: inline-block;
  padding-bottom: 0.28em;
}

.course-info__line--ruled::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 3.2em;
  height: 3px;
  background: #fff;
}

.course-info__checks {
  display: grid;
  gap: 14px;
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}

.course-info__checks li {
  position: relative;
  padding-left: 2em;
  color: #7fe8ef;
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.course-info__checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.15em;
  width: 1.25em;
  height: 1.25em;
  box-sizing: border-box;
  border-radius: 50%;
  border: 2px solid #00a7af;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a7af' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px;
}

.course-info__cta {
  margin: 0;
}

.course-info__phone {
  width: 100%;
  max-width: 520px;
  margin-inline: auto;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.course-info__phone img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.course-info__phone.is-empty {
  min-height: 360px;
  background: linear-gradient(135deg, #eef5f6, #f7fafb);
  border: 1px dashed rgba(0, 167, 175, 0.35);
}

.course-info__phone.is-empty::before,
.course-info__phone .img-ph__label {
  display: none;
}

.course-onepage {
  background: #fff;
}

.course-onepage.food-feature--soft {
  background: #fff;
}

.course-onepage .food-onepage__icons--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 520px;
}

@media (min-width: 901px) {
  .course-onepage .food-onepage__lead {
    transform: translateX(-60px);
  }

  
  .course-onepage .food-onepage__icons {
    transform: translateX(-16px);
  }
}

@media (max-width: 900px) {
  .course-onepage .food-onepage__intro {
    margin-top: 0;
    margin-bottom: 24px;
    z-index: 2;
  }

  .course-onepage .food-onepage__icons--3 {
    max-width: 280px;
    margin-inline: auto;
  }

  .course-onepage .food-onepage__img--fitness img {
    transform: none;
  }

  .course-onepage .food-onepage__note {
    margin-top: 16px;
  }
}

.course-triple {
  background: #fff;
}

.course-triple .food-feature__heading {
  margin-bottom: clamp(28px, 4vw, 44px);
}


.cases-hero__zh {
  font-size: clamp(1.7rem, 3.8vw, 2.7rem);
  letter-spacing: 0.1em;
}

.cases-page {
  padding: 56px 0 110px;
  background: #fff;
}

.cases-page__inner {
  width: min(100% - 32px, 1120px);
  margin-inline: auto;
}

.cases-intro {
  max-width: none;
  margin: 0 0 22px;
  text-align: left;
}

.cases-intro p {
  margin: 0;
  color: #2b2f33;
  font-size: 0.92rem;
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: 0.02em;
}

.cases-intro p.cases-intro__lead {
  font-size: 1.28rem;
  font-weight: 700;
}

.cases-cta {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 10px 12px;
  margin: 0 0 40px;
  color: #333;
  font-size: 1.32rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.cases-cta__consult,
.cases-cta__line {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  gap: 8px;
  min-height: 42px;
  padding: 0 8px 0 16px;
  border-radius: 999px;
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  color: #fff;
  white-space: nowrap;
}

.cases-cta__consult {
  background: #ebbf51;
  color: #fff;
}

.cases-cta__line {
  position: relative;
  background: #58cb5c;
  color: #fff;
}

.cases-cta__go {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  position: relative;
}

.cases-cta__go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 6px;
  height: 6px;
  border-right: 2px solid #bbb;
  border-bottom: 2px solid #bbb;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.cases-cta__line .cases-cta__go::after {
  border-color: #58cb5c;
}

.cases-cta__lead {
  display: contents;
}

.cases-cta__line-icon {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  min-width: 18px;
  min-height: 18px;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: hidden;
}

.cases-cta__line-icon img {
  width: 18px;
  height: 18px;
  object-fit: contain;
}

.cases-cta__line-icon.is-empty {
  background: rgba(255, 255, 255, 0.35);
  border-radius: 4px;
}

.cases-cta__line-icon.is-empty::before,
.cases-cta__line-icon .img-ph__label {
  display: none;
}

.cases-toolbar {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 40px;
  flex-wrap: nowrap;
}

.cases-filters {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.cases-filter {
  flex: 1 1 0;
  min-height: 48px;
  padding: 0 18px;
  border: 0;
  border-radius: 999px;
  background: #d9d9d9;
  color: #333;
  font-family: inherit;
  font-size: 1.05rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  cursor: pointer;
  appearance: none;
  white-space: nowrap;
}

.cases-filter:hover {
  background: #cccccc;
}

.cases-filter.is-active {
  background: #008d9c;
  color: #fff;
}

.cases-search {
  position: relative;
  flex: 0 0 260px;
  width: 260px;
  margin-left: 0;
}

.cases-search input {
  width: 100%;
  height: 48px;
  border: 1px solid #8a9196;
  border-radius: 8px;
  padding: 0 40px 0 16px;
  color: var(--text);
  background: #fff;
  outline: none;
  font-size: 1rem;
}

.cases-search input::placeholder {
  color: #b0b8bd;
}

.cases-search input:focus {
  border-color: var(--teal);
  box-shadow: 0 0 0 3px rgba(0, 167, 175, 0.12);
}

.cases-search__btn {
  position: absolute;
  right: 6px;
  top: 8px;
  width: 32px;
  height: 32px;
  border: 0;
  background: transparent;
  color: #9aa3a8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
}

.cases-search__btn svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.cases-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px 28px;
}

.case-card {
  min-width: 0;
}

.case-card.is-hidden {
  display: none;
}

.case-card__thumb {
  width: 100%;
  aspect-ratio: 16 / 11;
  margin: 0 0 14px;
  border: 0;
  border-radius: 10px;
  background: var(--case-bg, #e8f3f4);
}

.case-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.case-card__thumb.is-empty {
  border: 0;
  background: var(--case-bg, #dfe8ea);
}

.case-card__thumb.is-empty::before {
  color: rgba(255, 255, 255, 0.72);
}

.case-card__thumb .img-ph__label {
  background: rgba(0, 0, 0, 0.45);
}

.case-card__title {
  margin: 0 0 2px;
  color: #111;
  font-size: 1.38rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.4;
}

.case-card__meta {
  margin: 0;
  color: #8a8f93;
  font-size: 1.08rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.cases-empty {
  margin: 24px 0 0;
  text-align: center;
  color: #8a9196;
}

@media (max-width: 900px) {
  .cases-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 20px;
  }

  .cases-cta {
    flex-wrap: wrap;
    white-space: normal;
    font-size: 0.82rem;
    gap: 8px 6px;
    overflow: visible;
  }

  .cases-cta__lead {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px 8px;
    width: 100%;
    white-space: nowrap;
  }

  .cases-cta__tail {
    display: block;
    width: 100%;
    white-space: nowrap;
  }

  .cases-cta__consult,
  .cases-cta__line {
    min-height: 32px;
    padding: 0 5px 0 10px;
    font-size: 0.72rem;
    gap: 5px;
  }

  .cases-cta__go {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
  }

  .cases-cta__go::after {
    width: 5px;
    height: 5px;
  }
}

@media (max-width: 560px) {
  .cases-page {
    padding: 36px 0 80px;
  }

  .cases-intro p {
    font-size: 0.86rem;
  }

  .cases-cta {
    font-size: 0.78rem;
    gap: 6px;
  }

  .cases-toolbar {
    margin-bottom: 28px;
    flex-wrap: wrap;
  }

  .cases-filters {
    flex-wrap: wrap;
    width: 100%;
  }

  .cases-search {
    flex: 1 1 100%;
    width: 100%;
  }

  .cases-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .cases-hero__zh {
    font-size: 1.55rem;
  }
}


.case-card {
  color: inherit;
  text-decoration: none;
}

.case-detail {
  padding: 36px 0 0;
  background: #fff;
}

.case-detail__inner {
  width: min(100% - 32px, 1120px);
  margin-inline: auto;
}

.case-detail__nav {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 22px;
  flex-wrap: wrap;
}

.case-detail__back {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 18px;
  border-radius: 999px;
  background: #00a7af;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.case-detail__crumb {
  margin: 0;
  color: #8a9196;
  font-size: 0.82rem;
}

.case-detail__crumb a {
  color: #8a9196;
}

.case-detail__title {
  margin: 0 0 22px;
  color: #111;
  font-size: clamp(1.55rem, 2.8vw, 2.05rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.4;
}

.case-detail__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.72fr);
  gap: 36px 40px;
  align-items: stretch;
}

.case-detail__hero-img {
  width: 100%;
  aspect-ratio: 16 / 10;
  margin: 0 0 28px;
  border: 0;
  border-radius: 10px;
  background: #3a2a28;
}

.case-detail__hero-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.case-lead {
  margin: 8px 0 28px;
  text-align: center;
  color: #000;
  font-size: 1.32rem;
  font-weight: 400;
  line-height: 1.75;
}

.case-metrics {
  margin: 0 0 42px;
}

.case-metrics__bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 14px 20px;
  border-radius: 10px;
  background: #e08a86;
  color: #fff;
  text-align: center;
  font-size: 1.28rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.case-metrics__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 22px;
}

.case-metrics__item {
  position: relative;
  text-align: center;
  padding: 16px 12px 12px;
  border: 1px solid #e08a86;
  border-radius: 8px;
  background: #fff;
}

.case-metrics__item strong {
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  min-width: 72px;
  height: 24px;
  margin-inline: auto;
  padding: 0;
  border-radius: 6px;
  background: #e08a86;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
}

.case-metrics__item span {
  display: block;
  margin-top: 0;
  color: #e08a86;
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.45;
}

.case-block {
  margin: 0 0 42px;
}

.case-hd {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  color: #111;
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.4;
}

.case-hd span {
  flex: 0 1 auto;
  white-space: nowrap;
}

.case-hd__heart {
  flex: 0 0 auto;
  width: auto;
  height: auto;
  margin-right: 0;
  color: #111;
  font-style: normal;
  font-size: 1.28rem;
  line-height: 1;
}

.case-hd:has(.case-hd__heart) {
  gap: 8px;
}

.case-insights .case-hd {
  gap: 8px;
}

.case-insights .case-hd__heart {
  margin-right: 0;
}

.case-insights .case-hd::after {
  background: #00a7af;
}

.case-hd::after {
  content: "";
  flex: 1 1 auto;
  height: 4px;
  min-width: 24px;
  margin-left: 10px;
  background: #d8d8d8;
}

.case-hd--teal::after {
  height: 4px;
  background: #00a7af;
}

.case-block__title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
  padding-bottom: 10px;
  border-bottom: 3px solid #00a7af;
  color: #111;
  font-size: 1.22rem;
  font-weight: 700;
}

.case-block p {
  margin: 0 0 12px;
  color: #000;
  font-size: 1.02rem;
  line-height: 1.85;
}

.case-ov-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin-top: 10px;
}

.case-ov-tags span {
  color: #0094a4;
  font-size: 0.9rem;
  font-weight: 700;
}

.case-block p.case-ov-fit {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin-top: 22px;
  color: #0094a4;
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.6;
}

.case-ov-fit__star {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  background: #00a7af;
  clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%);
}

.case-block p.case-solos__intro {
  margin-bottom: 6px;
  color: #666;
  line-height: 1.55;
}

.case-solos__intro em {
  font-style: normal;
  font-weight: 400;
  color: #0094a4;
}

.case-solos {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.case-solo {
  display: block;
  padding: 18px 20px 16px;
  border: 1px solid #5dbec9;
  border-radius: 8px;
  background: #fff;
}

.case-solo__head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.case-solo .case-icon--check {
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
  margin-top: 0;
}

.case-solo .case-icon--check img {
  filter: brightness(0);
}

.case-solo h4 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
  color: #222;
}

.case-solo p {
  margin: 0 0 10px;
  font-size: 1rem;
  color: #000;
  line-height: 1.7;
}

.case-solo p.case-solo__feats {
  margin: 0;
  color: #0094a4;
  font-size: 0.95rem;
  font-weight: 500;
}

.case-solo a {
  color: #0094a4;
  font-size: 0.88rem;
  font-weight: 700;
}

.case-fit {
  margin: 0 0 42px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #00a7af;
}

.case-fit h3 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 13px 20px;
  background: #00a7af;
  color: #fff;
  font-size: 1.18rem;
  font-weight: 500;
  line-height: 1.45;
}

.case-fit ul {
  margin: 0;
  padding: 18px 22px 20px;
  background: #fff;
}

.case-fit li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 12px 0;
  font-size: 1.02rem;
  font-weight: 400;
  line-height: 1.7;
  color: #000;
}

.case-fit li:first-child {
  margin-top: 0;
}

.case-fit li:last-child {
  margin-bottom: 0;
}

.case-fit .case-icon--sm {
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  margin-top: 3px;
}

.case-fit__check {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  margin-top: 2px;
  position: relative;
}

.case-fit__check::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 1px;
  width: 10px;
  height: 18px;
  border-right: 3px solid #00a7af;
  border-bottom: 3px solid #00a7af;
  transform: rotate(45deg);
}

.case-side__card {
  padding: 22px 20px 20px;
  margin-bottom: 22px;
  border-radius: 12px;
  background: #f8f8f8;
}

.case-side .side-box--contact {
  background: #f8f8f8;
  box-shadow: none;
}

@media (min-width: 901px) {
  .case-side .side-box--contact.reveal,
  .case-side .side-box--contact.reveal.is-in {
    transform: none;
    filter: none;
    opacity: 1;
    will-change: auto;
  }

  .case-side .side-box--contact {
    position: sticky;
    top: calc(var(--header-h) + 20px);
    z-index: 3;
  }
}

.case-side__h {
  margin: 0 0 12px;
  color: #2b2f33;
  font-size: 1.08rem;
  font-weight: 700;
}

.case-side__h::after {
  content: "";
  display: block;
  width: 4.4em;
  height: 3px;
  margin-top: 6px;
  background: #00a7af;
  border-radius: 2px;
}

.case-side__card .case-side__h:nth-of-type(2) {
  margin-top: 22px;
}

.case-profile {
  margin: 0;
}

.case-profile > div {
  display: grid;
  grid-template-columns: 5.2em 1fr;
  gap: 6px 8px;
  padding: 5px 0;
  font-size: 0.9rem;
  line-height: 1.55;
}

.case-profile dt {
  font-weight: 700;
  color: #333;
}

.case-profile dd {
  margin: 0;
  color: #555;
}

.case-side__feats {
  margin: 0 0 16px;
}

.case-side__feats li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0 0 10px;
  color: #333;
  font-size: 0.92rem;
  line-height: 1.55;
}

.case-icon--circle {
  width: 18px;
  height: 18px;
  min-width: 18px;
  min-height: 18px;
}

.case-icon--circle.is-empty {
  background: transparent;
  border: 1.5px solid #00a7af;
  border-radius: 50%;
}

.case-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.case-tags span {
  padding: 5px 12px;
  border-radius: 999px;
  background: #e6e8ea;
  color: #555;
  font-size: 0.82rem;
}

.case-side__form {
  padding: 22px 18px 20px;
  margin-bottom: 0;
  border-radius: 12px;
  background: #fafbfb;
}

.case-side__form h3 {
  margin: 0 0 16px;
  color: #0094a4;
  text-align: center;
  font-size: 1.18rem;
  font-weight: 700;
  line-height: 1.45;
}

.case-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.case-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.case-icon.is-empty {
  background: #00a7af;
  border-radius: 50%;
}

.case-icon.img-ph,
.case-icon.img-ph.is-empty {
  min-height: 0;
  background-image: none;
  border-style: none;
}

.case-icon.is-empty::before,
.case-icon .img-ph__label,
.case-icon.img-ph.is-empty .img-ph__label {
  display: none !important;
}

.case-icon--sm {
  width: 16px;
  height: 16px;
  min-width: 16px;
  min-height: 16px;
}

.case-icon--check-w {
  width: 18px;
  height: 18px;
  min-width: 18px;
  min-height: 18px;
}

.case-icon--check-w.is-empty {
  background: #fff;
}

.case-icon--heart,
.case-icon--hd {
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
}

.case-icon--hd.is-empty {
  background: transparent;
  border-radius: 0;
}

.case-icon--hd.is-empty::after {
  content: "♥";
  color: #111;
  font-size: 1.05rem;
  line-height: 1;
}

.case-hd--teal .case-icon--hd.is-empty::after {
  content: "";
  width: 14px;
  height: 18px;
  border: 2px solid #00a7af;
  border-radius: 8px 8px 10px 10px;
  box-sizing: border-box;
}

.case-icon--star {
  width: 26px;
  height: 26px;
  min-width: 26px;
  min-height: 26px;
}

.case-icon--star.is-empty {
  background: transparent;
}

.case-icon--star.is-empty::after {
  content: "★";
  color: #fff;
  font-size: 1.25rem;
  line-height: 1;
}

.case-icon--store {
  width: 28px;
  height: 28px;
  min-width: 28px;
  min-height: 28px;
}

.case-icon--store img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.case-icon--store.is-empty {
  background: rgba(255, 255, 255, 0.12);
  border: 1px dashed rgba(255, 255, 255, 0.85);
  border-radius: 6px;
}

.case-icon--store.is-empty::after {
  content: "+";
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
}

.case-icon--check.is-empty {
  background: transparent;
  border-radius: 0;
}

.case-icon--check.is-empty::after,
.case-icon--sm.is-empty::after {
  content: "";
  width: 7px;
  height: 12px;
  margin-top: -3px;
  border-right: 2.5px solid #00a7af;
  border-bottom: 2.5px solid #00a7af;
  transform: rotate(45deg);
}

.case-fit .case-icon--sm.is-empty::after {
  width: 8px;
  height: 14px;
  margin-top: -4px;
  border-right-width: 3px;
  border-bottom-width: 3px;
}

.case-solo .case-icon--check.is-empty::after {
  width: 10px;
  height: 18px;
  margin-top: -4px;
  border-right-color: #111;
  border-bottom-color: #111;
  border-right-width: 3px;
  border-bottom-width: 3px;
}

.case-insights {
  margin: 0 0 42px;
}

.case-insights__title {
  margin-bottom: 20px;
}

.case-quote {
  position: relative;
  display: block;
  margin: 8px 0 28px;
  padding: 4px 36px 8px;
  background: transparent;
  border: 0;
  color: #ee8782;
}

.case-quote__mark {
  position: absolute;
  color: #ee8782;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 0.7;
}

.case-quote__mark--open {
  top: 0;
  left: 0;
}

.case-quote__mark--close {
  right: 0;
  bottom: 0;
  font-size: 2.8rem;
}

.case-quote__body {
  min-width: 0;
  text-align: center;
}

.case-quote__lead,
.case-quote__main {
  margin: 0;
  color: #ee8782;
}

.case-quote__lead {
  font-size: 1.18rem;
  font-weight: 400;
  line-height: 1.7;
}

.case-quote__main {
  margin-top: 8px;
  font-size: 1.18rem;
  font-weight: 400;
  line-height: 1.7;
}

.case-insights__list {
  display: grid;
  gap: 18px;
  padding: 0;
  border: 0;
  background: transparent;
}

.case-insight {
  position: relative;
  isolation: isolate;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
}

.case-insight::before,
.case-insight::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.case-insight::before {
  inset: 0;
  background: #00a7af;
  border-radius: 18px;
  z-index: 0;
}

.case-insight::after {
  inset: 2px;
  background: #fff;
  border-radius: 16px;
  z-index: 0;
}

.case-insight__inner {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 22px 36px 32px 18px;
}

.case-insight__mark {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding-top: 2px;
}

.case-insight__label {
  color: #0094a4;
  font-size: 1.05rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  writing-mode: vertical-rl;
  text-orientation: upright;
  line-height: 1.15;
}

.case-insight__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  border-radius: 50%;
  background: #00a7af;
  color: #fff;
  font-weight: 500;
  font-size: 0.75rem;
}

.case-insight__body {
  min-width: 0;
  flex: 1;
}

.case-insight h4 {
  margin: 0 0 10px;
  color: #000;
  font-size: 1.28rem;
  font-weight: 500;
  line-height: 1.5;
}

.case-insight p {
  margin: 0 0 10px;
  color: #000;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
}

.case-insight p:last-child {
  margin-bottom: 0;
}

.case-insights__btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
  margin: 22px 0 0;
}

.case-credit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: auto;
  max-width: 100%;
  min-height: 42px;
  padding: 6px 22px 6px 16px;
  border-radius: 999px;
  background: #0097a7;
  color: #fff;
  font-weight: 500;
  font-size: 0.88rem;
  letter-spacing: 0.02em;
  box-shadow: none;
  white-space: nowrap;
}

.case-credit__logo {
  width: auto;
  height: 26px;
  min-width: 0;
  min-height: 26px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.case-credit__logo img {
  width: auto;
  height: 26px;
  object-fit: contain;
}

.case-credit__logo.img-ph,
.case-credit__logo.img-ph.is-empty {
  min-height: 26px;
  background-image: none;
  border-style: none;
}

.case-credit__logo.is-empty {
  background: transparent;
  border-radius: 0;
}

.case-credit__logo.is-empty::before,
.case-credit__logo .img-ph__label {
  display: none !important;
}

.case-credit__logo.is-empty::after {
  content: "淘好店";
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

@media (max-width: 700px) {
  .case-credit {
    white-space: normal;
    text-align: center;
    padding: 8px 16px;
  }
}

.case-faq {
  margin: 0 0 8px;
}

.case-faq__title {
  margin: 0 0 8px;
  color: #111;
  font-size: 1.2rem;
  font-weight: 700;
}

.case-faq__sub {
  margin: 0 0 10px;
  color: #000;
  font-size: 0.98rem;
  font-weight: 500;
}

.case-faq__bar {
  margin: 0;
  padding: 12px 16px;
  background: #eceff1;
  text-align: center;
  font-size: 1.15rem;
  font-weight: 700;
  color: #333;
}

.case-faq__q b {
  margin-right: 6px;
  font-weight: 700;
}

.case-faq__item {
  border-bottom: 1px solid #e4e7ea;
}

.case-faq__q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 8px;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 1.05rem;
  text-align: left;
  cursor: pointer;
  color: #000;
}

.case-faq__chev {
  width: 10px;
  height: 10px;
  border-right: 2px solid #111;
  border-bottom: 2px solid #111;
  transform: rotate(45deg);
  margin-top: -4px;
}

.case-faq__item.is-open .case-faq__chev {
  transform: rotate(225deg);
  margin-top: 4px;
}

.case-faq__a p {
  margin: 0;
  padding: 0 8px 16px;
  color: #000;
  font-size: 1rem;
  line-height: 1.8;
}

.case-more {
  margin: 48px 0 64px;
}

.case-more h3 {
  margin: 0 0 24px;
  font-size: clamp(1.6rem, 2.6vw, 2rem);
  font-weight: 700;
  text-align: left;
  color: #000;
}

.case-more__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.case-banner {
  background: #eef7f8;
  padding: 48px 0 0;
  overflow: hidden;
}

.case-banner__inner {
  display: flex;
  justify-content: center;
  align-items: end;
  gap: 36px 48px;
  width: min(100% - 32px, 1120px);
  margin-inline: auto;
}

.case-banner__illust {
  width: min(280px, 38%);
  min-width: 180px;
  min-height: 0;
  border: 0;
  background: transparent;
  flex: 0 0 auto;
  align-self: end;
  line-height: 0;
}

.case-banner__illust img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  vertical-align: bottom;
}

.case-banner__illust.is-empty {
  min-height: 220px;
  background: #d7ecee;
  border-radius: 12px;
}

.case-banner__copy {
  flex: 0 1 auto;
  max-width: 640px;
  text-align: center;
  padding-bottom: 48px;
}

.case-banner__copy h3 {
  margin: 0;
  font-size: clamp(1.8rem, 3vw, 2.25rem);
  font-weight: 500;
  color: #333;
  line-height: 1.35;
}

.case-banner__copy p {
  margin: 4px 0 0;
  color: #333;
  font-size: clamp(1.15rem, 2vw, 1.5rem);
  font-weight: 400;
  line-height: 1.5;
}

.case-banner__btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-top: 22px;
}

.case-banner__teal,
.case-banner__green {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 20px 0 22px;
  border-radius: 999px;
  color: #fff;
  font-weight: 500;
  font-size: 0.95rem;
}

.case-banner__green .btn-arrow::after {
  border-color: #58cb5c;
}

.case-banner__teal {
  background: #00a7af;
}

.case-banner__green {
  background: #58cb5c;
}

@media (max-width: 900px) {
  .case-detail__layout,
  .case-more__grid,
  .case-metrics__grid {
    grid-template-columns: 1fr;
  }

  .case-banner__inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .case-banner__copy {
    order: 1;
    padding-bottom: 16px;
  }

  .case-banner__illust {
    order: 2;
    width: min(240px, 70%);
    align-self: center;
  }

  .case-banner__btns {
    justify-content: center;
  }

  .case-metrics__item {
    padding: 16px 12px;
  }

  .case-hd span {
    white-space: normal;
  }
}


.legal-page {
  background: #fff;
  padding: 48px 0 80px;
}

.legal-page__inner {
  width: min(100% - 40px, 760px);
  margin-inline: auto;
}

.legal-page__date {
  margin: 0 0 28px;
  color: #333;
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.6;
}

.legal-article {
  margin: 0 0 32px;
}

.legal-article__title {
  margin: 0 0 14px;
  color: #111;
  font-size: 1.12rem;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.04em;
}

.legal-article p {
  margin: 0 0 8px;
  color: #222;
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.5;
}

.legal-article__ol {
  margin: 0 0 8px;
  padding: 0 0 0 1.4em;
  color: #222;
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.5;
}

.legal-article__ol li {
  margin: 0 0 4px;
  padding-left: 0.2em;
}

.legal-company {
  margin-top: 0;
}

.legal-company p {
  margin: 0 0 8px;
  color: #222;
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.5;
}

.legal-company p.legal-company__name {
  margin: 0 0 14px;
  color: #111;
  font-size: 1.12rem;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.04em;
}

.legal-page__lead {
  margin: 0 0 8px;
  color: #222;
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.5;
}

.legal-page__lead:last-of-type {
  margin-bottom: 28px;
}

.legal-article__cn,
.legal-article__ul {
  margin: 0 0 8px;
  color: #222;
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.5;
}

.legal-article__cn {
  padding: 0;
  list-style: none;
  counter-reset: legal-cn;
}

.legal-article__cn li {
  position: relative;
  margin: 0 0 4px;
  padding-left: 1.7em;
  counter-increment: legal-cn;
}

.legal-article__cn li::before {
  content: counter(legal-cn, cjk-ideographic) "、";
  position: absolute;
  left: 0;
}

.legal-article__ul {
  padding: 0 0 0 1.25em;
  list-style: square;
}

.legal-article__ul li {
  margin: 0 0 4px;
  padding-left: 0.15em;
}

.legal-contact {
  display: flex;
  align-items: center;
  gap: 10px;
}

.legal-contact span {
  color: #222;
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.5;
}

.legal-contact__icon.img-ph {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  min-height: 22px;
  border-radius: 4px;
  background: #f3f4f5;
  border: 1px solid #d8d8d8;
}

.legal-contact__icon.img-ph img {
  object-fit: contain;
}

.legal-contact__icon.img-ph.is-empty {
  background:
    linear-gradient(135deg, rgba(0, 167, 175, 0.08), rgba(0, 167, 175, 0.02));
  border: 1px dashed rgba(0, 167, 175, 0.45);
}

.legal-contact__icon.img-ph.is-empty::before,
.legal-contact__icon.img-ph .img-ph__label {
  display: none;
}

.legal-company__note {
  margin: 16px 0 0;
  color: #222;
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.5;
}

.fo-hero {
  background: #fff;
  padding: clamp(32px, 5vw, 56px) 0 clamp(40px, 6vw, 68px);
  text-align: center;
}

.fo-hero__inner {
  width: min(100% - 32px, 920px);
  margin-inline: auto;
}

.fo-hero__title {
  margin: 0 0 16px;
  color: #0094a4;
  font-size: clamp(1.55rem, 3.2vw, 2.15rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.fo-hero__lead {
  margin: 0;
  color: #666;
  font-size: clamp(0.95rem, 1.5vw, 1.08rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.75;
}

.fo-bar {
  position: sticky;
  top: var(--header-h, 72px);
  z-index: 30;
  background: #1a2e2f;
  color: #fff;
}

.fo-bar__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: min(100% - 32px, 1180px);
  margin-inline: auto;
  min-height: 64px;
  padding: 12px 0;
  box-sizing: border-box;
}

.fo-bar__title {
  margin: 0;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  flex: 0 0 auto;
  color: #fff;
  font-size: clamp(1.15rem, 2vw, 1.4rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  white-space: normal;
}

.fo-bar__tabs {
  display: flex;
  min-width: 0;
  max-width: 100%;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
}

.fo-bar__tab {
  display: inline-flex;
  max-width: 100%;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 0 18px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 10px;
  background: transparent;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.fo-bar__tab-label {
  color: inherit;
}

.fo-bar__tab-label--long {
  min-width: 0;
  overflow-wrap: anywhere;
  white-space: normal;
}

.fo-bar__tab-count {
  color: inherit;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1;
}

.fo-bar__tab.is-active,
.fo-bar__tab:hover,
.fo-bar__tab:focus-visible {
  background: #fff;
  border-color: #fff;
  color: #1a2e2f;
}

.fo-bar__tab.is-active .fo-bar__tab-count,
.fo-bar__tab:hover .fo-bar__tab-count,
.fo-bar__tab:focus-visible .fo-bar__tab-count {
  color: #0094a4;
}

.fo-body {
  background: #fff;
  padding-bottom: clamp(48px, 7vw, 88px);
}

.fo-section {
  padding: clamp(40px, 6vw, 72px) 0 0;
  scroll-margin-top: calc(var(--header-h, 84px) + 72px);
}

.fo-section__inner {
  width: min(100% - 32px, 1180px);
  margin-inline: auto;
}

.fo-section__head {
  display: flex;
  align-items: stretch;
  margin: 0 0 clamp(24px, 3.5vw, 36px);
  padding-left: 14px;
  border-left: 4px solid #00a4b5;
}

.fo-section--blue .fo-section__head {
  border-left-color: #4a90e8;
}

.fo-section--rose .fo-section__head {
  border-left-color: #e57373;
}

.fo-section__title {
  display: flex;
  min-width: 0;
  overflow-wrap: anywhere;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  color: #222;
  font-size: clamp(1.2rem, 2.2vw, 1.55rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.35;
}

.fo-section__title-main {
  display: block;
  color: #0094a4;
}

.fo-section--blue .fo-section__title-main {
  color: #4a90e8;
}

.fo-section--rose .fo-section__title-main {
  color: #e57373;
}

.fo-section__title-sub {
  display: block;
  color: #888;
  font-weight: 600;
  font-size: 0.78em;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.fo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.fo-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  overflow-wrap: anywhere;
  min-height: 100%;
  padding: 22px 22px 24px;
  background: #fff;
  border: 1px solid #ebebeb;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(30, 40, 50, 0.06);
  box-sizing: border-box;
  transition: transform 0.25s var(--ease), box-shadow 0.25s ease;
}

.fo-card:hover,
.fo-card:focus-within {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(30, 40, 50, 0.1);
}

.fo-card__code {
  margin: 0 0 12px;
  color: #9ec8ce;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.2;
}

.fo-section--blue .fo-card__code {
  color: #9bbcf0;
}

.fo-section--rose .fo-card__code {
  color: #d4a0a0;
}

.fo-card__head {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin: 0 0 8px;
}

.fo-card__icon.img-ph {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  min-height: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

.fo-card__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.fo-card__icon.is-empty {
  background: rgba(0, 164, 181, 0.08);
  border: 1px dashed rgba(0, 164, 181, 0.3);
  border-radius: 8px;
}

.fo-section--blue .fo-card__icon.is-empty {
  background: rgba(74, 144, 232, 0.1);
  border-color: rgba(74, 144, 232, 0.35);
}

.fo-section--rose .fo-card__icon.is-empty {
  background: rgba(229, 115, 115, 0.1);
  border-color: rgba(229, 115, 115, 0.35);
}

.fo-card__icon.is-empty::before,
.fo-card__icon .img-ph__label {
  display: none;
}

.fo-card__title {
  min-width: 0;
  margin: 0;
  color: #111;
  font-size: 1.28rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.35;
}

.fo-card__desc {
  margin: 0 0 14px;
  color: #777;
  font-size: 0.9rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.fo-card__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 6px;
  width: 100%;
}

.fo-card__list li {
  position: relative;
  padding-left: 0.95em;
  color: #888;
  font-size: 0.86rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.fo-card__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #00a4b5;
}

.fo-section--blue .fo-card__list li::before {
  background: #4a90e8;
}

.fo-section--rose .fo-card__list li::before {
  background: #e57373;
}

.fo-note {
  display: flex;
  align-items: center;
  gap: 18px;
  width: fit-content;
  max-width: min(100%, 980px);
  margin: clamp(28px, 4.5vw, 44px) auto 0;
  padding: 22px 28px 22px 24px;
  background: #ebf2fc;
  border-radius: 24px;
  box-sizing: border-box;
}

.fo-note__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  line-height: 0;
}

.fo-note__icon svg {
  display: block;
  width: 36px;
  height: 36px;
}

.fo-note__text {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
  color: #333;
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.75;
  text-align: left;
}

@media (max-width: 900px) {
  .fo-bar__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .fo-bar__tabs {
    width: 100%;
    justify-content: stretch;
    flex-wrap: nowrap;
    gap: 6px;
    overflow: hidden;
    padding-bottom: 0;
  }

  .fo-bar__tab {
    flex: 1 1 0;
    min-width: 0;
    justify-content: center;
    min-height: 34px;
    padding: 0 8px;
    font-size: 0.8rem;
    letter-spacing: 0.02em;
    gap: 4px;
  }

  .fo-bar__tab-count {
    font-size: 0.8rem;
  }

  .fo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
}

@media (max-width: 640px) {
  .fo-hero__title {
    font-size: clamp(1.12rem, 4.8vw, 1.38rem);
  }

  .fo-section__head {
    align-items: stretch;
  }

  .fo-grid {
    grid-template-columns: 1fr;
  }

  .fo-card {
    padding: 20px 18px 22px;
  }

  .fo-note {
    width: 100%;
    max-width: 100%;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 18px 18px 16px;
    border-radius: 18px;
  }

  .fo-note__icon,
  .fo-note__icon svg {
    width: 28px;
    height: 28px;
  }

  .fo-note__text {
    font-size: 0.88rem;
    line-height: 1.7;
  }
}


.hero--points .hero-slide__content {
  justify-content: flex-start;
  color: #222;
  padding-block: clamp(28px, 5vw, 64px);
}

.pt-hero__copy {
  position: relative;
  left: auto;
  top: auto;
  transform: none;
  z-index: 2;
  max-width: min(520px, 92%);
  margin-top: clamp(24px, 4vw, 56px);
  pointer-events: auto;
}

.hero--points .hero-dot.is-active {
  background: var(--teal);
}

.pt-hero__eyebrow {
  margin: 0 0 10px;
  color: #0094a4;
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  font-weight: 700;
  letter-spacing: 0.06em;
}

.pt-hero__title {
  margin: 0;
  color: #222;
  font-size: clamp(1.7rem, 3.4vw, 2.55rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.02em;
}

.pt-hero__title em {
  font-style: normal;
  color: #0094a4;
}

.pt-hero__rule {
  display: block;
  width: 72px;
  height: 3px;
  margin: 18px 0 16px;
  background: var(--pt, #0093a4);
  border-radius: 999px;
}

.pt-hero__desc p {
  margin: 0;
  color: #333;
  font-size: clamp(0.92rem, 1.35vw, 1.05rem);
  font-weight: 500;
  line-height: 1.75;
}


@media (max-width: 900px) {
  .hero--points .hero-slide::after {
    display: none;
  }

  .hero--points .hero-slide__bg.img-ph img,
  .hero--points .hero-slide__bg img {
    object-position: left center !important;
  }

  .hero--points .hero-slide__content {
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    padding-inline: 16px;
  }

  .pt-hero__copy {
    margin-top: 56px;
  }
}

@media (max-width: 720px) {
  .pt-hero__copy {
    margin-top: 56px;
    max-width: min(100%, 320px);
    padding: 0;
    background: transparent;
    border-radius: 0;
  }

  .pt-hero__title {
    font-size: 1.45rem;
  }

  .pt-hero__desc p {
    font-size: 0.88rem;
  }
}

.pt-intro {
  --pt: #0093a4;
  padding: 56px 0 28px;
  text-align: center;
  background: #fff;
}

.pt-intro__title {
  margin: 0;
  color: #222;
  font-size: clamp(1.7rem, 3.2vw, 2.35rem);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.02em;
}

.pt-intro__mark {
  position: relative;
  color: #0094a4;
  display: inline-block;
  z-index: 0;
}

.pt-intro__mark::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.08em;
  height: 0.42em;
  background: #ffe28a;
  z-index: -1;
  border-radius: 999px;
}

.pt-intro__sub {
  margin: 18px 0 0;
  color: #888;
  font-size: clamp(1.2rem, 2.2vw, 1.45rem);
  font-weight: 400;
}

.pt-intro__rule {
  width: min(100%, 720px);
  margin: 36px auto 28px;
  border: 0;
  border-top: 1px solid #e6e6e6;
}

.pt-intro__lead {
  margin: 0 auto;
  max-width: 820px;
  color: #333;
  font-size: clamp(1.15rem, 2vw, 1.35rem);
  line-height: 1.8;
  font-weight: 500;
}

.pt-compare {
  --pt: #0093a4;
  padding: 28px 0 56px;
  background: #fff;
}

.pt-compare__wrap {
  max-width: 960px;
  margin: 0 auto;
}

.pt-compare__tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
  z-index: 3;
  margin-bottom: 0;
  top: 12px;
}

.pt-compare__box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
  border: 0;
  border-radius: 28px;
  background: #f2f2f2;
  padding: 40px 12px 36px;
  overflow: visible;
}

.pt-compare__cross {
  position: absolute;
  inset: 40px 8% 36px 8%;
  pointer-events: none;
  z-index: 1;
}

.pt-compare__cross::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  border-left: 1.5px dashed #c5c5c5;
  transform: translateX(-50%);
}

.pt-compare__cross::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  border-top: 1.5px dashed #c5c5c5;
  transform: translateY(-50%);
}

.pt-compare__box::before,
.pt-compare__box::after {
  content: none;
  display: none;
}

.pt-compare__col {
  display: grid;
  grid-template-rows: 1fr 1fr;
  min-height: 300px;
  position: relative;
  z-index: 0;
}

.pt-compare__tab {
  justify-self: center;
  padding: 11px 32px;
  color: #fff;
  font-weight: 700;
  font-size: 1.08rem;
  letter-spacing: 0.06em;
  border-radius: 8px;
  position: relative;
  background: #9a9a9a;
  z-index: 2;
}

.pt-compare__tab--good {
  background: var(--pt);
}

.pt-compare__tab::before {
  content: none;
}


.pt-compare__tab::after {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(100% - 2px);
  transform: translateX(-50%);
  width: 14px;
  height: 10px;
  background: #9a9a9a;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  z-index: 1;
}

.pt-compare__tab--good::after {
  background: var(--pt);
}

.pt-compare__item {
  text-align: center;
  padding: 32px 28px;
  border: 0;
}

.pt-compare__col--bad .pt-compare__item {
  border-right: 0;
}

.pt-compare__col .pt-compare__item + .pt-compare__item {
  border-top: 0;
}

.pt-compare__head {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 8px;
}

.pt-compare__icon {
  width: 28px;
  height: 28px;
  margin: 0;
  border: 0;
  background: transparent;
  min-height: 0;
  flex: 0 0 auto;
}

.pt-compare__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pt-compare__icon.is-empty::before {
  content: "×";
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  color: #f28b82;
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1;
}

.pt-compare__col--good .pt-compare__icon.is-empty::before {
  content: "✓";
  color: #5cbf6a;
  font-size: 1.35rem;
}

.pt-compare__icon .img-ph__label {
  display: none;
}

.pt-compare__item h3 {
  margin: 0;
  color: #222;
  font-size: 1.15rem;
  font-weight: 700;
}

.pt-compare__item p {
  margin: 0 auto;
  max-width: 280px;
  color: #888;
  font-size: 0.92rem;
  line-height: 1.7;
}

.pt-flow {
  --pt: #0093a4;
  padding: 36px 0 72px;
  text-align: center;
  background: #fff;
}

.pt-flow__title {
  margin: 0 0 8px;
  color: #222;
  font-size: clamp(1.45rem, 2.4vw, 1.85rem);
  font-weight: 700;
}

.pt-flow__title::after {
  content: "";
  display: block;
  width: 72px;
  height: 3px;
  margin: 12px auto 0;
  background: #222;
  border-radius: 999px;
}

.pt-flow__steps {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-start;
  gap: 6px 12px;
  margin: 42px auto 0;
  max-width: 960px;
  padding-inline: 12px;
  box-sizing: border-box;
}

@media (min-width: 981px) {
  .pt-flow__steps {
    gap: 8px 18px;
    max-width: 920px;
    padding-inline: 24px;
  }
}

.pt-flow__step {
  flex: 0 1 110px;
  width: 110px;
  min-width: 0;
}

.pt-flow__circle {
  width: 88px;
  height: 88px;
  margin: 0 auto;
  border: 2px solid var(--pt);
  border-radius: 50%;
  display: grid;
  place-items: center;
}

.pt-flow__icon {
  width: 46px;
  height: 46px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.pt-flow__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pt-flow__icon.is-empty {
  background: var(--pt-soft, #e6f6f8);
  border-radius: 50%;
}

.pt-flow__icon .img-ph__label {
  display: none;
}

.pt-flow__step p {
  margin: 14px 0 0;
  color: #333;
  font-size: 0.98rem;
  font-weight: 500;
}

.pt-flow__arrow {
  flex: 0 0 auto;
  align-self: center;
  margin-top: -28px;
  color: #0094a4;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
}

.pt-features {
  --pt: #0093a4;
  --pt-soft: #e6f6f8;
  padding: 56px 0 64px;
  background: #f5f5f5;
}

.pt-features__head {
  text-align: center;
  margin-bottom: 56px;
}

.pt-features__title {
  margin: 0;
  color: #222;
  font-size: clamp(1.7rem, 3vw, 2.3rem);
  font-weight: 700;
}

.pt-features__lead {
  margin: 14px 0 0;
  color: #333;
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  font-weight: 700;
}

.pt-features__lead em {
  font-style: normal;
  color: #0094a4;
}

.pt-features__rows {
  display: grid;
  gap: 72px;
}

.pt-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 36px 48px;
  align-items: center;
}

.pt-row.is-flip {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
}

.pt-row.is-flip .pt-row__copy {
  order: 2;
}

.pt-row.is-flip .pt-row__media {
  order: 1;
}

#pt-redeem .pt-row__img {
  max-width: 400px;
}

@media (min-width: 981px) {
  #pt-redeem .pt-row__img {
    margin-inline: 0 auto;
  }
}

.pt-row__title {
  margin: 0;
  color: #222;
  font-size: clamp(1.45rem, 2.4vw, 1.85rem);
  font-weight: 700;
  line-height: 1.3;
  padding-left: 14px;
  border-left: 5px solid #222;
}

.pt-row__subtitle {
  margin: 14px 0 0;
  color: #0094a4;
  font-size: clamp(1.05rem, 1.8vw, 1.28rem);
  font-weight: 700;
  line-height: 1.5;
}

.pt-row__desc {
  margin-top: 4px;
}

.pt-row__desc p,
.pt-tiers__lead,
.pt-line__desc {
  margin: 0 0 4px;
  color: #888;
  font-size: 0.98rem;
  line-height: 1.8;
}

.pt-row__desc p {
  margin: 0;
  line-height: 1.55;
}

.pt-checks {
  display: grid;
  gap: 14px;
  margin: 12px 0 0;
}

.pt-checks--grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px 28px;
}

.pt-checks li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #333;
  font-size: 1.02rem;
  font-weight: 700;
}

.pt-checks__icon {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
}

.pt-checks__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pt-checks__icon.is-empty {
  border-radius: 50%;
  background: var(--pt);
}

.pt-checks__icon.is-empty::before {
  content: "✓";
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  height: 100%;
}

.pt-checks__icon .img-ph__label {
  display: none;
}

.pt-callout {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 28px;
  padding: 18px 22px;
  background: var(--pt-soft);
  border-radius: 16px;
  max-width: 420px;
}

.pt-callout__icon {
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
}

.pt-callout__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pt-callout__icon.is-empty {
  border-radius: 50%;
  background: var(--pt);
}

.pt-callout__icon .img-ph__label {
  display: none;
}

.pt-callout p {
  margin: 0;
  color: #0094a4;
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.55;
}

.pt-callout--line p {
  font-size: 1.12rem;
  font-weight: 500;
  line-height: 1.6;
}

.pt-row__media,
.pt-line__media {
  min-width: 0;
}

.pt-row__img,
.pt-line__img {
  width: 100%;
  max-width: 560px;
  margin-inline: auto;
  border: 0;
  background: transparent;
  min-height: 280px;
}

.pt-row__img img,
.pt-line__img img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.pt-row__img.is-empty,
.pt-line__img.is-empty {
  background: linear-gradient(160deg, #eef8f9, #dff0f2);
  border-radius: 24px;
}

.pt-boost {
  --pt: #0093a4;
  --pt-soft: #e6f6f8;
  padding: 72px 0 64px;
  text-align: center;
  background: #fff;
}

.pt-boost__tag {
  display: inline-block;
  margin: 0 auto 22px;
  padding: 10px 34px;
  background: var(--pt);
  color: #fff;
  font-size: 1.15rem;
  font-weight: 700;
  border-radius: 8px;
  position: relative;
}

.pt-boost__tag::after {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(100% - 2px);
  transform: translateX(-50%);
  width: 14px;
  height: 10px;
  background: var(--pt);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.pt-boost__title {
  margin: 18px 0 0;
  color: #0094a4;
  font-size: clamp(1.2rem, 2.2vw, 1.55rem);
  font-weight: 700;
}

.pt-boost__leads {
  margin-top: 14px;
}

.pt-boost__leads p {
  margin: 0;
  color: #777;
  font-size: 1rem;
  line-height: 1.8;
}

.pt-boost__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 220px));
  gap: 44px;
  justify-content: center;
  margin: 42px auto 0;
  max-width: 980px;
}

.pt-boost__card {
  position: relative;
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 36px 16px 28px;
  border: 1.5px solid #9ad4da;
  border-radius: 18px;
  background: #fff;
  box-sizing: border-box;
}

.pt-boost__pill {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  padding: 6px 18px;
  background: #fff;
  border: 1.5px solid #9ad4da;
  border-radius: 999px;
  color: #333;
  font-size: 0.92rem;
  font-weight: 500;
  white-space: nowrap;
}

.pt-boost__card h3 {
  margin: 0;
  color: #333;
  font-size: clamp(1.35rem, 2vw, 1.65rem);
  font-weight: 700;
}

.pt-boost__card p {
  margin: 10px 0 0;
  color: #0094a4;
  font-size: 1rem;
}

.pt-boost__banner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 36px;
  padding: 16px 32px 16px 28px;
  background: var(--pt-soft);
  border-radius: 18px;
  color: #0094a4;
  font-size: 1.02rem;
  font-weight: 700;
  overflow: visible;
}

.pt-boost__banner-icon {
  width: 36px;
  height: 36px;
  border: 0;
  background: transparent;
  min-height: 0;
  overflow: visible;
  border-radius: 0;
  flex: 0 0 auto;
}

.pt-boost__banner-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.pt-boost__banner-icon.is-empty {
  border-radius: 6px;
  background: var(--pt);
}

.pt-boost__banner-icon .img-ph__label {
  display: none;
}

.pt-tiers {
  --pt: #0093a4;
  --pt-soft: #e6f6f8;
  padding: 48px 0 72px;
  background: #fff;
}

.pt-tiers__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 40px 48px;
  align-items: center;
}

.pt-tiers__lead {
  margin-top: 14px;
}

.pt-tiers .pt-callout {
  max-width: 300px;
  gap: 12px;
  margin-top: 22px;
  padding: 12px 16px;
}

.pt-tiers .pt-callout__icon {
  width: 32px;
  height: 32px;
}

.pt-tiers .pt-callout p {
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1.45;
}

.pt-tiers__visual {
  position: relative;
  min-height: 0;
  display: grid;
  place-items: center;
}

.pt-tiers__img {
  width: 100%;
  max-width: 480px;
  margin-inline: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  min-height: 280px;
  overflow: visible;
}

.pt-tiers__img img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}

.pt-tiers__img.is-empty {
  background: linear-gradient(160deg, #eef8f9, #dff0f2);
  border-radius: 24px;
}

.pt-line {
  --pt: #0093a4;
  --pt-soft: #e6f6f8;
  padding: 40px 0 80px;
  background: #fff;
}

.pt-line__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 36px 48px;
  align-items: center;
}

.pt-line__desc {
  margin-top: 14px;
}

.pt-bridge {
  background: #f7f7f7;
  padding: 76px 0 108px;
  text-align: center;
  clip-path: polygon(0 0, 100% 0, 100% 52%, 50% 100%, 0 52%);
  margin-top: 0;
  margin-bottom: -28px;
}

.pt-bridge__copy {
  text-align: center;
  margin-inline: auto;
}

.pt-bridge__copy p {
  margin: 0;
  color: #666;
  font-size: 1.18rem;
  line-height: 1.9;
  text-align: center;
}

.pt-bridge__copy p + p {
  color: #888;
  font-size: 1.1rem;
}

.pt-insight {
  --pt: #0093a4;
  --pt-soft: #e6f6f8;
  padding: 64px 0 48px;
  background: #fff;
}

.pt-insight__lead {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px 22px;
  text-align: center;
}

.pt-insight__lead-copy {
  min-width: 0;
}

.pt-insight__spark-img {
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  min-height: 0;
  overflow: visible;
}

.pt-insight__spark-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.pt-insight__spark-img.is-empty {
  background:
    linear-gradient(var(--pt), var(--pt)) 15% 22% / 14px 2.5px no-repeat,
    linear-gradient(var(--pt), var(--pt)) 28% 50% / 20px 2.5px no-repeat,
    linear-gradient(var(--pt), var(--pt)) 15% 78% / 12px 2.5px no-repeat;
  transform: rotate(-32deg);
}

.pt-insight__spark-img.is-empty .img-ph__label {
  display: none;
}

.pt-insight__spark-img:last-child.is-empty {
  transform: scaleX(-1) rotate(-32deg);
}

.pt-insight__heading {
  margin: 0;
  text-align: center;
}

.pt-insight__heading-mark {
  display: inline-block;
  position: relative;
  z-index: 0;
  padding: 0.12em 0.55em;
  color: #222;
  font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700;
  line-height: 1.45;
}

.pt-insight__heading-mark::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.12em;
  height: 0.55em;
  background: #ffd9b0;
  border-radius: 999px;
  z-index: -1;
}

.pt-insight__subhead {
  margin: 6px 0 0;
  color: #333;
  font-size: clamp(1.02rem, 1.7vw, 1.18rem);
  font-weight: 400;
  line-height: 1.7;
  text-align: center;
}

.pt-insight__body {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 32px 48px;
  align-items: center;
  margin-top: 42px;
  max-width: 980px;
  margin-inline: auto;
}

.pt-insight__man {
  width: min(100%, 320px);
  margin-inline: auto;
  border: 0;
  background: transparent;
  min-height: 260px;
}

.pt-insight__man img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.pt-insight__man.is-empty {
  background: var(--pt);
  border-radius: 24px;
  opacity: 0.85;
}

.pt-insight__list .pt-callout {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  margin-top: 24px;
  padding: 14px 22px 14px 18px;
  gap: 12px;
  background: #e2f1f4;
  border-radius: 18px;
  align-items: center;
}

.pt-insight__list .pt-callout__icon {
  width: 36px;
  height: 36px;
}

.pt-insight__list .pt-callout p {
  font-size: 1.05rem;
  font-weight: 700;
  white-space: nowrap;
}

.pt-quote {
  --pt: #0093a4;
  padding: 48px 0;
  background: #f7f7f7;
  text-align: center;
}

.pt-quote__text {
  position: relative;
  display: inline-block;
  margin: 0 auto;
  max-width: 960px;
  padding: 0.35em 1.55em 0.25em;
  color: #333;
  font-size: clamp(1.2rem, 2.3vw, 1.65rem);
  font-weight: 700;
  line-height: 1.65;
}

.pt-quote__text::before,
.pt-quote__text::after {
  position: absolute;
  color: #333;
  font-family: Georgia, "Times New Roman", "Noto Serif TC", serif;
  font-size: 2.15em;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
}

.pt-quote__text::before {
  content: "\201C";
  left: 0.05em;
  top: -0.08em;
}

.pt-quote__text::after {
  content: "\201D";
  right: 0.05em;
  bottom: -0.42em;
}

.pt-quote__body {
  display: inline;
}

.pt-quote__text em {
  font-style: normal;
  color: #0094a4;
}

.pt-quote__lines {
  margin-top: 10px;
}

.pt-quote__lines p {
  margin: 0;
  color: #777;
  font-size: 1.12rem;
  line-height: 1.55;
}

@media (max-width: 720px) {
  .pt-quote {
    padding: 20px 16px 28px;
    background: #fff;
  }

  .pt-quote .container {
    max-width: 320px;
    margin-inline: auto;
    padding: 20px 14px;
    background: #f7f7f7;
    border-radius: 16px;
    box-sizing: border-box;
  }

  .pt-quote__text {
    font-size: 1.02rem;
    max-width: 100%;
    padding: 0.2em 1.1em 0.15em;
    line-height: 1.5;
  }

  .pt-quote__text::before,
  .pt-quote__text::after {
    font-size: 1.55em;
  }

  .pt-quote__lines {
    margin-top: 8px;
  }

  .pt-quote__lines p {
    font-size: 0.86rem;
    line-height: 1.45;
  }
}

.pt-faq {
  padding: 56px 0 24px;
  background: #fff;
}

.pt-faq__title {
  margin: 0 0 28px;
  text-align: center;
  color: #222;
  font-size: clamp(1.55rem, 2.6vw, 2rem);
  font-weight: 700;
  letter-spacing: 0.02em;
}

.pt-faq__list {
  max-width: 920px;
  margin: 0 auto;
  text-align: left;
}

.pt-faq__item {
  border-bottom: 1px solid #bdbdbd;
}


.pt-faq__q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 4px 10px;
  border: 0;
  background: transparent;
  font: inherit;
  color: #222;
  font-size: 1.05rem;
  font-weight: 400;
  text-align: left;
  cursor: pointer;
}

.pt-faq__q b {
  margin-right: 10px;
  font-weight: 700;
}

.pt-faq__chev {
  width: 10px;
  height: 10px;
  border-right: 2px solid #222;
  border-bottom: 2px solid #222;
  transform: rotate(45deg);
  margin-top: -4px;
  flex: 0 0 auto;
}

.pt-faq__item.is-open .pt-faq__chev {
  transform: rotate(225deg);
  margin-top: 4px;
}

.pt-faq__a p {
  margin: 0;
  padding: 0 4px 18px;
  color: #555;
  font-size: 0.98rem;
  line-height: 1.85;
}

@media (max-width: 720px) {
  .pt-faq__title {
    margin-bottom: 16px;
    font-size: 1.35rem;
  }

  .pt-faq__q {
    font-size: 0.95rem;
    padding: 16px 2px 8px;
  }
}

.pt-cta {
  --pt: #0093a4;
  background: #fff;
  padding: clamp(40px, 5vw, 72px) 0 0;
  overflow: hidden;
}

.pt-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.1fr);
  gap: clamp(20px, 4vw, 56px);
  align-items: end;
  width: min(100% - 32px, 1180px);
  margin-inline: auto;
}

.pt-cta__media {
  justify-self: start;
  align-self: end;
  width: min(100%, 560px);
  margin-bottom: 0;
  line-height: 0;
}

.pt-cta__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.pt-cta__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  vertical-align: bottom;
}

.pt-cta__img.is-empty {
  min-height: 360px;
  background: linear-gradient(160deg, #e6f6f8, #fff 55%);
  border-radius: 24px 24px 0 0;
}

.pt-cta__img.is-empty::before,
.pt-cta__img .img-ph__label {
  display: none;
}

.pt-cta__copy {
  min-width: 0;
  padding-bottom: clamp(36px, 5vw, 64px);
  text-align: left;
}

.pt-cta__title {
  margin: 0 0 20px;
  color: #0094a4;
  font-size: clamp(1.42rem, 2.45vw, 1.78rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
  text-align: left;
}

.pt-cta__lead {
  margin: 0 0 36px;
  color: #313131;
  font-size: clamp(0.98rem, 1.55vw, 1.12rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
  text-align: left;
}

.pt-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 52px;
  padding: 0 34px;
  border-radius: 999px;
  background: var(--pt);
  color: #fff;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none;
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.pt-cta__btn:hover,
.pt-cta__btn:focus-visible {
  background: #007f8e;
  transform: translateY(-1px);
}

.pt-cta__btn-go {
  position: relative;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
}

.pt-cta__btn-go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translate(-50%, -50%) rotate(45deg);
}

@media (max-width: 900px) {
  .pt-cta__inner {
    grid-template-columns: 1fr;
    gap: 20px;
    justify-items: center;
    text-align: center;
  }

  .pt-cta__media {
    width: min(92%, 400px);
    order: 2;
    justify-self: center;
  }

  .pt-cta__copy {
    order: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 8px;
  }

  .pt-cta__title {
    font-size: clamp(1.22rem, 4.8vw, 1.55rem);
    text-align: center;
  }

  .pt-cta__lead {
    font-size: clamp(0.92rem, 3.5vw, 1.05rem);
    margin-bottom: 28px;
    text-align: center;
  }

  .pt-cta__btn {
    min-height: 48px;
    padding: 0 28px;
    font-size: 1rem;
  }
}

@media (max-width: 980px) {
  .pt-row,
  .pt-row.is-flip,
  .pt-tiers__inner,
  .pt-line__inner,
  .pt-insight__body {
    grid-template-columns: 1fr;
  }

  
  .pt-row.is-flip .pt-row__copy,
  .pt-row.is-flip .pt-row__media {
    order: initial;
  }

  .pt-line__copy,
  .pt-insight__list {
    order: 1;
  }

  .pt-line__media,
  .pt-insight__illust {
    order: 2;
  }

  .pt-boost__cards {
    grid-template-columns: 1fr;
    max-width: 260px;
    gap: 28px;
  }

  .pt-boost__card {
    aspect-ratio: auto;
    min-height: 0;
    padding: 28px 16px 22px;
  }

  .pt-boost__card h3 {
    font-size: 1.25rem;
  }

  .pt-boost__card p {
    margin-top: 6px;
    font-size: 0.9rem;
  }
}

@media (max-width: 720px) {
  .pt-compare__tabs,
  .pt-compare__box {
    grid-template-columns: 1fr 1fr;
  }

  .pt-compare__col--bad .pt-compare__item {
    border-right: 0;
  }

  .pt-flow__steps {
    gap: 4px 6px;
    padding-inline: 8px;
  }

  .pt-flow__step {
    flex: 0 1 72px;
    width: 72px;
  }

  .pt-flow__circle {
    width: 58px;
    height: 58px;
  }

  .pt-flow__icon {
    width: 32px;
    height: 32px;
  }

  .pt-flow__step p {
    font-size: 0.78rem;
    margin-top: 10px;
  }

  .pt-flow__arrow {
    margin-top: -22px;
    font-size: 1.05rem;
  }

  .pt-checks--grid {
    grid-template-columns: 1fr;
  }

  .pt-tiers__img {
    max-width: 360px;
    min-height: 220px;
  }

  .pt-insight__lead {
    gap: 10px;
  }

  .pt-insight__spark-img {
    width: 28px;
    height: 28px;
  }

  .pt-insight__heading-mark::before {
    content: none;
  }

  .pt-insight__list .pt-callout {
    padding: 12px 16px 12px 14px;
    border-radius: 16px;
  }

  .pt-insight__list .pt-callout p {
    white-space: normal;
    font-size: 0.95rem;
  }

  .pt-bridge {
    clip-path: none;
    padding: 72px 16px 64px;
    margin-bottom: 0;
  }
}

#pt-spend,
#pt-redeem,
#pt-manage,
#pt-boost,
#pt-tiers {
  scroll-margin-top: calc(var(--header-h) + 24px);
}

@media (max-width: 720px) {
  .pt-compare__col {
    min-height: 0;
  }

  .pt-compare__item {
    padding: 20px 12px;
  }

  .pt-compare__item p {
    font-size: 0.82rem;
  }

  .pt-compare__tab {
    padding: 8px 14px;
    font-size: 0.92rem;
  }
}


.hl-pen {
  position: relative;
  isolation: isolate;
  display: inline-block;
  padding: 0.08em 0.55em 0.04em;
  background: transparent;
  color: #2b2f33;
}

.hl-pen::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.18em;
  height: 1.12em;
  background: #fdeab4;
  border-radius: 999px;
  z-index: -1;
}


.hero--game {
  --gm: #00b2bd;
}

.hero--game .hero-slide__bg,
.hero--game .hero-slide__bg.is-empty {
  background: #fff;
}

.hero--game .hero-slide::after {
  display: none;
}

.hero--game .hero-slide__content {
  justify-content: flex-start;
  color: #222;
  padding-block: clamp(36px, 5vw, 72px);
}

.gm-hero__copy {
  --gm: #00b2bd;
  position: relative;
  z-index: 2;
  max-width: min(520px, 92%);
  margin-top: clamp(28px, 5vw, 64px);
  pointer-events: auto;
  min-width: 0;
}

.gm-hero__title {
  margin: 0;
  color: #2b2f33;
  font-size: clamp(2.05rem, 4vw, 2.95rem);
  font-weight: 700;
  line-height: 1.32;
  letter-spacing: 0.02em;
  -webkit-text-stroke: 6px #fff;
  paint-order: stroke fill;
}

.gm-hero__title em {
  font-style: normal;
  color: #0094a4;
  -webkit-text-stroke: 6px #fff;
  paint-order: stroke fill;
}

.gm-hero__rule {
  display: block;
  width: 88px;
  height: 3px;
  margin: 16px 0 18px;
  background: var(--gm);
  border-radius: 999px;
}

.gm-hero__desc {
  margin: 0 0 28px;
}

.gm-hero__desc p {
  margin: 0;
  color: #333;
  font-size: clamp(0.98rem, 1.45vw, 1.1rem);
  font-weight: 400;
  line-height: 1.8;
  -webkit-text-stroke: 4px #fff;
  paint-order: stroke fill;
}

.gm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 52px;
  padding: 0 28px 0 16px;
  border-radius: 999px;
  background: var(--gm);
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.gm-btn:hover,
.gm-btn:focus-visible {
  background: #009aa4;
  transform: translateY(-1px);
}

.gm-btn__go {
  position: relative;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fff;
}

.gm-btn__go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--gm);
  border-right: 2px solid var(--gm);
  transform: translate(-50%, -50%) rotate(45deg);
}

.hero--game .hero-dot {
  background: #b7c6c9;
}

.hero--game .hero-dot.is-active {
  background: var(--gm, #00b2bd);
}

.gm-compare {
  --gm: #00b2bd;
  padding: 56px 0 64px;
  background: #fff;
  text-align: center;
}

.gm-compare__title {
  margin: 0;
  color: #2b2f33;
  font-size: clamp(1.42rem, 2.5vw, 1.82rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.gm-compare__title em {
  font-style: normal;
  color: #0094a4;
}

.gm-compare__rule {
  display: block;
  width: auto;
  max-width: 160px;
  height: auto;
  min-height: 0;
  margin: 16px auto 8px;
  border: 0;
  background: transparent;
}

.gm-compare__rule img {
  display: block;
  width: 100%;
  height: auto;
  margin-inline: auto;
}

.gm-compare__rule.is-empty {
  width: 112px;
  height: 18px;
  background: #e8f3f6;
  border-radius: 999px;
}

.gm-compare__rule .img-ph__label {
  font-size: 0.68rem;
}

.gm-compare__sub {
  margin: 0 0 24px;
  color: #666;
  font-size: clamp(1.12rem, 2vw, 1.32rem);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.02em;
  text-align: center;
}

.gm-compare__wrap {
  max-width: 860px;
  margin: 0 auto;
}

.gm-compare__tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
  z-index: 3;
  margin-bottom: 8px;
}

.gm-compare__tab {
  justify-self: center;
  padding: 10px 28px;
  color: #fff;
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: 0.06em;
  border-radius: 8px;
  position: relative;
  background: #9a9a9a;
  z-index: 2;
}

.gm-compare__tab--good {
  background: var(--gm);
}

.gm-compare__tab::after {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(100% - 2px);
  transform: translateX(-50%);
  width: 14px;
  height: 10px;
  background: #9a9a9a;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  z-index: 1;
}

.gm-compare__tab--good::after {
  background: var(--gm);
}

.gm-compare__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
  padding-top: 28px;
}

.gm-compare__cols::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 18px;
  bottom: 8px;
  border-left: 1px solid #d8d8d8;
  transform: translateX(-50%);
}

.gm-compare__col {
  text-align: center;
  padding: 8px 28px 0;
}

.gm-compare__icons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  margin-bottom: 16px;
}

.gm-compare__icon {
  width: 86px;
  height: 86px;
  margin: 0 auto 16px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.gm-compare__icon--sm {
  width: 64px;
  height: 64px;
  margin: 0;
}

.gm-compare__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.gm-compare__icon.is-empty {
  border-radius: 50%;
  background: #ececec;
}

.gm-compare__col--good .gm-compare__icon.is-empty {
  background: #d9eef1;
}

.gm-compare__icon .img-ph__label {
  display: none;
}

.gm-compare__head {
  margin: 0;
  color: #222;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.45;
}

.gm-compare__desc {
  margin: 0;
  color: #222;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.45;
}

.gm-goals {
  --gm: #00b2bd;
  --gm-orange: #e89a2a;
  padding: 56px 0 64px;
  background: #f6f7f8;
  text-align: center;
}

.gm-goals__head {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.gm-goals__gamepad {
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
}

.gm-goals__gamepad img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.gm-goals__gamepad.is-empty {
  border-radius: 8px;
  background: var(--gm);
}

.gm-goals__gamepad .img-ph__label,
.gm-goals__tag .img-ph__label,
.gm-goals__icon .img-ph__label,
.gm-goals__dice .img-ph__label {
  display: none;
}

.gm-goals__title {
  margin: 0;
  color: #0094a4;
  font-size: clamp(1.7rem, 3vw, 2.15rem);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.gm-goals__leads {
  margin-top: 8px;
}

.gm-goals__leads p {
  margin: 0;
  color: #777;
  font-size: clamp(1rem, 1.6vw, 1.12rem);
  font-weight: 400;
  line-height: 1.4;
}

.gm-goals__cols {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-start;
  gap: 18px 28px;
  margin: 28px auto 0;
  max-width: 980px;
}

.gm-goals__col {
  flex: 0 1 200px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.gm-goals__tag {
  display: block;
  width: 100%;
  max-width: 176px;
  height: auto;
  min-height: 0;
  margin: 0 0 14px;
  border: 0;
  background: transparent;
  border-radius: 0;
  overflow: visible;
}

.gm-goals__tag img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
}

.gm-goals__tag.is-empty {
  min-height: 64px;
  border-radius: 0;
  background: #e8f3f6;
}

.gm-goals__method {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.gm-goals__icon {
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
  border-radius: 0;
  overflow: visible;
}

.gm-goals__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 0;
}

.gm-goals__icon.is-empty {
  border-radius: 0;
  background: var(--gm-orange);
}

.gm-goals__method p {
  margin: 0;
  color: var(--gm-orange);
  font-size: 1.18rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.gm-goals__foot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 42px;
  padding: 14px 28px;
  background: #e5f3f5;
  border-radius: 16px;
}

.gm-goals__dice {
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
}

.gm-goals__dice img,
.gm-goals__dice.is-empty {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.gm-goals__dice.is-empty {
  border-radius: 6px;
  background: var(--gm);
}

.gm-goals__foot p {
  margin: 0;
  color: #0094a4;
  font-size: clamp(0.98rem, 1.6vw, 1.12rem);
  font-weight: 700;
}

.gm-playhead {
  --gm: #00b2bd;
  padding: 48px 0 20px;
  text-align: center;
  background: #fff;
}

.gm-playhead__img {
  display: block;
  width: auto;
  max-width: min(520px, 92%);
  height: auto;
  min-height: 0;
  margin: 0 auto;
  border: 0;
  background: transparent;
}

.gm-playhead__img img {
  display: block;
  width: 100%;
  height: auto;
  margin-inline: auto;
}

.gm-playhead__img.is-empty {
  min-height: 72px;
  background: #e8f3f6;
  border-radius: 18px;
}

.gm-playhead__img .img-ph__label {
  font-size: 0.72rem;
}

.gm-playhead__lead {
  margin: 10px 0 0;
  color: #888;
  font-size: clamp(1.12rem, 1.9vw, 1.28rem);
  font-weight: 400;
}

.gm-row {
  --gm: #00b2bd;
  --gm-soft: #e6f4f5;
  padding: 36px 0 64px;
  background: #fff;
}

.gm-row__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 36px 48px;
  align-items: center;
}

.gm-row.is-flip .gm-row__inner {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
}

.gm-row.is-flip .gm-row__copy {
  order: 2;
}

.gm-row.is-flip .gm-row__media {
  order: 1;
}

.gm-row__title {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  color: #0094a4;
  font-size: clamp(1.5rem, 2.5vw, 1.95rem);
  font-weight: 700;
  line-height: 1.3;
}

.gm-row__slash {
  width: 38px;
  height: 46px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
}

.gm-row__slash img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.gm-row__slash.is-empty {
  width: 10px;
  height: 46px;
  background: var(--gm);
  transform: skewX(-18deg);
  border-radius: 2px;
}

.gm-row__slash .img-ph__label {
  display: none;
}

.gm-row__subtitle {
  margin: 14px 0 0;
  color: #222;
  font-size: clamp(1.05rem, 1.8vw, 1.28rem);
  font-weight: 700;
  line-height: 1.5;
}

.gm-row__suit {
  margin: 4px 0 12px;
  color: #777;
  font-size: clamp(1.08rem, 1.7vw, 1.18rem);
  line-height: 1.4;
}

.gm-row__lead,
.gm-row__note {
  margin: 10px 0 0;
  color: #777;
  font-size: 0.98rem;
  line-height: 1.7;
}

.gm-row__lead {
  margin-top: 4px;
  color: #777;
  font-size: clamp(1.08rem, 1.7vw, 1.18rem);
  font-weight: 400;
}

.gm-playbox {
  position: relative;
  width: max-content;
  max-width: 100%;
  margin-top: 28px;
  padding: 28px 28px 16px;
  background: #e0f2f7;
  border-radius: 15px;
  text-align: left;
}

.gm-playbox__bar {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  display: inline-block;
  margin: 0;
  padding: 3px 18px;
  border-radius: 999px;
  background: #008b99;
  color: #fff;
  font-size: 0.92rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.45;
  white-space: nowrap;
  transform: translate(-50%, -50%);
}

.gm-playbox__lines p {
  margin: 0;
  color: #333;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.85;
}

.gm-playbox__mark {
  width: max-content;
  max-width: 100%;
  margin: 14px 0 0;
  font-size: 0.98rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.5;
}

.gm-milestones {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
}

.gm-milestones li {
  position: relative;
  padding-left: 20px;
  color: #333;
  font-size: 1.02rem;
  font-weight: 400;
  line-height: 1.9;
}

.gm-milestones li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--gm);
}

.gm-milestones b {
  font-weight: 700;
}

.gm-tasklist {
  list-style: none;
  display: grid;
  gap: 12px;
  margin: 18px 0 0;
  padding: 0;
}

.gm-tasklist li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #666;
  font-size: 0.98rem;
  font-weight: 400;
  line-height: 1.7;
}

.gm-tasklist b {
  color: #0094a4;
  font-weight: 700;
}

.gm-row__flow {
  margin: 18px 0 0;
  color: #0094a4;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.gm-row__notes {
  margin-top: 8px;
}

.gm-row__notes p {
  margin: 0;
  color: #222;
  font-size: 1.08rem;
  font-weight: 400;
  line-height: 1.7;
}

.gm-checks {
  display: grid;
  gap: 12px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.gm-checks--grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px 20px;
}

.gm-checks--grid li {
  font-size: 1.12rem;
}

.gm-checks--grid .gm-checks__icon {
  width: 28px;
  height: 28px;
}

.gm-checks--wide {
  max-width: 720px;
  margin-inline: auto;
  grid-template-columns: 1fr 1fr;
  gap: 14px 28px;
  text-align: left;
}

.gm-checks li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #333;
  font-size: 1.02rem;
  font-weight: 700;
}

.gm-checks--plain li {
  color: #666;
  font-weight: 400;
}

.gm-checks__icon {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
}

.gm-checks__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.gm-checks__icon.is-empty {
  border-radius: 50%;
  background: var(--gm);
}

.gm-checks__icon.is-empty::before {
  content: "✓";
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  height: 100%;
}

.gm-checks__icon .img-ph__label {
  display: none;
}

.gm-callout {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
  padding: 12px 18px;
  background: var(--gm-soft, #e6f4f5);
  border-radius: 16px;
  max-width: 100%;
}

.gm-callout__icon {
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
}

.gm-callout__icon--sq,
.gm-callout__icon--sq img {
  width: 36px;
  height: 36px;
  border-radius: 0;
}

.gm-callout__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.gm-callout__icon.is-empty {
  border-radius: 50%;
  background: var(--gm);
}

.gm-callout__icon .img-ph__label {
  display: none;
}

.gm-callout p {
  margin: 0;
  color: #555;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.5;
}

.gm-callout p span {
  color: #0094a4;
  font-weight: 700;
}

.gm-callout--even {
  padding-right: 32px;
}

.gm-callout--even p,
.gm-callout--even p span {
  color: #0094a4;
  font-size: 1.08rem;
  font-weight: 500;
}

.gm-row__tag {
  display: inline-block;
  margin-top: 12px;
  padding: 6px 16px;
  border-radius: 8px;
  background: var(--gm);
  color: #fff;
  font-size: 0.88rem;
  font-weight: 700;
}

.gm-flow {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 6px 10px;
  margin: 20px 0 0;
}

.gm-flow__step {
  flex: 0 1 76px;
  min-width: 0;
  text-align: center;
}

.gm-flow__icon {
  width: 44px;
  height: 44px;
  margin: 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
}

.gm-flow__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.gm-flow__icon.is-empty {
  border-radius: 50%;
  background: #e6f4f5;
}

.gm-flow__step p {
  margin: 8px 0 0;
  color: #333;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.35;
}

.gm-flow__arrow {
  flex: 0 0 auto;
  align-self: center;
  margin-top: -16px;
  width: 8px;
  height: 8px;
  border-top: 2px solid var(--gm);
  border-right: 2px solid var(--gm);
  transform: rotate(45deg);
}

.gm-row__media {
  min-width: 0;
}

.gm-row__img {
  width: 100%;
  max-width: 520px;
  margin-inline: auto;
  border: 0;
  background: transparent;
  min-height: 260px;
}

.gm-row__img img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.gm-row__img.is-empty {
  background: #eef6f7;
  border-radius: 18px;
}

.gm-scene {
  --gm: #00b2bd;
  padding: 64px 0 72px;
  background: #f8f8f8;
  text-align: center;
}

.gm-scene__title,
.gm-scene__sub {
  margin: 0;
  color: #2b2f33;
  font-size: clamp(1.42rem, 2.5vw, 1.82rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.gm-scene__title em,
.gm-scene__sub em {
  font-style: normal;
  color: #0094a4;
}

.gm-scene__diamond {
  width: 112px;
  height: 2px;
  margin: 16px auto 44px;
  background: var(--gm);
  position: relative;
}

.gm-scene__diamond span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 8px;
  height: 8px;
  background: var(--gm);
  transform: translate(-50%, -50%) rotate(45deg);
}

.gm-scene__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 212px));
  gap: 40px 28px;
  justify-content: center;
}

.gm-scene__card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-height: 228px;
  text-align: center;
  padding: 36px 18px 22px;
  border: 1.5px solid #8fd0d6;
  border-radius: 14px;
  background: #fff;
}

.gm-scene__badge {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  padding: 0 30px 1px;
  background: #fff;
  border: 1.5px solid var(--gm);
  border-radius: 8px;
  color: #0094a4;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.5;
  white-space: nowrap;
}

.gm-scene__icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 12px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.gm-scene__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.gm-scene__icon.is-empty {
  border-radius: 10px;
  background: #e6f4f5;
}

.gm-scene__icon .img-ph__label,
.gm-scene__down .img-ph__label,
.gm-scene__user .img-ph__label,
.gm-scene__icon.is-empty::before,
.gm-scene__down.is-empty::before,
.gm-scene__user.is-empty::before {
  display: none;
  content: none;
}

.gm-scene__card h3 {
  margin: 0 0 6px;
  color: #222;
  font-size: 1.08rem;
  font-weight: 500;
  line-height: 1.4;
}

.gm-scene__card p {
  margin: 0;
  color: #888;
  font-size: 0.86rem;
  font-weight: 400;
  line-height: 1.7;
}

.gm-scene__down {
  display: block;
  width: 68px;
  height: 54px;
  margin: 32px auto 36px;
  border: 0;
  background: transparent;
  min-height: 0;
  overflow: visible;
}

.gm-scene__down img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.gm-scene__down.is-empty {
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 14px solid var(--gm);
  background: transparent;
}

.gm-scene__sub {
  margin-bottom: 18px;
}

.gm-scene__lines {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

.gm-scene__lines p {
  margin: 0;
  color: #777;
  font-size: 1.32rem;
  font-weight: 400;
  line-height: 1.45;
}

.gm-scene__hi-line {
  color: #2b2f33;
}

.gm-scene__takeaway {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: max-content;
  max-width: 100%;
  margin: 28px auto 0;
  text-align: left;
}

.gm-checks--stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin: 0;
  text-align: left;
}

.gm-checks--stack li {
  font-size: 1.18rem;
  font-weight: 400;
  color: #777;
  gap: 6px;
}

.gm-checks--stack .gm-checks__icon,
.gm-checks--stack .gm-checks__icon img {
  width: 24px;
  height: 24px;
  border-radius: 0;
}

.gm-scene__foot {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  margin-top: 22px;
  padding: 10px 28px;
  background: #e6f4f5;
  border-radius: 16px;
}

.gm-scene__user {
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
  border-radius: 0;
}

.gm-scene__user img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 0;
}

.gm-scene__user.is-empty {
  border-radius: 0;
  background: var(--gm);
}

.gm-scene__foot p {
  margin: 0;
  color: #0094a4;
  font-size: 1.18rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.gm-quote {
  --gm: #00b2bd;
  padding: 80px 0 88px;
  background: #fff;
  text-align: center;
}

.gm-quote__text {
  position: relative;
  display: inline-block;
  margin: 0 auto;
  max-width: 960px;
  padding: 0.35em 1.55em 0.25em;
  color: #2b2f33;
  font-size: clamp(1.42rem, 2.6vw, 1.85rem);
  font-weight: 700;
  line-height: 1.65;
}

.gm-quote__text::before,
.gm-quote__text::after {
  position: absolute;
  color: #2b2f33;
  font-family: Georgia, "Times New Roman", "Noto Serif TC", serif;
  font-size: 2.15em;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
}

.gm-quote__text::before {
  content: "\201C";
  left: 0.05em;
  top: -0.08em;
}

.gm-quote__text::after {
  content: "\201D";
  right: 0.05em;
  bottom: -0.42em;
}

.gm-quote__body {
  display: inline;
}

.gm-quote__text em {
  font-style: normal;
  color: #0094a4;
}

.gm-quote__lines {
  margin-top: 14px;
}

.gm-quote__lines p {
  margin: 0;
  color: #777;
  font-size: 1.35rem;
  font-weight: 400;
  line-height: 1.4;
}

.gm-quote__rule {
  width: 100%;
  max-width: 920px;
  height: 1px;
  margin: 48px auto 0;
  background: #e0e0e0;
}

.gm-quote .pt-faq__title {
  margin-top: 48px;
}

.gm-cta {
  --gm: #00b2bd;
  background: #f6f6f6;
  padding: clamp(40px, 5vw, 72px) 0 0;
  overflow: hidden;
}

.gm-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.1fr);
  gap: clamp(20px, 4vw, 56px);
  align-items: end;
  width: min(100% - 32px, 1180px);
  margin-inline: auto;
}

.gm-cta__media {
  justify-self: start;
  align-self: end;
  width: min(100%, 560px);
  margin-bottom: 0;
  line-height: 0;
}

.gm-cta__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.gm-cta__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  vertical-align: bottom;
}

.gm-cta__img.is-empty {
  min-height: 360px;
  background: linear-gradient(160deg, #e6f6f8, #fff 55%);
  border-radius: 24px 24px 0 0;
}

.gm-cta__img.is-empty::before,
.gm-cta__img .img-ph__label {
  display: none;
}

.gm-cta__copy {
  min-width: 0;
  padding-bottom: clamp(36px, 5vw, 64px);
  text-align: center;
}

.gm-cta__title {
  margin: 0 0 20px;
  color: #0094a4;
  font-size: clamp(1.42rem, 2.45vw, 1.78rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.gm-cta__lead {
  margin: 0 0 36px;
  color: #313131;
  font-size: clamp(0.98rem, 1.55vw, 1.12rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
  text-align: center;
}

.gm-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 52px;
  padding: 0 18px 0 34px;
  border-radius: 999px;
  background: var(--gm);
  color: #fff;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none;
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.gm-cta__btn:hover,
.gm-cta__btn:focus-visible {
  background: #009aa4;
  transform: translateY(-1px);
}

.gm-cta__btn-go {
  position: relative;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
}

.gm-cta__btn-go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--gm);
  border-right: 2px solid var(--gm);
  transform: translate(-50%, -50%) rotate(45deg);
}

@media (max-width: 980px) {
  .gm-row__inner,
  .gm-row.is-flip .gm-row__inner {
    grid-template-columns: 1fr;
  }

  .gm-row.is-flip .gm-row__copy,
  .gm-row.is-flip .gm-row__media {
    order: initial;
  }

  .gm-row__copy {
    order: 1;
  }

  .gm-row__media {
    order: 2;
  }

  .gm-callout {
    display: flex;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
  }

  .gm-row__suit {
    margin-bottom: 48px;
  }

  #gm-play .gm-row__subtitle,
  #gm-play .gm-row__suit {
    text-align: center;
  }

  #gm-play .gm-playbox {
    margin-inline: auto;
    text-align: center;
  }

  #gm-play .gm-playbox__mark {
    display: block;
    margin-inline: auto;
    text-align: center;
  }

  #gm-task .gm-row__subtitle,
  #gm-task .gm-row__lead,
  #gm-checkin .gm-row__subtitle,
  #gm-draw .gm-row__subtitle {
    text-align: center;
  }

  #gm-play .gm-row__title,
  #gm-checkin .gm-row__title,
  #gm-task .gm-row__title,
  #gm-draw .gm-row__title {
    justify-content: center;
  }

  .gm-row__flow,
  .gm-row__notes {
    text-align: center;
  }

  .gm-tasklist,
  .gm-milestones {
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
    text-align: left;
  }

  .gm-checks--grid {
    grid-template-columns: max-content max-content;
    width: max-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    justify-items: start;
  }

  .gm-scene__grid {
    grid-template-columns: repeat(2, minmax(0, 220px));
    gap: 36px 24px;
  }

  .gm-checks--wide {
    grid-template-columns: 1fr;
    justify-items: center;
  }
}

@media (max-width: 900px) {
  .gm-cta__inner {
    grid-template-columns: 1fr;
    gap: 20px;
    justify-items: center;
    text-align: center;
  }

  .gm-cta__media {
    width: min(92%, 400px);
    order: 2;
    justify-self: center;
  }

  .gm-cta__copy {
    order: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 8px;
  }

  .gm-cta__title {
    font-size: clamp(1.22rem, 4.8vw, 1.55rem);
  }

  .gm-cta__lead {
    font-size: clamp(0.92rem, 3.5vw, 1.05rem);
    margin-bottom: 28px;
  }

  .gm-cta__btn {
    min-height: 48px;
    padding: 0 16px 0 28px;
    font-size: 1rem;
  }

  .gm-btn {
    min-height: 48px;
    padding: 0 22px 0 12px;
    font-size: 1rem;
  }
}

@media (max-width: 720px) {
  .hero--game .hero-slide::after {
    display: none;
  }

  .hero--game .hero-slides {
    height: clamp(380px, 92vw, 520px);
  }

  .hero--game .hero-slide__content,
  .hero--features.hero--game .hero-slide__content {
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    padding-inline: 16px;
    padding-block: 28px 56px;
  }

  .gm-hero__copy {
    margin-top: 56px;
    max-width: min(100%, 340px);
  }

  .gm-hero__title {
    font-size: 1.7rem;
  }

  .gm-compare__box {
    padding: 40px 12px 28px;
  }

  .gm-compare__tab {
    padding: 8px 14px;
    font-size: 0.92rem;
  }

  .gm-goals__cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px 16px;
    max-width: 420px;
  }

  .gm-goals__col {
    flex: none;
    width: 100%;
  }

  .gm-goals__tag {
    max-width: 150px;
    margin-bottom: 8px;
  }

  .gm-goals__method {
    flex-direction: column;
    gap: 4px;
  }

  .gm-goals__icon {
    width: 40px;
    height: 40px;
  }

  .gm-goals__method p {
    font-size: 1.12rem;
  }

  .gm-goals__foot {
    padding: 12px 14px;
    margin-top: 28px;
  }

  .gm-goals__foot p {
    font-size: 0.86rem;
    text-align: left;
  }

  .gm-playhead__img {
    max-width: min(360px, 88%);
  }

  .gm-playbox__bar {
    white-space: normal;
    text-align: center;
    max-width: calc(100% - 16px);
  }

  .gm-checks--grid {
    grid-template-columns: max-content max-content;
    gap: 10px 20px;
    width: max-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    justify-items: start;
  }

  .gm-scene__grid {
    grid-template-columns: 1fr;
    max-width: 280px;
    margin-inline: auto;
    gap: 28px;
  }

  .gm-scene__card {
    min-height: 0;
  }

  .gm-scene__title,
  .gm-scene__sub {
    font-size: 1.28rem;
  }

  .gm-scene__lines p {
    font-size: 1.12rem;
  }

  .gm-scene__foot {
    padding: 12px 16px;
  }

  .gm-scene__foot p {
    font-size: 0.9rem;
  }

  .gm-flow {
    gap: 4px 6px;
  }

  .gm-flow__step {
    flex: 0 1 64px;
  }

  .gm-quote {
    padding: 48px 0 56px;
  }

  .gm-quote__text {
    font-size: 1.18rem;
    padding: 0.25em 1.2em 0.2em;
  }

  .gm-quote__text::before,
  .gm-quote__text::after {
    font-size: 1.7em;
  }

  .gm-quote__lines p {
    font-size: 1.15rem;
  }

  .gm-quote__rule {
    margin-top: 36px;
  }

  .gm-quote .pt-faq__title {
    margin-top: 36px;
  }
}

#gm-play,
#gm-checkin,
#gm-task,
#gm-draw,
#vc-set,
#vc-query,
#vc-redeem,
#vc-record,
#lw-gift,
#lw-lp,
#lw-menu,
#lw-news,
#lw-member {
  scroll-margin-top: calc(var(--header-h) + 24px);
}


.hero--voucher .hero-slide__bg,
.hero--voucher .hero-slide__bg.is-empty {
  background: #f3f6f7;
}

.hero--voucher .hero-slide__content {
  justify-content: flex-start;
  color: #222;
  padding-block: clamp(36px, 5vw, 72px);
}

.vc-hero__copy {
  --vc: #008c99;
  position: relative;
  z-index: 2;
  max-width: min(520px, 92%);
  margin-top: clamp(76px, 9vw, 128px);
  pointer-events: auto;
}

.vc-hero__title {
  margin: 0;
  color: #005f73;
  font-size: clamp(1.85rem, 3.6vw, 2.65rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.02em;
  -webkit-text-stroke: 6px #fff;
  paint-order: stroke fill;
}

.vc-hero__rule {
  display: block;
  width: 48px;
  height: 4px;
  margin: 16px 0 18px;
  background: var(--vc, #008c99);
  border-radius: 999px;
}

.vc-hero__sub {
  margin: 0 0 10px;
  color: #0094a4;
  font-size: clamp(1.05rem, 1.8vw, 1.28rem);
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.02em;
  -webkit-text-stroke: 4px #fff;
  paint-order: stroke fill;
}

.vc-hero__desc {
  margin: 0 0 28px;
  color: #555;
  font-size: clamp(0.95rem, 1.4vw, 1.08rem);
  font-weight: 400;
  line-height: 1.75;
  -webkit-text-stroke: 4px #fff;
  paint-order: stroke fill;
}

.vc-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 50px;
  padding: 0 16px 0 28px;
  border-radius: 999px;
  background: var(--vc, #008c99);
  color: #fff;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.vc-hero__btn:hover,
.vc-hero__btn:focus-visible {
  background: #007a86;
  transform: translateY(-1px);
}

.vc-hero__btn-go {
  position: relative;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
}

.vc-hero__btn-go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--vc, #008c99);
  border-right: 2px solid var(--vc, #008c99);
  transform: translate(-50%, -50%) rotate(45deg);
}

.hero--voucher .hero-dot.is-active {
  background: #008c99;
}

.vc-hero__next {
  width: 18px;
  height: 18px;
  margin-left: 4px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  position: relative;
}

.vc-hero__next::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 7px;
  height: 7px;
  border-top: 2px solid #c5c8ca;
  border-right: 2px solid #c5c8ca;
  transform: translate(-60%, -50%) rotate(45deg);
}

.vc-intro {
  --vc: #008c99;
  padding: 72px 0 0;
  background: #fff;
}

.vc-intro__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  gap: 40px 56px;
  align-items: center;
}

.vc-intro__title {
  margin: 0;
  color: #222;
  font-size: clamp(1.55rem, 2.6vw, 2.05rem);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.02em;
}

.vc-intro__title em {
  font-style: normal;
  color: #0094a4;
}

.vc-intro__rule {
  display: block;
  width: 48px;
  height: 4px;
  margin: 16px 0 18px;
  background: var(--vc);
  border-radius: 999px;
}

.vc-intro__leads p {
  margin: 0;
  color: #777;
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.4;
}

.vc-list {
  list-style: none;
  display: grid;
  gap: 18px;
  margin: 28px 0 0;
  padding: 0;
}

.vc-list li {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 12px;
  min-width: 0;
}

.vc-list__combo {
  flex: 0 0 auto;
  width: auto;
  max-width: 200px;
  height: 44px;
  border: 0;
  border-radius: 0;
  background: transparent;
  min-height: 0;
  overflow: visible;
}

.vc-list__combo img {
  display: block;
  width: auto;
  height: 44px;
  object-fit: contain;
  border-radius: 0;
}

.vc-list__combo.is-empty {
  width: 160px;
  background: #e8f4f6;
  border-radius: 8px;
}

.vc-list__combo .img-ph__label,
.vc-intro__gift .img-ph__label,
.vc-intro__coins .img-ph__label,
.vc-list__combo.is-empty::before,
.vc-intro__gift.is-empty::before,
.vc-intro__coins.is-empty::before {
  display: none;
  content: none;
}

.vc-list__desc {
  min-width: 0;
  color: #333;
  font-size: 1.12rem;
  font-weight: 500;
  line-height: 1.5;
}

.vc-intro__callout {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 28px;
  padding: 12px 18px;
  background: #e6f4f5;
  border-radius: 14px;
  max-width: 100%;
}

.vc-intro__gift {
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
  border-radius: 0;
  overflow: visible;
}

.vc-intro__gift img,
.vc-intro__img img,
.vc-intro__coins img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.vc-intro__gift img {
  border-radius: 0;
}

.vc-intro__gift.is-empty {
  border-radius: 0;
  background: var(--vc);
}

.vc-intro__callout p {
  margin: 0;
  color: #0094a4;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.55;
}

.vc-intro__media {
  position: relative;
  min-width: 0;
  align-self: end;
  margin-top: 16px;
}

.vc-intro__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.vc-intro__img.is-empty {
  min-height: 380px;
  border-radius: 24px;
  background: linear-gradient(160deg, #e6f4f5, #fff 55%);
}

.vc-intro__img.is-empty::before,
.vc-intro__img .img-ph__label {
  display: none;
}

.vc-intro__coins {
  position: absolute;
  right: 6%;
  top: 10%;
  width: 72px;
  height: 72px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.vc-intro__coins.is-empty {
  display: none;
}

@media (max-width: 900px) {
  .hero--voucher .hero-slide::after {
    display: none;
  }

  .hero--voucher .hero-slide__bg.img-ph img,
  .hero--voucher .hero-slide__bg img {
    object-position: left center !important;
  }

  .hero--voucher .hero-slides {
    height: clamp(380px, 92vw, 520px);
  }

  .hero--voucher .hero-slide__content,
  .hero--features.hero--voucher .hero-slide__content {
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    padding-inline: 16px;
    padding-block: 28px 56px;
  }

  .vc-hero__copy {
    margin-top: 56px;
    max-width: min(100%, 340px);
  }

  .vc-hero__title {
    font-size: 1.55rem;
  }

  .vc-hero__sub {
    font-size: 0.98rem;
  }

  .vc-hero__desc {
    font-size: 0.88rem;
    margin-bottom: 20px;
  }

  .vc-hero__btn {
    min-height: 46px;
    font-size: 0.95rem;
  }

  .vc-intro__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .vc-intro__copy {
    order: 1;
  }

  .vc-intro__title,
  .vc-intro__leads p {
    text-align: center;
  }

  .vc-intro__rule {
    margin-inline: auto;
  }

  .vc-intro__callout {
    display: flex;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
    justify-content: center;
    text-align: left;
  }

  .vc-intro__media {
    order: 2;
  }

  .vc-list {
    gap: 14px;
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
  }

  .vc-list li {
    flex-wrap: nowrap;
    text-align: left;
    justify-content: flex-start;
  }

  .vc-list__desc {
    flex: 1 1 auto;
    text-align: left;
  }
}

@media (max-width: 560px) {
  .vc-list__combo,
  .vc-list__combo img {
    height: 38px;
  }

  .vc-list__desc {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.95rem;
  }

  .vc-intro__callout {
    padding: 10px 12px;
  }

  .vc-intro__callout p {
    font-size: 0.86rem;
  }
}

.vc-track {
  --vc: #008c99;
  padding: 64px 0 72px;
  background: #f8f8f8;
  text-align: center;
}

.vc-track__title {
  display: inline-block;
  margin: 0;
  color: #222;
  font-size: clamp(1.42rem, 2.5vw, 1.82rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.vc-track__rule {
  display: block;
  width: auto;
  max-width: 420px;
  height: auto;
  min-height: 0;
  margin: 14px auto 0;
  border: 0;
  background: transparent;
}

.vc-track__rule img {
  display: block;
  width: 100%;
  height: auto;
  margin-inline: auto;
  object-fit: contain;
}

.vc-track__rule.is-empty {
  width: 280px;
  height: 18px;
  background: #e8f3f6;
  border-radius: 999px;
}

.vc-track__rule .img-ph__label {
  font-size: 0.68rem;
}

.vc-track__leads {
  margin-top: 22px;
}

.vc-track__leads p {
  margin: 0;
  color: #777;
  font-size: 1.18rem;
  font-weight: 400;
  line-height: 1.75;
}

.vc-track__mark {
  margin: 20px 0 0;
  font-size: clamp(1.02rem, 1.7vw, 1.18rem);
  font-weight: 700;
  line-height: 1.55;
}

.vc-track__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 220px));
  gap: 36px 28px;
  justify-content: center;
  margin-top: 40px;
}

.vc-track__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 228px;
  padding: 28px 18px 22px;
  background: #fff;
  border: 1.5px solid #8fd0d6;
  border-radius: 14px;
}

.vc-track__icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 14px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.vc-track__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.vc-track__icon.is-empty {
  border-radius: 12px;
  background: #e6f4f5;
}

.vc-track__icon .img-ph__label,
.vc-track__icon.is-empty::before {
  display: none;
  content: none;
}

.vc-track__card h3 {
  margin: 0 0 10px;
  color: #0094a4;
  font-size: 1.12rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}

.vc-track__card p {
  margin: 0;
  color: #888;
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.35;
}

@media (max-width: 900px) {
  .vc-track {
    padding: 48px 0 56px;
  }

  .vc-track__title {
    font-size: 1.28rem;
    max-width: 16em;
  }

  .vc-track__leads p {
    font-size: 1.08rem;
  }

  .vc-track__mark {
    font-size: 0.95rem;
  }

  .vc-track__grid {
    grid-template-columns: 1fr;
    max-width: 280px;
    margin-inline: auto;
    gap: 20px;
  }

  .vc-track__card {
    min-height: 0;
    padding: 22px 16px 18px;
  }
}

.vc-row {
  --vc: #008c99;
  padding: 72px 0;
  background: #fff;
}

.vc-row__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 36px 48px;
  align-items: center;
}

.vc-row.is-flip .vc-row__inner {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
}

.vc-row.is-flip .vc-row__copy {
  order: 2;
}

.vc-row.is-flip .vc-row__media {
  order: 1;
}

.vc-row__title {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  color: #0094a4;
  font-size: clamp(1.5rem, 2.5vw, 1.95rem);
  font-weight: 700;
  line-height: 1.3;
}

.vc-row__slash {
  position: relative;
  width: 38px;
  height: 46px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
  overflow: visible;
}

.vc-row__slash img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.vc-row__slash.is-empty {
  background: transparent;
}

.vc-row__slash.is-empty::before,
.vc-row__slash.is-empty::after {
  content: "";
  position: absolute;
  top: 0;
  width: 5px;
  height: 100%;
  border-radius: 2px;
  transform: skewX(-18deg);
}

.vc-row__slash.is-empty::before {
  left: 0;
  background: #2b2f33;
}

.vc-row__slash.is-empty::after {
  right: 0;
  background: var(--vc);
}

.vc-row__slash .img-ph__label {
  display: none;
}

.vc-row__subtitle {
  margin: 14px 0 0;
  color: #333;
  font-size: clamp(1.05rem, 1.8vw, 1.22rem);
  font-weight: 400;
  line-height: 1.55;
}

.vc-row__subtitle.is-strong {
  color: #222;
  font-size: clamp(1.18rem, 2vw, 1.36rem);
  font-weight: 500;
}

.vc-row__leads {
  margin-top: 10px;
}

.vc-row__leads p {
  margin: 0;
  color: #777;
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.4;
}

.vc-checks {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 24px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.vc-checks.is-stack {
  grid-template-columns: 1fr;
  gap: 12px;
}

.vc-checks li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #333;
  font-size: 1.02rem;
  font-weight: 400;
}

.vc-checks__icon {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
}

.vc-checks__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.vc-checks__icon.is-empty {
  border-radius: 50%;
  background: var(--vc);
}

.vc-checks__icon.is-empty::before {
  content: "✓";
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  height: 100%;
}

.vc-checks__icon .img-ph__label {
  display: none;
}

.vc-row__media {
  position: relative;
  min-width: 0;
}

.vc-row__img {
  width: 100%;
  max-width: 520px;
  margin-inline: auto;
  border: 0;
  background: transparent;
  min-height: 260px;
}

#vc-redeem .vc-row__img {
  width: 92%;
  max-width: 470px;
}

.vc-row__img img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.vc-row__img.is-empty {
  background: #eef6f7;
  border-radius: 18px;
}

.vc-row__img.is-empty::before,
.vc-row__img .img-ph__label {
  display: none;
}

.vc-row__search,
.vc-row__bubble {
  position: absolute;
  border: 0;
  background: transparent;
  min-height: 0;
}

.vc-row__search {
  left: 2%;
  top: 12%;
  width: 64px;
  height: 64px;
}

.vc-row__bubble {
  right: 4%;
  bottom: 16%;
  width: 72px;
  height: 56px;
}

.vc-row__search img,
.vc-row__bubble img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.vc-row__search.is-empty,
.vc-row__bubble.is-empty,
.vc-row__float.is-empty {
  display: none;
}

.vc-row__float {
  position: absolute;
  left: 8%;
  top: 0;
  width: 64px;
  height: 64px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.vc-row__float img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.vc-row__callout {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
  padding: 12px 18px;
  background: #e6f4f5;
  border-radius: 12px;
  max-width: 100%;
}

.vc-row__card {
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
}

.vc-row__card img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.vc-row__card.is-empty {
  border-radius: 6px;
  background: var(--vc);
}

.vc-row__card .img-ph__label,
.vc-row__card.is-empty::before,
.vc-row__float .img-ph__label,
.vc-row__float.is-empty::before {
  display: none;
  content: none;
}

.vc-row__callout p {
  margin: 0;
  color: #0094a4;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.55;
}

@media (max-width: 900px) {
  .vc-row {
    padding: 48px 0;
  }

  .vc-row__inner,
  .vc-row.is-flip .vc-row__inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .vc-row.is-flip .vc-row__copy,
  .vc-row.is-flip .vc-row__media {
    order: initial;
  }

  .vc-row__copy {
    order: 1;
  }

  .vc-row__media {
    order: 2;
  }

  .vc-row__title {
    font-size: 1.45rem;
  }

  #vc-set .vc-row__title {
    justify-content: center;
  }

  #vc-set .vc-row__subtitle {
    text-align: center;
  }

  #vc-query .vc-row__title {
    justify-content: center;
  }

  #vc-query .vc-row__subtitle,
  #vc-query .vc-row__leads p {
    text-align: center;
  }

  #vc-redeem .vc-row__title {
    justify-content: center;
  }

  #vc-redeem .vc-row__subtitle {
    text-align: center;
  }

  #vc-redeem .vc-row__callout {
    display: flex;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
    justify-content: center;
  }

  #vc-record .vc-row__title {
    justify-content: center;
  }

  #vc-record .vc-row__subtitle {
    text-align: center;
  }

  .vc-checks {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  #vc-set .vc-checks,
  #vc-query .vc-checks,
  #vc-redeem .vc-checks,
  #vc-redeem .vc-checks.is-stack,
  #vc-record .vc-checks {
    grid-template-columns: 1fr 1fr;
    gap: 12px 16px;
  }

  #vc-set .vc-checks,
  #vc-query .vc-checks,
  #vc-redeem .vc-checks,
  #vc-record .vc-checks {
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
  }

  #vc-set .vc-checks li,
  #vc-query .vc-checks li,
  #vc-redeem .vc-checks li,
  #vc-record .vc-checks li {
    text-align: left;
    justify-content: flex-start;
  }

  #vc-redeem .vc-checks,
  #vc-redeem .vc-checks.is-stack {
    grid-template-columns: max-content max-content;
    justify-content: center;
    column-gap: 4px;
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
  }

  #vc-redeem .vc-checks li {
    gap: 6px;
    font-size: 0.92rem;
  }
}

.vc-inds {
  --vc: #008c99;
  padding: 64px 0 72px;
  background: #f8f8f8;
  text-align: center;
}

.vc-inds__title {
  margin: 0;
  color: #222;
  font-size: clamp(1.42rem, 2.5vw, 1.82rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.vc-inds__title em {
  font-style: normal;
  color: #0094a4;
}

.vc-inds__rule {
  display: block;
  width: auto;
  max-width: 160px;
  height: auto;
  min-height: 0;
  margin: 16px auto 40px;
  border: 0;
  background: transparent;
}

.vc-inds__rule img {
  display: block;
  width: 100%;
  height: auto;
  margin-inline: auto;
}

.vc-inds__rule.is-empty {
  width: 112px;
  height: 18px;
  background: #e8f3f6;
  border-radius: 999px;
}

.vc-inds__rule .img-ph__label {
  font-size: 0.68rem;
}

.vc-inds__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 196px));
  gap: 36px 40px;
  justify-content: center;
}

.vc-inds__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: 8px 8px 10px;
  background: #fff;
  border-radius: 18px;
}

.vc-inds__icon {
  width: 120px;
  height: 120px;
  margin: 0 auto 8px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.vc-inds__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.vc-inds__icon.is-empty {
  border-radius: 50%;
  background: #e6f4f5;
}

.vc-inds__icon .img-ph__label,
.vc-inds__icon.is-empty::before {
  display: none;
  content: none;
}

.vc-inds__card p {
  margin: 0;
  color: #333;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

@media (max-width: 900px) {
  .vc-inds {
    padding: 48px 0 56px;
  }

  .vc-inds__title {
    font-size: 1.28rem;
  }

  .vc-inds__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px 12px;
  }

  .vc-inds__card {
    padding: 6px 4px 8px;
  }

  .vc-inds__icon {
    width: 72px;
    height: 72px;
  }

  .vc-inds__card p {
    font-size: 0.82rem;
  }
}

@media (max-width: 520px) {
  .vc-inds__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px 8px;
    max-width: none;
    margin-inline: 0;
  }

  .vc-inds__icon {
    width: 56px;
    height: 56px;
    margin-bottom: 4px;
  }

  .vc-inds__card p {
    font-size: 0.72rem;
    letter-spacing: 0;
  }
}

.vc-quote {
  --vc: #008c99;
  padding: 80px 0 36px;
  background: #fff;
  text-align: center;
}

.vc-quote__text {
  position: relative;
  display: inline-block;
  margin: 0 auto;
  max-width: 960px;
  padding: 0.35em 1.55em 0.25em;
  color: #333;
  font-size: clamp(1.42rem, 2.6vw, 1.85rem);
  font-weight: 700;
  line-height: 1.65;
}

.vc-quote__text::before,
.vc-quote__text::after {
  position: absolute;
  color: #333;
  font-family: Georgia, "Times New Roman", "Noto Serif TC", serif;
  font-size: 2.15em;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
}

.vc-quote__text::before {
  content: "\201C";
  left: 0.05em;
  top: -0.08em;
}

.vc-quote__text::after {
  content: "\201D";
  right: 0.05em;
  bottom: -0.42em;
}

.vc-quote__body {
  display: inline;
}

.vc-quote__text em {
  font-style: normal;
  color: #0094a4;
}

.vc-quote__lines {
  margin-top: 14px;
}

.vc-quote__lines p {
  margin: 0;
  color: #777;
  font-size: 1.18rem;
  font-weight: 400;
  line-height: 1.4;
}

.vc-quote__rule {
  width: 100%;
  max-width: 920px;
  height: 1px;
  margin: 48px auto 0;
  background: #e0e0e0;
}

.vc-quote .pt-faq__title {
  margin-top: 48px;
}

@media (max-width: 720px) {
  .vc-quote {
    padding: 48px 0 24px;
  }

  .vc-quote__text {
    font-size: 1.18rem;
    padding: 0.25em 1.2em 0.2em;
  }

  .vc-quote__text::before,
  .vc-quote__text::after {
    font-size: 1.7em;
  }

  .vc-quote__lines p {
    font-size: 1.08rem;
  }

  .vc-quote__rule {
    margin-top: 36px;
  }

  .vc-quote .pt-faq__title {
    margin-top: 36px;
  }
}

.vc-cta {
  --vc: #008c99;
  background: #f8f8f8;
  padding: 28px 0 0;
  overflow: hidden;
}

.vc-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.1fr);
  gap: clamp(20px, 4vw, 56px);
  align-items: end;
  width: min(100% - 32px, 1180px);
  margin-inline: auto;
}

.vc-cta__media {
  justify-self: start;
  align-self: end;
  width: min(100%, 560px);
  margin-bottom: 0;
  line-height: 0;
}

.vc-cta__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.vc-cta__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  vertical-align: bottom;
}

.vc-cta__img.is-empty {
  min-height: 360px;
  background: linear-gradient(160deg, #e6f4f5, #f8f8f8 55%);
  border-radius: 24px 24px 0 0;
}

.vc-cta__img.is-empty::before,
.vc-cta__img .img-ph__label {
  display: none;
}

.vc-cta__copy {
  min-width: 0;
  padding-bottom: clamp(36px, 5vw, 64px);
  text-align: center;
}

.vc-cta__title {
  margin: 0 0 20px;
  color: #0094a4;
  font-size: clamp(1.42rem, 2.45vw, 1.78rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.vc-cta__lead {
  margin: 0 0 36px;
  color: #313131;
  font-size: clamp(0.98rem, 1.55vw, 1.12rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
  text-align: center;
}

.vc-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 52px;
  padding: 0 18px 0 34px;
  border-radius: 999px;
  background: var(--vc);
  color: #fff;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.vc-cta__btn:hover,
.vc-cta__btn:focus-visible {
  background: #007a86;
  transform: translateY(-1px);
}

.vc-cta__btn-go {
  position: relative;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
}

.vc-cta__btn-go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--vc);
  border-right: 2px solid var(--vc);
  transform: translate(-50%, -50%) rotate(45deg);
}

@media (max-width: 900px) {
  .vc-cta__inner {
    grid-template-columns: 1fr;
    gap: 20px;
    justify-items: center;
    text-align: center;
  }

  .vc-cta__media {
    width: min(92%, 400px);
    order: 2;
    justify-self: center;
  }

  .vc-cta__copy {
    order: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 8px;
  }

  .vc-cta__title {
    font-size: clamp(1.22rem, 4.8vw, 1.55rem);
  }

  .vc-cta__lead {
    font-size: clamp(0.92rem, 3.5vw, 1.05rem);
    margin-bottom: 28px;
  }

  .vc-cta__btn {
    min-height: 48px;
    padding: 0 16px 0 28px;
    font-size: 1rem;
  }
}


.hero--lineweb .hero-slide__bg,
.hero--lineweb .hero-slide__bg.is-empty {
  background: #f4fafb;
}

.hero--lineweb .hero-slide__content {
  justify-content: center;
  color: #222;
  padding-block: clamp(28px, 4vw, 56px);
}

.lw-hero__panel {
  --lw: #1ebbcf;
  width: 100%;
  pointer-events: auto;
}

.lw-hero__copy {
  min-width: 0;
}

.lw-hero__kicker {
  display: block;
  width: auto;
  max-width: min(380px, 78%);
  height: auto;
  min-height: 0;
  margin: 0 0 14px;
  transform: translateX(-56px);
  border: 0;
  background: transparent;
  overflow: visible;
}

.lw-hero__kicker img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

.lw-hero__kicker.is-empty {
  width: min(320px, 78%);
  height: 32px;
  background: #e8f3f6;
}

.lw-hero__kicker .img-ph__label {
  font-size: 0.68rem;
}

.lw-hero__title {
  margin: 0;
  color: #2b2f33;
  font-size: clamp(1.35rem, 2.6vw, 1.95rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.lw-hero__title em {
  font-style: normal;
  color: #0094a4;
  font-size: 1.12em;
}

.lw-hero__sub {
  margin: 22px 0 18px;
  color: #2b2f33;
  font-size: clamp(1rem, 1.7vw, 1.22rem);
  font-weight: 700;
  line-height: 1.55;
  white-space: nowrap;
}

.lw-hero__sub em {
  font-style: normal;
  color: #0094a4;
}

.lw-hero__desc {
  margin: 12px 0 24px;
}

.lw-hero__desc p {
  margin: 0;
  color: #2b2f33;
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.7;
}

.lw-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 50px;
  padding: 0 26px 0 14px;
  border-radius: 999px;
  background: var(--lw);
  color: #fff;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.lw-hero__btn:hover,
.lw-hero__btn:focus-visible {
  background: #16a6b8;
  transform: translateY(-1px);
}

.lw-hero__btn-go {
  position: relative;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
}

.lw-hero__btn-go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--lw);
  border-right: 2px solid var(--lw);
  transform: translate(-50%, -50%) rotate(45deg);
}

.hero--lineweb .hero-dot.is-active {
  background: #1ebbcf;
}

.lw-hero__next {
  width: 18px;
  height: 18px;
  margin-left: 4px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  position: relative;
}

.lw-hero__next::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 7px;
  height: 7px;
  border-top: 2px solid #c5c8ca;
  border-right: 2px solid #c5c8ca;
  transform: translate(-60%, -50%) rotate(45deg);
}

.lw-intro {
  --lw: #1ebbcf;
  padding: 72px 0 64px;
  background: #fff;
  text-align: center;
}

.lw-intro__title {
  margin: 0;
  color: #2b2f33;
  font-size: clamp(1.45rem, 2.6vw, 1.95rem);
  font-weight: 500;
  line-height: 1.55;
}

.lw-intro__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-top: 4px;
  font-weight: 700;
  font-size: 1.12em;
}

.lw-intro__mark .hl-pen {
  padding-left: 0.12em;
  padding-right: 0.12em;
}

.lw-intro__mark .hl-pen::before {
  height: 0.42em;
  bottom: -0.04em;
}

.lw-intro__ray,
.lw-intro__ray.img-ph {
  width: 72px;
  height: 56px;
  flex: 0 0 72px;
  border: 0;
  background: transparent;
  min-height: 0;
  overflow: visible;
}

.lw-intro__ray--l {
  margin-right: -10px;
  transform: translateY(8px);
}

.lw-intro__ray--r {
  margin-left: -10px;
  transform: translateY(8px);
}

.lw-intro__ray img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.lw-intro__ray.is-empty {
  background: #e8f3f6;
}

.lw-intro__ray .img-ph__label,
.lw-intro__ray.is-empty::before {
  display: none;
  content: none;
}

.lw-intro__leads {
  margin-top: 28px;
}

.lw-intro__leads p {
  margin: 0 0 14px;
  color: #666;
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.85;
  text-align: center;
}

.lw-intro__leads p:last-child {
  margin-bottom: 0;
}

.lw-intro__rule {
  width: 100%;
  max-width: 920px;
  height: 1px;
  margin: 48px auto 0;
  background: #e8e8e8;
}

@media (max-width: 900px) {
  .hero--lineweb .hero-slide::after {
    display: none;
  }

  .hero--lineweb .hero-slide__bg.img-ph img,
  .hero--lineweb .hero-slide__bg img {
    object-position: left center !important;
  }

  .hero--lineweb .hero-slides {
    height: clamp(420px, 96vw, 560px);
  }

  .hero--lineweb .hero-slide__content,
  .hero--features.hero--lineweb .hero-slide__content {
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    padding-inline: 16px;
    padding-block: 24px 56px;
  }

  .lw-hero__copy {
    margin-top: 56px;
  }

  .lw-hero__title {
    font-size: 1.08rem;
    white-space: normal;
  }

  .lw-hero__sub {
    font-size: 0.98rem;
    white-space: normal;
  }

  .lw-hero__desc p {
    font-size: 1.02rem;
  }

  .lw-intro {
    padding: 48px 0 40px;
  }

  .lw-intro__title {
    font-size: 1.28rem;
  }

  .lw-intro__mark {
    font-size: 1.08em;
  }

  .lw-intro__leads p {
    font-size: 0.95rem;
  }
}

.lw-stay {
  --lw: #1ebbcf;
  padding: 72px 0 0;
  background: #fff;
  text-align: center;
}

.lw-stay__title {
  margin: 0;
  color: #222;
  font-size: clamp(1.45rem, 2.6vw, 1.95rem);
  font-weight: 700;
  line-height: 1.5;
}

.lw-stay__head,
.lw-stay__head.img-ph {
  display: block;
  width: auto;
  max-width: min(480px, 84%);
  height: auto;
  min-height: 0;
  margin: 0 auto 4px;
  border: 0;
  background: transparent;
  overflow: visible;
}

.lw-stay__head img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
  object-fit: contain;
}

.lw-stay__head.is-empty {
  width: min(360px, 84%);
  height: 42px;
  background: #e8f3f6;
}

.lw-stay__head .img-ph__label {
  font-size: 0.68rem;
}

.lw-stay__check .img-ph__label,
.lw-stay__check.is-empty::before {
  display: none;
  content: none;
}

.lw-stay__sub {
  position: relative;
  display: block;
  z-index: 1;
  margin-top: -32px;
  color: #222;
  font-size: clamp(1.38rem, 2.4vw, 1.9rem);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.lw-stay__leads {
  margin-top: 18px;
}

.lw-stay__leads p {
  margin: 0;
  color: #777;
  font-size: 1.02rem;
  font-weight: 400;
  line-height: 1.75;
}

.lw-stay__checks {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 28px 36px;
  margin: 32px 0 0;
  padding: 0;
  list-style: none;
}

.lw-stay__checks li {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #222;
  font-size: 1.02rem;
  font-weight: 700;
  white-space: nowrap;
}

.lw-stay__check {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
}

.lw-stay__check img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.lw-stay__check.is-empty {
  border-radius: 50%;
  background: var(--lw);
}

.lw-stay__check.is-empty::before {
  content: "✓";
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  height: 100%;
}

.lw-stay__stage,
.lw-stay__stage.img-ph {
  display: block;
  width: 100%;
  max-width: 920px;
  height: auto;
  min-height: 0;
  margin: 48px auto 0;
  padding: 0;
  border: 0;
  background: transparent;
  overflow: visible;
}

.lw-stay__stage img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.lw-stay__stage.is-empty {
  min-height: 280px;
  background: #e8f3f6;
}

.lw-stay__stage .img-ph__label {
  font-size: 0.72rem;
}

@media (max-width: 900px) {
  .lw-stay {
    padding: 48px 0 0;
  }

  .lw-stay__checks {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
    gap: 12px 18px;
  }

  .lw-stay__checks li {
    font-size: 0.9rem;
    justify-content: flex-start;
    text-align: left;
  }

  .lw-stay__stage {
    margin-top: 32px;
  }

  .lw-stay__sub {
    font-size: 1.28rem;
    margin-top: -22px;
  }

  .lw-stay__title {
    font-size: 1.22rem;
  }
}

.lw-row {
  --lw: #1ebbcf;
  padding: 56px 0;
  background: #f8f8f8;
}

.lw-row.is-white {
  background: #fff;
}

.lw-row:first-of-type,
#lw-gift {
  padding-top: 72px;
}

#lw-lp {
  padding-bottom: 0;
}

#lw-lp .lw-row__media {
  align-self: end;
}

.lw-row__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 36px 48px;
  align-items: center;
}

.lw-row.is-flip .lw-row__inner {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
}

.lw-row.is-flip .lw-row__copy {
  order: 2;
}

.lw-row.is-flip .lw-row__media {
  order: 1;
}

.lw-row__title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  color: #222;
  font-size: clamp(1.5rem, 2.5vw, 1.95rem);
  font-weight: 700;
  line-height: 1.3;
}

.lw-row__title::before {
  content: "";
  width: 5px;
  height: 1.05em;
  background: #2b2f33;
  border-radius: 2px;
  flex: 0 0 auto;
}

.lw-row__subtitle {
  margin: 14px 0 0;
  color: #0094a4;
  font-size: clamp(1.12rem, 1.9vw, 1.38rem);
  font-weight: 700;
  line-height: 1.5;
}

.lw-row__leads {
  margin-top: 12px;
}

.lw-row__leads p {
  margin: 0;
  color: #777;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
}

.lw-row__media {
  min-width: 0;
}

.lw-row__img {
  width: 100%;
  max-width: 520px;
  margin-inline: auto;
  border: 0;
  background: transparent;
  min-height: 260px;
}

.lw-row__img--wide {
  max-width: 640px;
}

@media (min-width: 901px) {
  #lw-lp .lw-row__img {
    max-width: 400px;
    min-height: 0;
  }

  #lw-news .lw-row__inner {
    gap: 36px 168px;
  }

  #lw-news .lw-row__img {
    margin-inline: 0 auto;
    transform: translateX(-28px);
  }
}

.lw-row__img img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.lw-row__img.is-empty {
  background: #eef6f7;
  border-radius: 18px;
}

.lw-row__img.is-empty::before,
.lw-row__img .img-ph__label {
  display: none;
}

.lw-row__media {
  position: relative;
}

.lw-row__checks {
  display: grid;
  gap: 12px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.lw-row__checks li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #333;
  font-size: 1.02rem;
  font-weight: 700;
}

.lw-row__tick {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
}

.lw-row__tick img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.lw-row__tick.is-empty {
  border-radius: 50%;
  background: var(--lw);
}

.lw-row__tick.is-empty::before {
  content: "✓";
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  height: 100%;
}

.lw-row__tick .img-ph__label {
  display: none;
}

.lw-row__bubble {
  position: absolute;
  left: 50%;
  top: 0;
  z-index: 2;
  margin: 0;
  padding: 8px 16px 12px;
  background: var(--lw);
  color: #fff;
  font-size: 0.92rem;
  font-weight: 700;
  border-radius: 10px;
  transform: translate(-50%, -8px);
  white-space: nowrap;
}

.lw-row__bubble::after {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(100% - 2px);
  width: 12px;
  height: 8px;
  background: var(--lw);
  transform: translateX(-50%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.lw-minis {
  display: flex;
  flex-wrap: nowrap;
  gap: 16px;
  margin-top: 28px;
}

.lw-minis__item {
  flex: 0 1 110px;
  min-width: 0;
  text-align: center;
}

.lw-minis__box {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  padding: 20px 8px 10px;
  background: #fff;
  border: 2.5px solid #000;
  border-radius: 12px;
}

.lw-minis__badge,
.lw-minis__badge.img-ph,
.lw-minis__badge.img-ph.is-empty {
  position: absolute;
  top: -10px;
  left: -10px;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  min-height: 0;
  overflow: hidden;
  z-index: 1;
}

.lw-minis__badge img,
.lw-minis__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.lw-minis__badge.is-empty,
.lw-minis__badge.img-ph.is-empty {
  background: #fff;
}

.lw-minis__badge.is-empty::before,
.lw-minis__badge.img-ph.is-empty::before {
  content: "✓";
  position: static;
  inset: auto;
  display: grid;
  place-items: center;
  color: #0094a4;
  font-size: 0.88rem;
  font-weight: 700;
  height: 100%;
  opacity: 1;
}

.lw-minis__icon {
  width: 36px;
  height: 36px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.lw-minis__icon.is-empty {
  border-radius: 8px;
  background: #e6f4f5;
}

.lw-minis__badge .img-ph__label,
.lw-minis__icon .img-ph__label,
.lw-minis__icon.is-empty::before {
  display: none;
  content: none;
}

.lw-minis__box p {
  margin: 8px 0 0;
  color: #333;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.35;
}

@media (max-width: 900px) {
  .lw-row,
  #lw-gift,
  #lw-lp {
    padding: 40px 0;
  }

  #lw-lp {
    padding-bottom: 0;
  }

  .lw-row__inner,
  .lw-row.is-flip .lw-row__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .lw-row.is-flip .lw-row__copy,
  .lw-row.is-flip .lw-row__media {
    order: initial;
  }

  .lw-row__copy {
    order: 1;
  }

  .lw-row__media {
    order: 2;
  }

  .lw-row__title {
    font-size: 1.4rem;
  }

  #lw-gift .lw-row__title,
  #lw-lp .lw-row__title,
  #lw-menu .lw-row__title,
  #lw-news .lw-row__title,
  #lw-member .lw-row__title {
    justify-content: center;
  }

  #lw-gift .lw-row__subtitle,
  #lw-gift .lw-row__leads p,
  #lw-lp .lw-row__subtitle,
  #lw-lp .lw-row__leads p,
  #lw-menu .lw-row__subtitle,
  #lw-menu .lw-row__leads p,
  #lw-news .lw-row__subtitle,
  #lw-news .lw-row__leads p,
  #lw-member .lw-row__subtitle,
  #lw-member .lw-row__leads p {
    text-align: center;
  }

  #lw-menu .lw-row__checks,
  #lw-news .lw-row__checks {
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
  }

  #lw-menu .lw-row__checks li,
  #lw-news .lw-row__checks li {
    justify-content: flex-start;
    text-align: left;
  }

  .lw-row__bubble {
    font-size: 0.82rem;
    padding: 6px 12px 10px;
    white-space: normal;
    max-width: 90%;
    text-align: center;
  }

  .lw-minis {
    gap: 10px;
  }

  .lw-minis__item {
    flex: 1 1 0;
  }

  .lw-minis__box {
    aspect-ratio: 1;
  }

  .lw-minis__icon {
    width: 48px;
    height: 48px;
  }

  .lw-minis__box p {
    font-size: 0.92rem;
  }
}

.lw-quote {
  padding: 80px 0;
  background: #f8f8f8;
  text-align: center;
}

.lw-quote__text {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 0.3em 1.4em 0.2em;
  color: #e58c8c;
  font-size: clamp(1.42rem, 2.6vw, 1.85rem);
  font-weight: 700;
  line-height: 1.6;
}

.lw-quote__text::before,
.lw-quote__text::after {
  position: absolute;
  color: #e58c8c;
  font-family: Georgia, "Times New Roman", "Noto Serif TC", serif;
  font-size: 1.85em;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
}

.lw-quote__text::before {
  content: "\201C";
  left: 0;
  top: -0.12em;
}

.lw-quote__text::after {
  content: "\201D";
  right: 0;
  bottom: -0.38em;
}

.lw-quote__lead {
  margin: 22px 0 0;
  color: #444;
  font-size: clamp(0.98rem, 1.6vw, 1.12rem);
  font-weight: 400;
  line-height: 1.7;
}

.lw-faq {
  padding: 54px 0 88px;
  background: #fff;
}


@media (max-width: 720px) {
  .lw-quote {
    padding: 48px 16px;
  }

  .lw-quote__text {
    font-size: 1.22rem;
    padding: 0.25em 1.15em 0.15em;
  }

  .lw-quote__lead {
    font-size: 0.9rem;
  }

  .lw-faq {
    padding: 40px 0 64px;
  }

}

.lw-cta {
  --lw: #00a4b5;
  background: #fafafa;
  padding: clamp(40px, 5vw, 72px) 0 0;
  overflow: hidden;
}

.lw-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.1fr);
  gap: clamp(20px, 4vw, 56px);
  align-items: end;
  width: min(100% - 32px, 1180px);
  margin-inline: auto;
}

.lw-cta__media {
  justify-self: start;
  align-self: end;
  width: min(100%, 560px);
  margin-bottom: 0;
  line-height: 0;
}

.lw-cta__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.lw-cta__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  vertical-align: bottom;
}

.lw-cta__img.is-empty {
  min-height: 360px;
  background: linear-gradient(160deg, #f3eee4, #fafafa 55%);
  border-radius: 24px 24px 0 0;
}

.lw-cta__img.is-empty::before,
.lw-cta__img .img-ph__label {
  display: none;
}

.lw-cta__copy {
  min-width: 0;
  padding-bottom: clamp(36px, 5vw, 64px);
  text-align: center;
}

.lw-cta__title {
  margin: 0 0 18px;
  color: #0094a4;
  font-size: clamp(1.28rem, 2.15vw, 1.55rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.lw-cta__lead {
  margin: 0 0 28px;
  color: #313131;
  font-size: clamp(0.98rem, 1.55vw, 1.12rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
  text-align: center;
}

.lw-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 52px;
  padding: 0 18px 0 34px;
  border-radius: 999px;
  background: var(--lw);
  color: #fff;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.lw-cta__btn:hover,
.lw-cta__btn:focus-visible {
  background: #0194a4;
  transform: translateY(-1px);
}

.lw-cta__btn-go {
  position: relative;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
}

.lw-cta__btn-go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--lw);
  border-right: 2px solid var(--lw);
  transform: translate(-50%, -50%) rotate(45deg);
}

@media (max-width: 900px) {
  .lw-cta__inner {
    grid-template-columns: 1fr;
    gap: 20px;
    justify-items: center;
    text-align: center;
  }

  .lw-cta__media {
    width: min(92%, 400px);
    order: 2;
    justify-self: center;
  }

  .lw-cta__copy {
    order: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 8px;
  }

  .lw-cta__title {
    font-size: clamp(1.15rem, 4.6vw, 1.42rem);
  }

  .lw-cta__lead {
    font-size: clamp(0.92rem, 3.5vw, 1.05rem);
    margin-bottom: 24px;
  }

  .lw-cta__btn {
    min-height: 48px;
    padding: 0 16px 0 28px;
    font-size: 1rem;
  }
}


.hero--loyal .hero-slide__bg,
.hero--loyal .hero-slide__bg.is-empty {
  background: #1a2428;
}

.hero--loyal .hero-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(12, 20, 24, 0.55) 0%, rgba(12, 20, 24, 0.22) 46%, transparent 72%);
  pointer-events: none;
}

.hero--loyal .hero-slide__content {
  justify-content: flex-start;
  color: #fff;
  padding-block: clamp(36px, 5vw, 72px);
}

.ly-hero__copy {
  --ly: #00a2b5;
  position: relative;
  z-index: 2;
  max-width: min(560px, 94%);
  margin-top: clamp(36px, 6vw, 72px);
  pointer-events: auto;
}

.ly-hero__title {
  margin: 0;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.35;
}

.ly-hero__title-1,
.ly-hero__title-2 {
  display: block;
}

.ly-hero__title-1 {
  font-size: clamp(1.42rem, 2.6vw, 1.85rem);
}

.ly-hero__title-2 {
  margin-top: 6px;
  font-size: clamp(1.72rem, 3.2vw, 2.28rem);
}

.ly-hero__desc {
  margin: 18px 0 26px;
}

.ly-hero__desc p {
  margin: 0;
  color: #fff;
  font-size: clamp(0.92rem, 1.35vw, 1.05rem);
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: 0.04em;
}

.ly-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 50px;
  padding: 0 16px 0 26px;
  border-radius: 999px;
  background: var(--ly);
  color: #fff;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.ly-hero__btn:hover,
.ly-hero__btn:focus-visible {
  background: #0194a4;
  transform: translateY(-1px);
}

.ly-hero__btn-go {
  position: relative;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
}

.ly-hero__btn-go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--ly);
  border-right: 2px solid var(--ly);
  transform: translate(-50%, -50%) rotate(45deg);
}

.hero--loyal .hero-dot.is-active {
  background: #00a2b5;
}

.ly-hero__next {
  width: 18px;
  height: 18px;
  margin-left: 4px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  position: relative;
}

.ly-hero__next::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 7px;
  height: 7px;
  border-top: 2px solid rgba(255, 255, 255, 0.85);
  border-right: 2px solid rgba(255, 255, 255, 0.85);
  transform: translate(-50%, -50%) rotate(45deg);
}

.ly-intro {
  --ly: #0094a4;
  padding: 72px 0 80px;
  background: #fff;
  text-align: center;
}

.ly-intro__sub {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 6px;
  margin: 0 0 2px;
  color: #7d7d7d;
  font-size: clamp(1.22rem, 2vw, 1.45rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.6;
}

.ly-intro__sub span {
  white-space: nowrap;
}

.ly-intro__people.img-ph {
  position: static;
  display: block;
  width: 42px;
  height: 34px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
}

.ly-intro__people img,
.ly-intro__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ly-intro__people.is-empty {
  background:
    radial-gradient(circle at 32% 42%, #9a9a9a 0 28%, transparent 29%),
    radial-gradient(circle at 68% 42%, #9a9a9a 0 28%, transparent 29%),
    radial-gradient(circle at 50% 78%, #b3b3b3 0 32%, transparent 33%);
}

.ly-intro__people .img-ph__label,
.ly-intro__icon .img-ph__label,
.ly-intro__people.is-empty::before,
.ly-intro__icon.is-empty::before {
  display: none;
  content: none;
}

.ly-intro__title {
  margin: 0 0 40px;
  color: #313131;
  font-size: clamp(1.35rem, 2.4vw, 1.78rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.ly-intro__mark {
  position: relative;
  z-index: 0;
  display: inline-block;
  color: #0094a4;
  font-weight: 700;
  padding-bottom: 0.22em;
}

.ly-intro__mark-line {
  position: absolute;
  left: -2px;
  right: -2px;
  bottom: 0;
  width: calc(100% + 4px);
  height: 12px;
  pointer-events: none;
}

.ly-intro__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  max-width: 920px;
  margin: 0 auto 48px;
  padding-top: 28px;
}

.ly-intro__card {
  position: relative;
  overflow: visible;
  padding: 28px 16px 26px;
  background: #fafafa;
  border-radius: 12px;
}

.ly-intro__ico {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin: -56px auto 16px;
}

.ly-intro__icon.img-ph {
  width: 56px;
  height: 56px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.ly-intro__icon.is-empty {
  background: transparent;
}

.ly-intro__card h3 {
  margin: 0;
  color: #313131;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.ly-intro__card p {
  margin: 2px 0 0;
  color: #313131;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.ly-intro__foot {
  margin: 0;
  color: #313131;
  font-size: clamp(1.02rem, 1.7vw, 1.18rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.7;
}

.ly-intro__foot span {
  position: relative;
  z-index: 0;
  display: inline;
  padding: 0 0.15em;
}

.ly-intro__foot span::before {
  content: "";
  position: absolute;
  left: -0.2em;
  right: -0.2em;
  bottom: 0.08em;
  height: 0.55em;
  background: #fae5ac;
  border-radius: 4px;
  z-index: -1;
}

@media (max-width: 900px) {
  .hero--loyal .hero-slides {
    height: clamp(400px, 96vw, 540px);
  }

  .hero--loyal .hero-slide__content,
  .hero--features.hero--loyal .hero-slide__content {
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    padding-inline: 16px;
    padding-block: 32px 56px;
  }

  .hero--loyal .hero-slide__bg.img-ph img,
  .hero--loyal .hero-slide__bg img {
    object-position: right center !important;
  }

  .ly-hero__copy {
    margin-top: 56px;
    max-width: min(100%, 360px);
  }

  .ly-hero__title-1 {
    font-size: 1.28rem;
  }

  .ly-hero__title-2 {
    font-size: 1.48rem;
  }

  .ly-hero__desc p {
    font-size: 0.88rem;
  }

  .ly-hero__btn {
    min-height: 46px;
    font-size: 0.95rem;
  }

  .ly-intro {
    padding: 48px 16px 56px;
  }

  .ly-intro__title {
    font-size: 1.22rem;
    margin-bottom: 28px;
  }

  .ly-intro__sub {
    font-size: 1.08rem;
  }

  .ly-intro__cards {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 32px;
  }

  .ly-intro__foot {
    font-size: 0.98rem;
  }

  .ly-intro__foot span::before {
    content: none;
  }
}

.ly-cycle.section.cycle {
  --ly: #0094a4;
  background: #fafafa;
  padding-top: clamp(56px, 7vw, 80px);
  padding-bottom: clamp(64px, 8vw, 96px);
}

.ly-cycle__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto 10px;
  text-align: center;
  color: #313131;
  font-size: clamp(1.55rem, 2.8vw, 1.95rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.ly-cycle__title-mark {
  display: inline-block;
}

.ly-cycle__title-line,
.ly-cycle__title-line.img-ph {
  display: block;
  width: auto;
  max-width: 280px;
  height: auto;
  min-height: 0;
  margin-top: 6px;
  border: 0;
  background: transparent;
}

.ly-cycle__title-line img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.ly-cycle__title-line.is-empty {
  width: 240px;
  height: 16px;
  background: #d4eef0;
  border-radius: 999px;
}

.ly-cycle__title-line .img-ph__label {
  font-size: 0.62rem;
}

.ly-cycle__sub {
  margin: 0 auto 8px;
  max-width: 40em;
  text-align: center;
  color: #888;
  font-size: clamp(0.95rem, 1.5vw, 1.08rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
}

.ly-cycle__board {
  margin-top: 28px;
}

.ly-cycle .cycle-track {
  border-color: #8fd0d4;
}

.ly-cycle .cycle-arrow--12,
.ly-cycle .cycle-arrow--23 {
  border-width: 9px 0 9px 15px;
  border-color: transparent transparent transparent var(--ly);
}

.ly-cycle .cycle-arrow--45,
.ly-cycle .cycle-arrow--56 {
  border-width: 9px 15px 9px 0;
  border-color: transparent var(--ly) transparent transparent;
}

.ly-cycle .cycle-core__name {
  margin: 0 0 10px;
  color: #0094a4;
  font-size: clamp(1.85rem, 3.2vw, 2.4rem);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.25;
}

.ly-cycle .cycle-core__sub {
  color: #555;
  font-size: clamp(1.05rem, 1.7vw, 1.28rem);
  font-weight: 400;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.ly-cycle .cycle-core__sub span {
  width: 36px;
  background: #c8c8c8;
  opacity: 1;
}

.ly-cycle .cycle-step {
  width: 230px;
}

.ly-cycle .cycle-step__copy {
  margin-bottom: 10px;
}

.ly-cycle .cycle-step--4 .cycle-step__copy,
.ly-cycle .cycle-step--5 .cycle-step__copy,
.ly-cycle .cycle-step--6 .cycle-step__copy {
  margin-top: 10px;
}

.ly-cycle .cycle-step__num,
.ly-cycle .cycle-step h3,
.ly-cycle .cycle-step__copy h3 {
  color: #0094a4;
}

.ly-cycle .cycle-step__copy h3 {
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.35;
}

.ly-cycle .cycle-step__copy p {
  color: #4a4a4a;
  font-size: 0.98rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.45;
}

.ly-cycle .cycle-step__icon,
.ly-cycle .cycle-step__icon.img-ph {
  width: 76px;
  height: 76px;
  border: 1.5px solid #8fd0d4;
  background: #fff;
  box-sizing: border-box;
  border-radius: 50%;
}

.ly-cycle .cycle-step__icon img {
  padding: 12px;
  box-sizing: border-box;
}

.ly-cycle .cycle-step__icon.is-empty {
  background: #fff;
}

@media (max-width: 720px) {
  .ly-cycle.section.cycle {
    padding: 48px 0 56px;
  }

  .ly-cycle__title {
    font-size: 1.28rem;
  }

  .ly-cycle__sub {
    font-size: 0.9rem;
    padding-inline: 12px;
  }

  .ly-cycle .cycle-core__sub {
    white-space: normal;
  }
}

.ly-row {
  --ly: #0094a4;
  padding: 72px 0;
  background: #fff;
}

.ly-row__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
  gap: 36px 48px;
  align-items: center;
}

.ly-row.is-flip .ly-row__inner {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
}

.ly-row.is-flip .ly-row__copy {
  order: 2;
}

.ly-row.is-flip .ly-row__media {
  order: 1;
}

.ly-row__title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  color: #222;
  font-size: clamp(1.42rem, 2.4vw, 1.82rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.3;
}

.ly-row__title::before {
  content: "";
  width: 6px;
  height: 1.05em;
  background: #222;
  border-radius: 1px;
  flex: 0 0 auto;
}

.ly-row__subtitle {
  margin: 12px 0 0;
  color: #0094a4;
  font-size: clamp(1.28rem, 2.1vw, 1.55rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

#ly-profile .ly-row__leads {
  margin-top: 2px;
}

.ly-row__leads {
  margin-top: 10px;
}

.ly-row__leads p {
  margin: 0;
  color: #777;
  font-size: 0.98rem;
  font-weight: 400;
  line-height: 1.75;
}

#ly-profile .ly-row__leads p,
#ly-vip .ly-row__leads p,
#ly-auto .ly-row__leads p,
#ly-segment .ly-row__leads p,
#ly-rich .ly-row__leads p,
#ly-cards .ly-row__leads p {
  font-size: 1.12rem;
}

.ly-row__checks {
  display: grid;
  gap: 14px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.ly-row__checks li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #313131;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.ly-row__tick {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
}

.ly-row__tick img,
.ly-minis__badge img,
.ly-minis__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ly-row__tick.is-empty {
  border-radius: 50%;
  background: var(--ly);
}

.ly-row__tick.is-empty::before {
  content: "✓";
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  height: 100%;
}

.ly-row__tick .img-ph__label,
.ly-minis__badge .img-ph__label,
.ly-minis__icon .img-ph__label {
  display: none;
}

.ly-row__media {
  position: relative;
  min-width: 0;
}

.ly-row__img {
  width: 100%;
  max-width: 560px;
  margin-inline: auto;
  border: 0;
  background: transparent;
  min-height: 260px;
}

.ly-row__img--wide {
  max-width: 640px;
}

#ly-vip .ly-row__img,
#ly-auto .ly-row__img {
  max-width: 430px;
}

.ly-row__img img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.ly-row__img.is-empty {
  background: #f4f7f8;
  border-radius: 18px;
}

.ly-row__img.is-empty::before,
.ly-row__img .img-ph__label {
  display: none;
}

.ly-minis {
  display: flex;
  flex-wrap: nowrap;
  gap: 16px;
  margin-top: 28px;
}

.ly-minis__item {
  flex: 0 1 110px;
  min-width: 0;
  text-align: center;
}

.ly-minis__box {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  padding: 12px 6px 8px;
  background: #fff;
  border: 1.5px solid #000;
  border-radius: 12px;
}

.ly-minis__badge,
.ly-minis__badge.img-ph,
.ly-minis__badge.img-ph.is-empty {
  position: absolute;
  top: -10px;
  left: -10px;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  min-height: 0;
  overflow: visible;
  z-index: 2;
}

.ly-minis__badge.is-empty,
.ly-minis__badge.img-ph.is-empty {
  background: #fff;
}

.ly-minis__badge.is-empty::before,
.ly-minis__badge.img-ph.is-empty::before {
  content: "✓";
  position: static;
  inset: auto;
  display: grid;
  place-items: center;
  color: #0094a4;
  font-size: 0.88rem;
  font-weight: 700;
  height: 100%;
  opacity: 1;
}

.ly-minis__icon {
  width: 48px;
  height: 48px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.ly-minis__icon.is-empty {
  border-radius: 8px;
  background: #e6f4f5;
}

.ly-minis__icon.is-empty::before {
  display: none;
  content: none;
}

.ly-minis__box p {
  margin: 8px 0 0;
  color: #333;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.35;
}

#ly-vip .ly-minis {
  gap: 28px;
}

#ly-vip .ly-minis__box {
  border-width: 1px;
}

#ly-cards .ly-minis {
  width: 100%;
  gap: 28px;
  justify-content: stretch;
}

#ly-cards .ly-minis__item {
  flex: 1 1 0;
  max-width: none;
  min-width: 0;
  overflow: visible;
}

#ly-cards .ly-minis__box {
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto;
  box-sizing: border-box;
  padding: 10px 4px 6px;
  overflow: visible;
}

#ly-cards .ly-minis__icon {
  width: 52px;
  height: 52px;
}

#ly-cards .ly-minis__item:nth-child(-n+2) .ly-minis__icon {
  width: 58px;
  height: 58px;
}

#ly-cards .ly-minis__box p {
  margin-top: 6px;
  font-size: 0.78rem;
  line-height: 1.3;
}

.ly-flags {
  display: grid;
  gap: 16px;
  margin: 20px 0 0;
}

.ly-flags__img,
.ly-flags__img.img-ph {
  display: block;
  width: 100%;
  max-width: 420px;
  height: auto;
  min-height: 0;
  border: 0;
  background: transparent;
}

.ly-flags__img img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.ly-flags__img.is-empty {
  min-height: 52px;
  background: #eef6f7;
  border-radius: 10px;
}

.ly-flags__img .img-ph__label {
  font-size: 0.68rem;
}

.ly-tags {
  position: relative;
  margin-top: 28px;
  padding: 24px 16px 18px;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
}

.ly-tags__legend {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0 10px;
  background: #fff;
  color: #888;
  font-size: 0.88rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.ly-tags__pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 12px;
}

.ly-tags__pills span {
  padding: 6px 16px;
  border-radius: 999px;
  background: var(--ly);
  color: #fff;
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
}

.ly-mail {
  display: flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  gap: 12px;
  margin: 22px auto 0;
  padding: 12px 32px 12px 18px;
  background: #e6f4f5;
  border-radius: 16px;
}

.ly-mail__icon,
.ly-mail__icon.img-ph,
.ly-mail__icon img {
  width: 36px;
  height: 36px;
  border-radius: 0;
}

.ly-mail__icon {
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
}

.ly-mail__icon img {
  object-fit: contain;
}

.ly-mail__icon.is-empty {
  background: #d8eef0;
}

.ly-mail__icon .img-ph__label,
.ly-mail__icon.is-empty::before {
  display: none;
  content: none;
}

.ly-mail p {
  margin: 0;
  color: #0094a4;
  font-size: 1.08rem;
  font-weight: 500;
  line-height: 1.5;
}

.ly-pills {
  display: grid;
  width: max-content;
  max-width: 100%;
  justify-items: stretch;
  gap: 28px;
  margin: 22px 0 0;
  padding: 26px 0 0;
  list-style: none;
}

.ly-pills li {
  position: relative;
  overflow: visible;
  display: flex;
  align-items: center;
  width: auto;
  box-sizing: border-box;
  gap: 12px;
  padding: 12px 14px 12px 14px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(20, 40, 50, 0.06);
  color: #313131;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.45;
}

.ly-pills__ico {
  width: 50px;
  height: 50px;
  flex: 0 0 auto;
  align-self: flex-start;
  margin-top: -22px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.ly-pills__ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ly-pills__ico.is-empty {
  border-radius: 50%;
  background: var(--ly);
}

.ly-pills__ico.is-empty::before,
.ly-pills__ico .img-ph__label {
  display: none;
  content: none;
}

.ly-row__foot {
  margin: 22px 0 0;
  color: #0094a4;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.6;
}

.ly-row__cap {
  margin: 0 0 10px;
  color: #555;
  font-size: 0.92rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}

#ly-cards .ly-row__media {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#ly-cards .ly-row__cap {
  order: -1;
  width: 100%;
  max-width: 640px;
  margin: 0 0 12px;
  text-align: center;
}

@media (max-width: 900px) {
  .ly-row {
    padding: 48px 0;
  }

  .ly-row__inner,
  .ly-row.is-flip .ly-row__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .ly-row.is-flip .ly-row__copy,
  .ly-row.is-flip .ly-row__media {
    order: initial;
  }

  .ly-row__copy {
    order: 1;
  }

  .ly-row__media {
    order: 2;
  }

  #ly-vip .ly-row__img {
    max-width: 80%;
    min-height: 0;
  }

  .ly-row__title {
    font-size: 1.32rem;
  }

  .ly-row__subtitle {
    font-size: 1.18rem;
  }

  #ly-profile .ly-row__title,
  #ly-vip .ly-row__title,
  #ly-auto .ly-row__title,
  #ly-segment .ly-row__title,
  #ly-rich .ly-row__title,
  #ly-cards .ly-row__title {
    justify-content: center;
  }

  #ly-profile .ly-row__subtitle,
  #ly-profile .ly-row__leads p,
  #ly-vip .ly-row__subtitle,
  #ly-vip .ly-row__leads p,
  #ly-auto .ly-row__subtitle,
  #ly-auto .ly-row__leads p,
  #ly-segment .ly-row__subtitle,
  #ly-segment .ly-row__leads p,
  #ly-rich .ly-row__subtitle,
  #ly-rich .ly-row__leads p,
  #ly-rich .ly-row__foot,
  #ly-cards .ly-row__subtitle,
  #ly-cards .ly-row__leads p {
    text-align: center;
  }

  #ly-profile .ly-row__checks {
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
  }

  #ly-auto .ly-flags {
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
  }

  #ly-auto .ly-flags__img,
  #ly-auto .ly-flags__img.img-ph {
    width: 82vw;
    max-width: 360px;
  }

  #ly-rich .ly-pills {
    margin-inline: auto;
  }

  .ly-minis {
    gap: 10px;
  }

  .ly-minis__item {
    flex: 1 1 0;
  }

  #ly-vip .ly-minis {
    padding-inline: 12px;
  }

  #ly-vip .ly-minis__item {
    flex: 1 1 0;
    min-width: 0;
  }

  #ly-vip .ly-minis__box {
    width: 100%;
    aspect-ratio: 1 / 1;
  }

  .ly-minis__icon {
    width: 54px;
    height: 54px;
  }

  #ly-cards .ly-minis {
    gap: 16px;
  }

  #ly-cards .ly-minis__item {
    flex: 1 1 0;
    max-width: none;
  }

  .ly-minis__box p {
    font-size: 0.92rem;
  }

  .ly-tags__pills span {
    font-size: 0.85rem;
    padding: 5px 12px;
  }

  .ly-mail {
    display: flex;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
  }

  .ly-mail p {
    font-size: 0.98rem;
  }

  .ly-pills li {
    font-size: 0.86rem;
    padding: 9px 14px 9px 10px;
  }

  .ly-row__foot {
    font-size: 0.95rem;
  }
}

.ly-dash {
  --ly: #0094a4;
  padding: 80px 0 88px;
  background: #f7f8fa;
  text-align: center;
}

.ly-dash__head {
  margin: 0 auto 32px;
}

.ly-dash__title {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0;
  color: #333;
  font-size: clamp(1.65rem, 2.9vw, 2.05rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
}

.ly-dash__icon {
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
  border-radius: 0;
}

.ly-dash__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ly-dash__icon.is-empty {
  background:
    radial-gradient(circle at 62% 38%, #f7f8fa 0 18%, transparent 19%),
    radial-gradient(circle at 42% 42%, transparent 0 34%, #555 35% 42%, transparent 43%),
    linear-gradient(#555, #555) 72% 78% / 28% 3px no-repeat;
  border-radius: 4px;
  transform: rotate(-18deg);
}

.ly-dash__icon .img-ph__label,
.ly-dash__icon.is-empty::before,
.ly-dash__icon.is-empty .img-ph__label {
  display: none;
  content: none;
}

.ly-dash__sub {
  margin: 4px 0 0;
  color: #0094a4;
  font-size: clamp(1.38rem, 2.3vw, 1.68rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.ly-dash__lead {
  margin: 4px 0 0;
  color: #888;
  font-size: 1.15rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
}

.ly-dash__asks {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 18px;
  margin: 0 auto 42px;
  padding: 0;
  list-style: none;
  max-width: 920px;
}

.ly-dash__asks li {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  padding: 16px 18px 18px;
  background: #ebebeb;
  border-radius: 14px;
  color: #333;
  font-size: 1.15rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.45;
  text-align: center;
}

.ly-dash__asks li::after {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(100% - 2px);
  width: 28px;
  height: 16px;
  background: #ebebeb;
  transform: translateX(-50%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.ly-dash__card {
  max-width: 900px;
  margin: 0 auto;
  padding: 32px 40px 40px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 30px;
  text-align: left;
}

.ly-dash__kicker {
  margin: 0 0 16px;
  color: #888;
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.04em;
}

.ly-dash__tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
  margin: 0 0 24px;
}

.ly-dash__tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 20px;
  border-radius: 999px;
  background: #ebebeb;
  color: #888;
  font-size: 0.92rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}

.ly-dash__tab.is-active {
  background: #3d5a5e;
  color: #fff;
}

.ly-dash__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  padding-top: 24px;
  border-top: 1px solid #eee;
}

.ly-dash__stat-label {
  margin: 0 0 10px;
  color: #888;
  font-size: 0.9rem;
  font-weight: 400;
  letter-spacing: 0.04em;
}

.ly-dash__stat-value {
  margin: 0;
  color: #333;
  line-height: 1.15;
}

.ly-dash__stat-value b {
  font-size: clamp(2rem, 3.4vw, 2.55rem);
  font-weight: 700;
  letter-spacing: 0.01em;
}

.ly-dash__stat-value span {
  margin-left: 6px;
  color: #888;
  font-size: 1rem;
  font-weight: 400;
}

@media (max-width: 720px) {
  .ly-dash {
    padding: 48px 16px 56px;
  }

  .ly-dash__title {
    font-size: 1.35rem;
  }

  .ly-dash__sub {
    font-size: 1.2rem;
  }

  .ly-dash__lead {
    font-size: 1.05rem;
  }

  .ly-dash__asks {
    gap: 8px;
  }

  .ly-dash__asks li {
    font-size: 0.9rem;
    padding: 10px 6px 12px;
  }

  .ly-dash__card {
    padding: 20px 16px 24px;
    border-radius: 20px;
  }

  .ly-dash__tabs {
    gap: 6px;
  }

  .ly-dash__tab {
    flex: 1 1 0;
    padding: 0 8px;
    font-size: 0.78rem;
  }

  .ly-dash__stat-value b {
    font-size: 1.35rem;
  }
}

.ly-crm {
  --ly: #0094a4;
  padding: 80px 0 88px;
  background: #fff;
  text-align: center;
}

.ly-crm__title {
  margin: 0 0 52px;
  color: #333;
  font-size: clamp(1.48rem, 2.7vw, 1.88rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.ly-crm__markwrap {
  position: relative;
  display: inline-block;
  padding-bottom: 0.22em;
}

.ly-crm__do {
  color: #0094a4;
  font-weight: 700;
}

.ly-crm__mark {
  position: static;
  z-index: 0;
  display: inline;
  color: #0094a4;
  font-weight: 700;
  padding-bottom: 0;
}

.ly-crm__mark-line {
  position: absolute;
  left: -2px;
  right: -2px;
  bottom: 0;
  width: calc(100% + 4px);
  height: 12px;
  pointer-events: none;
}

.ly-crm__cards {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: stretch;
  gap: 40px;
  max-width: 760px;
  margin: 0 auto 64px;
  padding: 20px 0 0;
  list-style: none;
}

.ly-crm__card {
  position: relative;
  flex: 0 0 180px;
  width: 180px;
  min-height: 180px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 22px 8px 12px;
  background: #fff;
  border: 2px solid #000;
  border-radius: 12px;
}

.ly-crm__tag {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  transform: translate(-50%, -50%);
  padding: 5px 18px;
  background: #fff;
  border: 1.5px solid var(--ly);
  border-radius: 999px;
  color: #0094a4;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.3;
  white-space: nowrap;
}

.ly-crm__icon {
  width: 92px;
  height: 92px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
  border-radius: 0;
}

.ly-crm__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ly-crm__icon.is-empty {
  background: transparent;
}

.ly-crm__icon .img-ph__label,
.ly-crm__icon.is-empty::before,
.ly-crm__icon.is-empty .img-ph__label {
  display: none;
  content: none;
}

.ly-crm__card p {
  margin: 18px 0 0;
  color: #333;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.45;
}

.ly-crm__quote {
  position: relative;
  display: inline-block;
  margin: 0 auto;
  max-width: 920px;
  padding: 0.35em 1.7em 0.3em;
  color: #0094a4;
  font-size: clamp(1.22rem, 2.3vw, 1.62rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.65;
}

.ly-crm__quote::before,
.ly-crm__quote::after {
  position: absolute;
  color: #0094a4;
  font-family: Georgia, "Times New Roman", "Noto Serif TC", serif;
  font-size: 2.05em;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
}

.ly-crm__quote::before {
  content: "\201C";
  left: 0.02em;
  top: -0.1em;
}

.ly-crm__quote::after {
  content: "\201D";
  right: 0.02em;
  bottom: -0.4em;
}

.ly-crm__lead {
  margin: 8px auto 0;
  max-width: 720px;
  color: #333;
  font-size: 1.28rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.75;
}

@media (max-width: 720px) {
  .ly-crm {
    padding: 56px 16px 64px;
  }

  .ly-crm__title {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 28px;
    color: #222;
    font-size: 1.55rem;
    line-height: 1.35;
  }

  .ly-crm__gap {
    display: none;
  }

  .ly-crm__rest {
    display: inline-block;
    margin-top: 2px;
    padding: 0;
    color: #222;
  }

  .ly-crm__markwrap {
    position: relative;
    display: inline-block;
    padding-bottom: 0.22em;
  }

  .ly-crm__do {
    color: #0094a4;
  }

  .ly-crm__mark {
    position: static;
    display: inline;
    color: #0094a4;
    padding-bottom: 0;
  }

  .ly-crm__mark-line {
    display: block;
    left: -2px;
    right: -2px;
    bottom: 0;
    width: calc(100% + 4px);
    height: 12px;
  }

  .ly-crm__cards {
    flex-direction: column;
    align-items: center;
    gap: 26px;
    max-width: 340px;
    margin-bottom: 40px;
    padding-top: 14px;
  }

  .ly-crm__card {
    flex: none;
    width: 100%;
    min-height: 0;
    aspect-ratio: auto;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 18px;
    padding: 26px 22px 18px 28px;
    border-radius: 14px;
  }

  .ly-crm__tag {
    padding: 4px 16px;
    font-size: 0.95rem;
  }

  .ly-crm__icon {
    width: 58px;
    height: 58px;
  }

  .ly-crm__card p {
    margin: 0;
    text-align: left;
    font-size: 1rem;
    line-height: 1.4;
  }

  .ly-crm__quote {
    font-size: 1.05rem;
    padding: 0.3em 1.25em 0.2em;
  }

  .ly-crm__lead {
    font-size: 1.12rem;
  }
}

.ly-faq {
  padding: 56px 0 88px;
  background: #fff;
}


@media (max-width: 720px) {
  .ly-faq {
    padding: 40px 0 64px;
  }

}

.ly-cta {
  --ly: #00a2b1;
  background: #fff;
  padding: clamp(40px, 5vw, 72px) 0 0;
  overflow: hidden;
}

.ly-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.1fr);
  gap: clamp(20px, 4vw, 56px);
  align-items: end;
  width: min(100% - 32px, 1180px);
  margin-inline: auto;
}

.ly-cta__media {
  justify-self: start;
  align-self: end;
  width: min(100%, 560px);
  margin-bottom: 0;
  line-height: 0;
}

.ly-cta__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.ly-cta__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  vertical-align: bottom;
}

.ly-cta__img.is-empty {
  min-height: 360px;
  background: linear-gradient(160deg, #e8f4f6, #f7f8f9 55%);
  border-radius: 24px 24px 0 0;
}

.ly-cta__img.is-empty::before,
.ly-cta__img .img-ph__label {
  display: none;
}

.ly-cta__copy {
  min-width: 0;
  padding-bottom: clamp(36px, 5vw, 72px);
  text-align: center;
}

.ly-cta__title {
  margin: 0 0 18px;
  color: #0094a4;
  font-size: clamp(1.55rem, 2.8vw, 2.05rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.ly-cta__lead {
  margin: 0 0 32px;
  color: #4a4a4a;
  font-size: clamp(1.05rem, 1.7vw, 1.2rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
}

.ly-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 52px;
  padding: 0 18px 0 34px;
  border-radius: 999px;
  background: var(--ly);
  color: #fff;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none;
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.ly-cta__btn:hover,
.ly-cta__btn:focus-visible {
  background: #01919f;
  transform: translateY(-1px);
}

.ly-cta__btn-go {
  position: relative;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
}

.ly-cta__btn-go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--ly);
  border-right: 2px solid var(--ly);
  transform: translate(-50%, -50%) rotate(45deg);
}

@media (max-width: 900px) {
  .ly-cta__inner {
    grid-template-columns: 1fr;
    gap: 20px;
    justify-items: center;
    text-align: center;
  }

  .ly-cta__media {
    width: min(92%, 400px);
    order: 2;
    justify-self: center;
  }

  .ly-cta__copy {
    order: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 8px;
  }

  .ly-cta__title {
    font-size: clamp(1.28rem, 5vw, 1.62rem);
  }

  .ly-cta__lead {
    font-size: clamp(0.95rem, 3.6vw, 1.08rem);
    margin-bottom: 24px;
  }

  .ly-cta__btn {
    min-height: 48px;
    padding: 0 16px 0 28px;
    font-size: 1rem;
  }
}


.hero--share .hero-slide__bg,
.hero--share .hero-slide__bg.is-empty {
  background: #f4f6f7;
}

.hero--share .hero-slide::after {
  display: none;
}

.hero--share .hero-slide__content.sh-hero__content {
  justify-content: flex-start;
  align-items: flex-start;
  color: #222;
  padding-block: clamp(36px, 5vw, 72px);
}

.sh-hero__copy {
  --sh: #00a7b1;
  position: relative;
  z-index: 2;
  max-width: min(520px, 92%);
  margin-top: clamp(28px, 5vw, 64px);
  min-width: 0;
  padding: 28px 32px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.48);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  box-shadow: 0 0 28px 16px rgba(255, 255, 255, 0.28);
  pointer-events: auto;
}

.sh-hero__title {
  margin: 0;
  color: #222;
  font-size: clamp(1.72rem, 3.2vw, 2.45rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.35;
}

.sh-hero__tone {
  color: #0094a4;
  font-style: normal;
  font-weight: 700;
}

.sh-hero__mark {
  position: relative;
  z-index: 0;
  display: inline-block;
  color: inherit;
  font-style: normal;
  font-weight: 700;
}

.sh-hero__mark::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.14em;
  height: 3px;
  background: var(--sh);
  border-radius: 999px;
}

.sh-hero__desc {
  margin-top: 16px;
}

.sh-hero__desc p {
  margin: 0;
  color: #222;
  font-size: clamp(0.98rem, 1.5vw, 1.12rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.75;
}

.sh-hero__desc em {
  font-style: normal;
  color: #0094a4;
  font-weight: 700;
}

.sh-hero__feats {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 22px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.sh-hero__feats li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.sh-hero__ico {
  width: 52px;
  height: 52px;
  border: 0;
  background: transparent;
  min-height: 0;
  border-radius: 50%;
}

.sh-hero__ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sh-hero__ico.is-empty {
  background: var(--sh);
}

.sh-hero__ico .img-ph__label,
.sh-hero__ico.is-empty::before,
.sh-hero__ico.is-empty .img-ph__label {
  display: none;
  content: none;
}

.sh-hero__feats span {
  color: #333;
  font-size: 0.88rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.sh-hero__btns {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 12px;
  margin-top: 26px;
}

.sh-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 14px 0 20px;
  border-radius: 999px;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  white-space: nowrap;
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.sh-hero__btn--teal {
  background: var(--sh);
}

.sh-hero__btn--coral {
  background: #f88a81;
}

.sh-hero__btn:hover,
.sh-hero__btn:focus-visible {
  transform: translateY(-1px);
}

.sh-hero__btn-go {
  position: relative;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
}

.sh-hero__btn--teal .sh-hero__btn-go::after,
.sh-hero__btn--coral .sh-hero__btn-go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 6px;
  height: 6px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translate(-50%, -50%) rotate(45deg);
}

.sh-hero__btn--teal .sh-hero__btn-go::after {
  color: #0094a4;
}

.sh-hero__btn--coral .sh-hero__btn-go::after {
  color: #f88a81;
}

.sh-hero__visual {
  position: relative;
  z-index: 2;
  min-width: 0;
}

.sh-hero__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 4 / 3;
}

.sh-hero__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sh-hero__img.is-empty {
  background: linear-gradient(160deg, #e8f4f5, #fff 60%);
  border-radius: 24px;
}

.sh-hero__img.is-empty::before,
.sh-hero__img .img-ph__label {
  display: none;
}

.sh-hero__pager .hero-dot.is-active {
  background: #00a7b1;
}

.sh-hero__next {
  width: 18px;
  height: 18px;
  margin-left: 4px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  position: relative;
}

.sh-hero__next::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 7px;
  height: 7px;
  border-top: 2px solid #8a8a8a;
  border-right: 2px solid #8a8a8a;
  transform: translate(-50%, -50%) rotate(45deg);
}

.sh-vs {
  --sh: #00a7b1;
  padding: 72px 0 80px;
  background: #fff;
  text-align: center;
  border-bottom: 1px solid #000;
}

.sh-vs__title {
  margin: 0;
  color: #222;
  font-size: clamp(1.42rem, 2.6vw, 1.88rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.45;
}

.sh-vs__title span {
  color: #0094a4;
}

.sh-vs__lead {
  margin: 4px 0 0;
  color: #777;
  font-size: clamp(1.12rem, 1.8vw, 1.32rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
}

.sh-vs__row {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: center;
  gap: 24px;
  max-width: 752px;
  margin: 40px auto 0;
}

.sh-vs__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 0 1 320px;
  width: 320px;
  min-height: 112px;
  box-sizing: border-box;
  padding: 14px 20px;
  border-radius: 10px;
  text-align: center;
}

.sh-vs__card--bad {
  background: #ffe6e2;
}

.sh-vs__card--good {
  background: #ddf2f5;
}

.sh-vs__card h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0 0 4px;
  color: #333;
  font-size: 1.22rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.sh-vs__card p {
  margin: 0;
  color: #555;
  font-size: 1.02rem;
  font-weight: 400;
  line-height: 1.4;
}

.sh-vs__ico {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
  border-radius: 50%;
}

.sh-vs__ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sh-vs__ico.is-empty {
  background: #e35b4f;
}

.sh-vs__card--good .sh-vs__ico.is-empty {
  background: #2f9e6a;
}

.sh-vs__ico .img-ph__label,
.sh-vs__ico.is-empty::before,
.sh-vs__ico.is-empty .img-ph__label {
  display: none;
  content: none;
}

.sh-vs__mark {
  display: grid;
  place-items: center;
  flex: 0 0 52px;
  align-self: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--sh);
  color: #fff;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

@media (max-width: 900px) {
  .hero--share .hero-slides {
    aspect-ratio: auto;
    height: clamp(520px, 145vw, 680px);
  }

  .hero--share .hero-slide__content.sh-hero__content,
  .hero--features.hero--share .hero-slide__content {
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    padding-inline: 16px;
    padding-block: 28px 56px;
  }

  .sh-hero__copy {
    width: 100%;
    max-width: min(100%, 360px);
    margin-top: 56px;
    padding: 20px 18px;
  }

  .sh-hero__title {
    font-size: 1.48rem;
  }

  .sh-hero__feats {
    justify-content: flex-start;
    gap: 16px;
  }

  .sh-hero__btns {
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .sh-hero__btn {
    font-size: 0.86rem;
    min-height: 44px;
    padding: 0 12px 0 16px;
  }

  .sh-vs {
    padding: 48px 16px 56px;
  }

  .sh-vs__title {
    font-size: 1.22rem;
  }

  .sh-vs__row {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 8px;
    max-width: 100%;
    margin-top: 28px;
  }

  .sh-vs__card {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    max-width: none;
    min-height: 0;
    padding: 10px 8px;
  }

  .sh-vs__card h3 {
    font-size: 0.92rem;
    gap: 4px;
    margin-bottom: 2px;
  }

  .sh-vs__card p {
    font-size: 0.78rem;
    line-height: 1.35;
  }

  .sh-vs__ico {
    width: 16px;
    height: 16px;
  }

  .sh-vs__mark {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    font-size: 0.78rem;
  }
}

.sh-how {
  --sh: #00a7b1;
  padding: 72px 0 28px;
  background: #fff;
  text-align: center;
}

.sh-how__head {
  margin: 0 auto 36px;
}

.sh-how__title {
  margin: 0;
  color: #222;
  font-size: clamp(1.55rem, 2.6vw, 1.95rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.sh-how__lead {
  margin: 4px 0 0;
  color: #777;
  font-size: clamp(0.98rem, 1.5vw, 1.12rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
}

.sh-how__diagram {
  max-width: 980px;
  margin: 0 auto;
}

.sh-how__img,
.sh-how__img.img-ph {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  min-height: 0;
  border: 0;
  background: transparent;
}

.sh-how__img img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.sh-how__img.is-empty {
  min-height: 220px;
  background: #f4f7f8;
  border-radius: 12px;
}

.sh-how__img.is-empty::before,
.sh-how__img .img-ph__label {
  display: none;
}

.sh-how__img--m,
.sh-how__img--m.img-ph {
  display: none;
}

.sh-how__caps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  margin-bottom: 18px;
}

.sh-how__pill {
  justify-self: center;
  min-width: 88px;
  padding: 7px 22px;
  border-radius: 999px;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
}

.sh-how__pill--me {
  background: var(--sh);
  color: #fff;
}

.sh-how__pill--friend {
  background: #c8c8c8;
  color: #fff;
}

.sh-how__pill--more {
  background: #b0b0b0;
  color: #fff;
}

.sh-how__pill--cash {
  background: #f0c043;
  color: #fff;
}

.sh-how__caplink {
  position: absolute;
  top: 50%;
  z-index: 1;
  color: #888;
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  transform: translate(-50%, 14px);
  pointer-events: none;
}

.sh-how__caplink::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 100%;
  width: 56px;
  height: 2px;
  margin-bottom: 4px;
  background: #c8c8c8;
  transform: translateX(-50%);
}

.sh-how__caplink::after {
  content: "";
  position: absolute;
  left: calc(50% + 24px);
  bottom: calc(100% + 1px);
  width: 7px;
  height: 7px;
  border-top: 2px solid #c8c8c8;
  border-right: 2px solid #c8c8c8;
  transform: rotate(45deg);
}

.sh-how__caplink--1 { left: 25%; }
.sh-how__caplink--2 { left: 50%; }
.sh-how__caplink--3 { left: 75%; }

.sh-how__boxes {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  padding-bottom: 36px;
}

.sh-how__box {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 196px;
  padding: 22px 12px 18px;
  border-radius: 16px;
}

.sh-how__box--me {
  background: #e8f5f6;
}

.sh-how__box--friend,
.sh-how__box--more {
  background: #f3f3f3;
}

.sh-how__box--cash {
  background: #fff6d6;
}

.sh-how__icons {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.sh-how__ico {
  width: 56px;
  height: 56px;
  border: 0;
  background: transparent;
  min-height: 0;
  border-radius: 50%;
}

.sh-how__ico--friend,
.sh-how__ico--more {
  width: 64px;
  height: 40px;
  border-radius: 0;
}

.sh-how__ico--cash {
  width: 58px;
  height: 64px;
  border-radius: 0;
}

.sh-how__ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sh-how__ico--me.is-empty {
  background: var(--sh);
}

.sh-how__ico--friend.is-empty,
.sh-how__ico--more.is-empty {
  background: #9a9a9a;
  border-radius: 8px;
}

.sh-how__ico--cash.is-empty {
  background: #f0c043;
  border-radius: 12px;
}

.sh-how__ico .img-ph__label,
.sh-how__ico.is-empty::before,
.sh-how__ico.is-empty .img-ph__label {
  display: none;
  content: none;
}

.sh-how__box p {
  margin: 14px 0 0;
  color: #444;
  font-size: 0.92rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.sh-how__wires {
  position: absolute;
  inset: 0 0 28px;
  width: 100%;
  height: calc(100% - 28px);
  z-index: 0;
  pointer-events: none;
  overflow: visible;
}

.sh-how__fb {
  position: absolute;
  z-index: 2;
  margin: 0;
  color: #e57373;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.sh-how__fb--5 {
  left: 18%;
  top: 18%;
}

.sh-how__fb--1 {
  left: 28%;
  bottom: 2px;
}

.sh-how__key {
  margin: 72px 0 16px;
  color: #000;
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
}

.sh-how__call {
  position: relative;
  max-width: 720px;
  margin: 0 auto 48px;
  padding: 0;
  border: 0;
}

.sh-how__call-text {
  position: relative;
  z-index: 1;
}

.sh-how__call p {
  margin: 0;
  color: #333;
  font-size: clamp(1.05rem, 1.8vw, 1.28rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.85;
}

.sh-how__call em {
  font-style: normal;
  color: #0094a4;
  font-weight: 700;
}

.sh-how__frame,
.sh-how__frame.img-ph {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  margin-top: -2.35em;
  border: 0;
  background: transparent;
  min-height: 0;
}

.sh-how__frame img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.sh-how__frame.is-empty {
  min-height: 88px;
  background: #eef7f8;
  border-radius: 0 0 16px 16px;
}

.sh-how__frame.is-empty::before,
.sh-how__frame .img-ph__label {
  display: none;
}

.sh-how__done {
  margin: 0 0 22px;
  color: #222;
  font-size: clamp(1.22rem, 2.1vw, 1.48rem);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.sh-how__pills {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 16px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  max-width: 860px;
}

.sh-how__pills li {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 1 auto;
  padding: 10px 22px 10px 12px;
  background: #fff;
  border: 1.5px solid var(--sh);
  border-radius: 12px;
  color: #222;
  font-size: 1.08rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.sh-how__check {
  width: 26px;
  height: 26px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
  border-radius: 50%;
}

.sh-how__check img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sh-how__check.is-empty {
  background: var(--sh);
}

.sh-how__check.is-empty::before {
  content: "✓";
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  height: 100%;
}

.sh-how__check .img-ph__label,
.sh-how__check.is-empty .img-ph__label {
  display: none;
}

@media (max-width: 900px) {
  .sh-how {
    padding: 48px 0 16px;
  }

  .sh-how__diagram {
    overflow: visible;
    padding-bottom: 0;
  }

  .sh-how__img--d,
  .sh-how__img--d.img-ph {
    display: none;
  }

  .sh-how__img--m,
  .sh-how__img--m.img-ph {
    display: block;
  }

  .sh-how__img.is-empty {
    min-height: 160px;
  }

  .sh-how__call {
    padding: 0;
    margin-left: 16px;
    margin-right: 16px;
  }

  .sh-how__call p {
    font-size: 0.95rem;
  }

  .sh-how__pills {
    display: grid;
    grid-template-columns: max-content;
    justify-content: center;
    gap: 10px;
    padding: 0 16px;
  }

  .sh-how__pills li {
    width: 100%;
    box-sizing: border-box;
    justify-content: flex-start;
    padding: 8px 16px 8px 10px;
    font-size: 0.9rem;
    font-weight: 500;
  }
}

.sh-table {
  --sh: #00a4b4;
  padding: 24px 0 80px;
  background: #fff;
  text-align: center;
}

.sh-table__echo {
  margin: 0 0 8px;
  color: #000;
  font-size: 1.02rem;
  font-weight: 400;
  letter-spacing: 0.04em;
}

.sh-table__title {
  margin: 0 0 36px;
  color: #222;
  font-size: clamp(1.28rem, 2.4vw, 1.72rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
}

.sh-table__title i {
  font-style: normal;
  color: #0094a4;
  font-weight: 700;
  margin: 0 0.2em;
}

.sh-table__title em {
  font-style: normal;
  color: #0094a4;
  font-weight: 700;
}

.sh-table__wrap {
  max-width: 980px;
  margin: 0 auto;
}

.sh-table__tabs {
  display: grid;
  grid-template-columns: 0.72fr 1.1fr 1.45fr;
  align-items: end;
  margin-top: -10px;
  margin-bottom: 28px;
}

.sh-table__tab {
  position: relative;
  justify-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 8px 22px;
  border-radius: 10px;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.sh-table__tab--bad {
  background: #a0a0a0;
}

.sh-table__tab--good {
  overflow: visible;
  background: var(--sh);
}

.sh-table__tab::after {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(100% - 2px);
  width: 32px;
  height: 20px;
  background: #a0a0a0;
  transform: translateX(-50%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.sh-table__tab--good::after {
  background: var(--sh);
}

.sh-table__crown,
.sh-table__crown.img-ph,
.sh-table__crown.img-ph.is-empty {
  position: relative;
  z-index: 2;
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
  max-width: 22px;
  max-height: 22px;
  flex: 0 0 22px;
  overflow: visible;
  border: 0;
  background: transparent;
  border-radius: 50%;
}

.sh-table__crown img {
  position: absolute;
  left: -8%;
  top: 50%;
  width: 74px;
  height: 74px;
  max-width: none;
  transform: translate(-50%, -50%);
  object-fit: contain;
}

.sh-table__crown.is-empty {
  background: transparent;
}

.sh-table__crown.is-empty::before {
  content: "♔";
  position: absolute;
  left: -8%;
  top: 50%;
  width: 74px;
  height: 74px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: var(--sh);
  box-shadow: 0 3px 8px rgba(0, 70, 80, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.28);
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 1.55rem;
  font-weight: 700;
}

.sh-table__crown .img-ph__label,
.sh-table__crown.is-empty .img-ph__label {
  display: none;
}

.sh-table__body {
  display: grid;
  grid-template-columns: 0.72fr 1.1fr 1.45fr;
  align-items: stretch;
  background: #f5f5f5;
  border-radius: 12px;
}

.sh-table__labels,
.sh-table__mids,
.sh-table__goods {
  display: grid;
  grid-template-rows: repeat(4, minmax(76px, auto));
}

.sh-table__labels > div,
.sh-table__mids > div,
.sh-table__goods > div {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 16px;
  color: #333;
  font-size: 0.98rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.55;
  text-align: center;
}

.sh-table__labels > div + div,
.sh-table__mids > div + div {
  border-top: 1px solid #fff;
}

.sh-table__labels > div {
  font-weight: 700;
}

.sh-table__goods {
  position: relative;
  z-index: 1;
  margin: -6px 0;
  background: #fff;
  border: 3px solid var(--sh);
  border-radius: 16px;
}

.sh-table__goods > div + div {
  border-top: 1px solid #c8d8da;
}

.sh-table__goods > div {
  font-weight: 500;
}

.sh-table__plus,
.sh-table__plus.img-ph,
.sh-table__plus.img-ph.is-empty {
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
  max-width: 22px;
  max-height: 22px;
  flex: 0 0 22px;
  align-self: center;
  aspect-ratio: 1 / 1;
  box-sizing: border-box;
  margin: 0 8px;
  border: 0;
  background: transparent;
  border-radius: 50%;
}

.sh-table__plus img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sh-table__plus.is-empty {
  background: var(--sh);
}

.sh-table__plus.is-empty::before {
  content: "+";
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
  height: 100%;
  line-height: 1;
}

.sh-table__plus .img-ph__label,
.sh-table__plus.is-empty .img-ph__label {
  display: none;
}

.sh-table__mobile,
.sh-table__mobile.img-ph {
  display: none;
}

.sh-table__foot {
  margin: 28px 0 0;
}

.sh-table__foot .hl-pen {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}

@media (max-width: 900px) {
  .sh-table {
    padding: 28px 0 56px;
  }

  .sh-table__title {
    font-size: 1.08rem;
    margin-bottom: 24px;
  }

  .sh-table__wrap {
    display: none;
  }

  .sh-table__mobile,
  .sh-table__mobile.img-ph {
    display: block;
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    border: 0;
    border-radius: 0;
    background: transparent;
    min-height: 0;
  }

  .sh-table__mobile img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .sh-table__mobile.is-empty {
    min-height: 280px;
    background: #f4f7f8;
    border-radius: 12px;
  }

  .sh-table__tab {
    font-size: 0.88rem;
    padding: 6px 14px;
  }

  .sh-table__labels > div,
  .sh-table__mids > div,
  .sh-table__goods > div {
    font-size: 0.86rem;
    padding: 12px 10px;
  }
}

.sh-row {
  --sh: #00a7b1;
  display: block;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  padding: 72px 0;
  background: #f8f9fa;
}

.sh-row.is-flip {
  display: block;
  grid-template-columns: none;
}

.sh-row__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
  gap: 36px 48px;
  align-items: center;
}

.sh-row.is-flip .sh-row__inner {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
}

.sh-row.is-flip .sh-row__copy {
  order: 2;
}

.sh-row.is-flip .sh-row__media {
  order: 1;
}

.sh-row__title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  color: #222;
  font-size: clamp(1.42rem, 2.4vw, 1.85rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.3;
}

.sh-row__title::before {
  content: "";
  width: 6px;
  height: 1.05em;
  background: var(--sh);
  border-radius: 1px;
  flex: 0 0 auto;
}

.sh-row__subtitle {
  margin: 12px 0 0;
  color: #0094a4;
  font-size: clamp(1.12rem, 1.9vw, 1.38rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.sh-row__leads {
  margin-top: 14px;
}

.sh-row__leads p {
  margin: 0;
  color: #666;
  font-size: 0.98rem;
  font-weight: 400;
  line-height: 1.75;
}

#sh-calc .sh-row__leads p {
  color: #333;
}

#sh-calc .sh-row__leads .hl-pen {
  font-weight: 600;
}

.sh-row__checks {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 20px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

#sh-rules .sh-row__checks li:nth-child(2n),
#sh-bind .sh-row__checks li:nth-child(2n),
#sh-track .sh-row__checks li:nth-child(2n) {
  margin-left: -12px;
}

#sh-rules .sh-row__checks li,
#sh-bind .sh-row__checks li,
#sh-track .sh-row__checks li {
  color: #555;
  font-size: 1.12rem;
}

.sh-row__checks li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #333;
  font-size: 1.02rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.sh-row__tick {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
  border-radius: 50%;
}

.sh-row__tick img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sh-row__tick.is-empty {
  background: var(--sh);
}

.sh-row__tick.is-empty::before {
  content: "✓";
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  height: 100%;
}

.sh-row__tick .img-ph__label,
.sh-row__tick.is-empty .img-ph__label {
  display: none;
}

.sh-row__tip {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 22px 0 0;
  padding: 12px 18px;
  background: #e6f4f5;
  border-radius: 16px;
  max-width: 100%;
}

.sh-row__tip p {
  margin: 0;
  color: #555;
  font-size: 1.08rem;
  font-weight: 500;
  line-height: 1.5;
}

.sh-row__tip p span {
  color: #0094a4;
  font-weight: 500;
}

.sh-row__tip-ico {
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
}

.sh-row__tip-ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sh-row__tip-ico.is-empty {
  background: transparent;
}

.sh-row__tip-ico.is-empty::before {
  content: "↩";
  display: grid;
  place-items: center;
  color: #0094a4;
  font-size: 0.95rem;
  font-weight: 700;
  height: 100%;
}

.sh-row__tip-ico .img-ph__label,
.sh-row__tip-ico.is-empty .img-ph__label {
  display: none;
}

.sh-row__tip--bulb {
  gap: 6px;
}

.sh-row__tip-ico--bulb,
.sh-row__tip-ico--bulb.img-ph {
  width: 48px;
  height: 48px;
}

.sh-row__tip-ico--bulb.is-empty::before {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  margin: 3px auto;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a7b1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 22h4'/%3E%3Cpath d='M12 2a7 7 0 0 0-4 12.7V16h8v-1.3A7 7 0 0 0 12 2z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.sh-row__media {
  min-width: 0;
}

.sh-row__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 4 / 3;
}

.sh-row__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sh-row__img.is-empty {
  background: linear-gradient(160deg, #e8f4f5, #fff 60%);
  border-radius: 20px;
}

.sh-row__img.is-empty::before,
.sh-row__img .img-ph__label {
  display: none;
}

@media (max-width: 900px) {
  .sh-row {
    padding: 48px 16px;
  }

  .sh-row__inner,
  .sh-row.is-flip .sh-row__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .sh-row.is-flip .sh-row__copy,
  .sh-row.is-flip .sh-row__media {
    order: initial;
  }

  .sh-row__copy {
    order: 1;
  }

  .sh-row__media {
    order: 2;
  }

  .sh-row__title {
    font-size: 1.32rem;
  }

  .sh-row__subtitle {
    font-size: 1.05rem;
  }

  #sh-rules .sh-row__title,
  #sh-bind .sh-row__title,
  #sh-track .sh-row__title,
  #sh-calc .sh-row__title,
  #sh-rank .sh-row__title {
    justify-content: center;
  }

  #sh-rules .sh-row__subtitle,
  #sh-bind .sh-row__subtitle,
  #sh-bind .sh-row__leads,
  #sh-track .sh-row__subtitle,
  #sh-track .sh-row__leads,
  #sh-calc .sh-row__subtitle,
  #sh-calc .sh-row__leads,
  #sh-rank .sh-row__subtitle,
  #sh-rank .sh-row__leads {
    text-align: center;
  }

  .sh-row__checks {
    gap: 12px 12px;
  }

  #sh-rules .sh-row__checks,
  #sh-bind .sh-row__checks,
  #sh-track .sh-row__checks {
    width: max-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: max-content max-content;
  }

  #sh-rules .sh-row__checks,
  #sh-bind .sh-row__checks,
  #sh-track .sh-row__checks {
    gap: 12px 32px;
  }

  #sh-rules .sh-row__checks li:nth-child(2n),
  #sh-bind .sh-row__checks li:nth-child(2n),
  #sh-track .sh-row__checks li:nth-child(2n) {
    margin-left: 0;
  }

  #sh-rules .sh-row__checks li,
  #sh-bind .sh-row__checks li,
  #sh-track .sh-row__checks li {
    gap: 4px;
  }

  .sh-row__checks li {
    font-size: 0.92rem;
  }

  .sh-row__tip {
    padding: 12px 18px;
  }

  #sh-bind .sh-row__tip,
  #sh-track .sh-row__tip,
  #sh-rank .sh-row__tip {
    display: flex;
    width: max-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  #sh-calc .sh-row__flags {
    margin-left: auto;
    margin-right: auto;
  }
}

.sh-row__checks.is-stack {
  grid-template-columns: 1fr;
  gap: 10px;
}

.sh-row__note {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 18px 0 0;
  color: #888;
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.sh-row__bulb {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
}

.sh-row__bulb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sh-row__bulb.is-empty {
  background: transparent;
}

.sh-row__bulb.is-empty::before {
  content: "💡";
  display: grid;
  place-items: center;
  font-size: 0.95rem;
  height: 100%;
}

.sh-row__bulb .img-ph__label,
.sh-row__bulb.is-empty .img-ph__label {
  display: none;
}

.sh-row__hl {
  display: inline;
  padding: 0 0.2em;
  background: #fff3b0;
  border-radius: 999px;
  color: #222;
  font-weight: 700;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.sh-row__flags {
  display: grid;
  justify-items: stretch;
  width: max-content;
  max-width: 100%;
  gap: 12px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.sh-row__flag {
  display: flex;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  gap: 12px;
  padding: 12px 20px 12px 12px;
  border-radius: 12px;
}

.sh-row__flag--shop {
  background: #e0f3f4;
}

.sh-row__flag--guest {
  background: #fdecea;
}

.sh-row__flag span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 14px;
  border-radius: 999px;
  color: #fff;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  white-space: nowrap;
  flex: 0 0 auto;
}

.sh-row__flag--shop span {
  background: var(--sh);
}

.sh-row__flag--guest span {
  background: #e57373;
}

.sh-row__flag p {
  margin: 0;
  color: #333;
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.sh-minis {
  display: flex;
  flex-wrap: nowrap;
  gap: 28px;
  margin: 28px 0 0;
  padding: 10px 0 0;
  list-style: none;
}

.sh-minis__item {
  flex: 1 1 0;
  min-width: 0;
  text-align: center;
  overflow: visible;
}

.sh-minis__box {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  box-sizing: border-box;
  padding: 12px 6px 8px;
  background: #fff;
  border: 1px solid #000;
  border-radius: 12px;
  overflow: visible;
}

.sh-minis__badge,
.sh-minis__badge.img-ph,
.sh-minis__badge.img-ph.is-empty {
  position: absolute;
  top: -10px;
  left: -10px;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  min-height: 0;
  overflow: visible;
  z-index: 2;
}

.sh-minis__badge.is-empty,
.sh-minis__badge.img-ph.is-empty {
  background: #fff;
}

.sh-minis__badge.is-empty::before,
.sh-minis__badge.img-ph.is-empty::before {
  content: "✓";
  position: static;
  inset: auto;
  display: grid;
  place-items: center;
  color: #0094a4;
  font-size: 0.88rem;
  font-weight: 700;
  height: 100%;
  opacity: 1;
}

.sh-minis__badge .img-ph__label,
.sh-minis__badge.is-empty .img-ph__label {
  display: none;
}

.sh-minis__icon {
  width: 64px;
  height: 64px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.sh-minis__icon img,
.sh-minis__badge img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sh-minis__icon.is-empty {
  border-radius: 8px;
  background: #e6f4f5;
}

.sh-minis__icon.is-empty::before,
.sh-minis__icon .img-ph__label {
  display: none;
  content: none;
}

.sh-minis__box p {
  margin: 8px 0 0;
  color: #333;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.35;
}

.sh-row__call {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 22px 0 0;
  padding: 12px 16px;
  background: #def4f5;
  border-radius: 12px;
  text-align: left;
}

.sh-row__podium {
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
}

.sh-row__podium img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sh-row__podium.is-empty {
  background: var(--sh);
  border-radius: 8px;
}

.sh-row__podium.is-empty::before,
.sh-row__podium .img-ph__label,
.sh-row__podium.is-empty .img-ph__label {
  display: none;
  content: none;
}

.sh-row__call p {
  margin: 0;
  color: #0094a4;
  font-size: 0.95rem;
  line-height: 1.55;
}

.sh-row__call span {
  display: block;
  font-weight: 400;
}

.sh-row__call b {
  display: block;
  font-weight: 700;
}

@media (max-width: 900px) {
  .sh-row__note {
    font-size: 0.86rem;
  }

  .sh-row__flag {
    flex-wrap: wrap;
    padding: 10px 12px;
  }

  .sh-row__flag p {
    font-size: 0.88rem;
  }

  .sh-minis {
    gap: 12px;
    padding-inline: 4px;
  }

  .sh-minis__item {
    flex: 1 1 0;
    min-width: 0;
  }

  .sh-minis__box {
    width: 100%;
    aspect-ratio: 1 / 1;
  }

  .sh-minis__icon {
    width: 52px;
    height: 52px;
  }

  .sh-minis__box p {
    font-size: 0.72rem;
  }

  .sh-row__call {
    padding: 10px 12px;
  }

  .sh-row__call p {
    font-size: 0.86rem;
  }
}

.sh-cases {
  --sh: #00a7b1;
  --sh-pink: #f08d8d;
  padding: 80px 0 88px;
  background: #fff;
}

.sh-cases__head {
  text-align: center;
  margin: 0 auto 48px;
  max-width: 920px;
}

.sh-cases__deco {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: max-content;
  max-width: 100%;
  margin-inline: auto;
  gap: 22px;
}

.sh-cases__spark,
.sh-cases__spark.img-ph {
  flex: 0 0 auto;
  width: 72px;
  height: 60px;
  margin-bottom: -22px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.sh-cases__spark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sh-cases__spark.is-empty {
  background: #eef7f8;
  border-radius: 6px;
}

.sh-cases__spark.is-empty::before,
.sh-cases__spark .img-ph__label {
  display: none;
}

.sh-cases__title {
  position: relative;
  display: inline-block;
  margin: 0;
  color: #222;
  font-size: clamp(1.48rem, 2.6vw, 1.92rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.sh-cases__title .hl-pen::before {
  height: 0.58em;
  bottom: 0.12em;
}

.sh-cases__lead {
  margin: -6px 0 0;
  color: #333;
  font-size: clamp(0.98rem, 1.5vw, 1.12rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.7;
}

.sh-case {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 32px 40px;
  align-items: center;
}

.sh-case + .sh-case {
  margin-top: 56px;
}

.sh-case.is-flip .sh-case__copy {
  order: 2;
}

.sh-case.is-flip .sh-case__media {
  order: 1;
}

.sh-case--food.is-flip {
  grid-template-areas:
    "media banner"
    "media copy";
}

.sh-case--food .sh-case__banner,
.sh-case--food .sh-case__banner.img-ph {
  grid-area: banner;
  align-self: end;
}

.sh-case--food .sh-case__copy {
  grid-area: copy;
}

.sh-case--food .sh-case__media {
  grid-area: media;
}

.sh-case__img.img-ph {
  width: 100%;
  max-width: 380px;
  margin-inline: auto;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.sh-case__img img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 0;
}

.sh-case__img--food,
.sh-case__img--play {
  border: 0;
  border-radius: 0;
}

.sh-case__img.is-empty::before,
.sh-case__img .img-ph__label {
  display: none;
}

.sh-case__banner,
.sh-case__banner.img-ph {
  display: block;
  width: 100%;
  max-width: 520px;
  margin: 0 0 20px;
  border: 0;
  border-radius: 0;
  background: transparent;
  min-height: 0;
}

.sh-case--food .sh-case__banner,
.sh-case--food .sh-case__banner.img-ph {
  margin-left: -28px;
}

.sh-case__banner img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 0;
}

.sh-case__banner.is-empty {
  min-height: 56px;
  background: #f4f7f8;
}

.sh-case__banner.is-empty::before,
.sh-case__banner .img-ph__label {
  display: none;
}

.sh-case__ribbon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 5.4em;
  padding: 10px 22px 10px 16px;
  background: var(--sh);
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%);
}

.sh-case--play .sh-case__ribbon {
  background: var(--sh-pink);
  padding: 10px 16px 10px 22px;
  clip-path: polygon(12px 0, 100% 0, 100% 100%, 12px 100%, 0 50%);
}

.sh-case__banner p {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 10px 16px;
  border: 1.5px solid var(--sh);
  border-radius: 8px;
  color: #222;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.45;
}

.sh-case--play .sh-case__banner p {
  border-color: var(--sh-pink);
}

.sh-case__steps {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sh-case__step {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.sh-case__step + .sh-case__step {
  margin-top: 8px;
}

.sh-case__step span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 3.4em;
  min-height: 32px;
  padding: 0 10px;
  border: 2.5px solid #c8c8c8;
  border-radius: 8px;
  color: #888;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.sh-case__step--now span {
  border-color: var(--sh);
  color: #0094a4;
}

.sh-case__step--out {
  align-items: center;
}

.sh-case__step--out span {
  border-color: var(--sh-pink);
  color: var(--sh-pink);
}

.sh-case__step p {
  margin: 0;
  color: #888;
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.7;
}

.sh-case__step--now p,
.sh-case__step--out p {
  color: #333;
}

.sh-case__step--was,
.sh-case__step--now {
  position: relative;
  padding-bottom: 22px;
}

.sh-case__step--was::after,
.sh-case__step--now::after {
  content: "";
  position: absolute;
  left: 1.5em;
  bottom: 4px;
  width: 9px;
  height: 9px;
  border-right: 2px solid #b0b0b0;
  border-bottom: 2px solid #b0b0b0;
  transform: rotate(45deg);
}

.sh-case__step--now::after {
  border-color: var(--sh);
}

.sh-case__leads p {
  margin: 0;
  color: #777;
  font-size: 0.98rem;
  font-weight: 400;
  line-height: 1.8;
}

.sh-case__leads p + p {
  margin-top: 12px;
}

@media (max-width: 900px) {
  .sh-cases {
    padding: 56px 16px 64px;
  }

  .sh-cases__title {
    font-size: 1.28rem;
  }

  .sh-cases__deco {
    gap: 8px;
  }

  .sh-cases__spark,
  .sh-cases__spark.img-ph {
    display: none;
  }

  .sh-case,
  .sh-case.is-flip {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .sh-case.is-flip .sh-case__copy,
  .sh-case.is-flip .sh-case__media {
    order: initial;
  }

  .sh-case__copy {
    order: 1;
  }

  .sh-case__media {
    order: 2;
  }

  .sh-case--food.is-flip {
    grid-template-columns: 1fr;
    grid-template-areas:
      "media"
      "banner"
      "copy";
  }

  .sh-case--play .sh-case__copy {
    display: contents;
  }

  .sh-case--play .sh-case__leads {
    order: 3;
  }

  .sh-case--play .sh-case__media {
    order: 1;
  }

  .sh-case--food .sh-case__banner,
  .sh-case--food .sh-case__banner.img-ph,
  .sh-case--play .sh-case__banner,
  .sh-case--play .sh-case__banner.img-ph {
    margin-left: 0;
    margin-bottom: 0;
    max-width: 380px;
    margin-inline: auto;
  }

  .sh-case--play .sh-case__banner,
  .sh-case--play .sh-case__banner.img-ph {
    order: 2;
  }

  .sh-case + .sh-case {
    margin-top: 40px;
  }

  .sh-case__banner p {
    font-size: 0.9rem;
  }

  .sh-case__step p,
  .sh-case__leads p {
    font-size: 0.88rem;
  }
}

.sh-fit {
  --sh: #00889a;
  padding: 72px 0 80px;
  background: #f7f7f7;
  text-align: center;
}

.sh-fit__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 0 40px;
  padding-bottom: 0;
  color: #333;
  font-size: clamp(1.35rem, 2.3vw, 1.72rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.sh-fit__title-line,
.sh-fit__title-line.img-ph {
  display: block;
  width: min(100%, 280px);
  height: auto;
  margin-top: 10px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.sh-fit__title-line img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.sh-fit__title-line.is-empty {
  min-height: 10px;
  background: #e8e8e8;
}

.sh-fit__title-line.is-empty::before,
.sh-fit__title-line .img-ph__label {
  display: none;
}

.sh-fit__cards {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 18px;
  max-width: 680px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.sh-fit__cards li {
  flex: 0 1 148px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  padding: 18px 10px 16px;
  background: #fff;
  border: 1px solid #333;
  border-radius: 10px;
}

.sh-fit__ico {
  width: 72px;
  height: 72px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.sh-fit__ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sh-fit__ico.is-empty {
  background: #e6f3f4;
  border-radius: 8px;
}

.sh-fit__ico.is-empty::before,
.sh-fit__ico .img-ph__label,
.sh-fit__ico.is-empty .img-ph__label {
  display: none;
  content: none;
}

.sh-fit__cards p {
  margin: 10px 0 0;
  color: #333;
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

@media (max-width: 720px) {
  .sh-fit {
    padding: 48px 16px 56px;
  }

  .sh-fit__title {
    font-size: 1.18rem;
    margin-bottom: 28px;
  }

  .sh-fit__cards {
    gap: 8px;
  }

  .sh-fit__cards li {
    flex: 1 1 0;
    padding: 12px 4px 10px;
  }

  .sh-fit__ico {
    width: 50px;
    height: 50px;
  }

  .sh-fit__cards p {
    margin-top: 8px;
    font-size: 0.72rem;
  }
}

.sh-quote {
  --sh: #0097a7;
  padding: 80px 0 88px;
  background: #fff;
  text-align: center;
}

.sh-quote__text {
  position: relative;
  display: inline-block;
  margin: 0 auto;
  max-width: 920px;
  padding: 0.35em 1.7em 0.3em;
  color: #f58e8e;
  font-size: clamp(1.28rem, 2.4vw, 1.68rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.65;
}

.sh-quote__text::before,
.sh-quote__text::after {
  position: absolute;
  color: #f58e8e;
  font-family: Georgia, "Times New Roman", "Noto Serif TC", serif;
  font-size: 2.05em;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
}

.sh-quote__text::before {
  content: "\201C";
  left: 0.02em;
  top: -0.1em;
}

.sh-quote__text::after {
  content: "\201D";
  right: 0.02em;
  bottom: -0.4em;
}

.sh-quote__lines {
  margin: 22px auto 0;
  max-width: 640px;
}

.sh-quote__lines p {
  margin: 0;
  color: #555;
  font-size: clamp(0.98rem, 1.5vw, 1.12rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.75;
}

.sh-quote__lines b {
  font-weight: 700;
}

.sh-quote__tip {
  margin: 36px 0 0;
  text-align: left;
  flex-wrap: nowrap;
}

.sh-quote__tip p,
.sh-quote__tip span {
  white-space: nowrap;
}

@media (max-width: 720px) {
  .sh-quote {
    padding: 56px 16px 64px;
  }

  .sh-quote__text {
    font-size: 1.12rem;
    padding: 0.3em 1.25em 0.2em;
  }

  .sh-quote__lines p {
    font-size: 0.9rem;
  }
}

.sh-cta {
  --sh: #00a4b4;
  background: #f4f4f4;
  padding: clamp(40px, 5vw, 72px) 0 0;
  overflow: hidden;
}

.sh-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.1fr);
  gap: clamp(20px, 4vw, 56px);
  align-items: end;
  width: min(100% - 32px, 1180px);
  margin-inline: auto;
}

.sh-cta__media {
  justify-self: start;
  align-self: end;
  width: min(100%, 560px);
  margin-bottom: 0;
  line-height: 0;
}

.sh-cta__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.sh-cta__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  vertical-align: bottom;
}

.sh-cta__img.is-empty {
  min-height: 360px;
  background: linear-gradient(160deg, #e8f4f6, #f4f4f4 55%);
  border-radius: 24px 24px 0 0;
}

.sh-cta__img.is-empty::before,
.sh-cta__img .img-ph__label {
  display: none;
}

.sh-cta__copy {
  min-width: 0;
  padding-bottom: clamp(36px, 5vw, 72px);
  text-align: center;
}

.sh-cta__title {
  margin: 0 0 18px;
  color: #0094a4;
  font-size: clamp(1.55rem, 2.8vw, 2.05rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.sh-cta__lead {
  margin: 0 0 32px;
  color: #4a4a4a;
  font-size: clamp(1.05rem, 1.7vw, 1.2rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
}

.sh-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 52px;
  padding: 0 18px 0 34px;
  border-radius: 999px;
  background: var(--sh);
  color: #fff;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none;
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.sh-cta__btn:hover,
.sh-cta__btn:focus-visible {
  background: #01919f;
  transform: translateY(-1px);
}

.sh-cta__btn-go {
  position: relative;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
}

.sh-cta__btn-go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--sh);
  border-right: 2px solid var(--sh);
  transform: translate(-50%, -50%) rotate(45deg);
}

@media (max-width: 900px) {
  .sh-cta__inner {
    grid-template-columns: 1fr;
    gap: 4px;
    justify-items: center;
    text-align: center;
  }

  .sh-cta__media {
    width: min(92%, 400px);
    order: 2;
    justify-self: center;
    margin-top: -16%;
  }

  .sh-cta__copy {
    order: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 0;
  }

  .sh-cta__title {
    font-size: clamp(1.28rem, 5vw, 1.62rem);
  }

  .sh-cta__lead {
    font-size: clamp(0.95rem, 3.6vw, 1.08rem);
    margin-bottom: 24px;
  }

  .sh-cta__btn {
    min-height: 48px;
    padding: 0 16px 0 28px;
    font-size: 1rem;
  }
}


.hero--namecard {
  --nc: #00a6b9;
}

.hero--namecard .hero-slide__bg,
.hero--namecard .hero-slide__bg.is-empty {
  background: #f4f8fa;
}

.hero--namecard .hero-slide__bg.is-empty::before,
.hero--namecard .hero-slide__bg .img-ph__label,
.hero--namecard .hero-slide__bg.is-empty .img-ph__label {
  display: none;
  content: none;
}

.hero--namecard .hero-slide::after {
  display: none;
}

.hero--namecard .hero-slide__content.nc-hero__content {
  justify-content: flex-start;
  align-items: flex-start;
  color: #222;
  padding-block: clamp(36px, 5vw, 72px);
}

.nc-hero__copy {
  position: relative;
  z-index: 2;
  max-width: min(520px, 92%);
  margin-top: clamp(28px, 5vw, 64px);
  min-width: 0;
  pointer-events: auto;
}

.nc-hero__title {
  margin: 0;
  color: #333;
  font-size: clamp(1.8rem, 3.5vw, 2.5rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.38;
}

.nc-hero__title em {
  font-style: normal;
  color: #0094a4;
}

.nc-hero__desc {
  margin-top: 20px;
}

.nc-hero__desc p {
  margin: 0;
  color: #777;
  font-size: clamp(1.05rem, 1.6vw, 1.2rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
}

.nc-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 30px;
  min-height: 52px;
  padding: 0 30px 0 14px;
  border-radius: 999px;
  background: var(--nc);
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  white-space: nowrap;
  pointer-events: auto;
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.nc-hero__btn:hover,
.nc-hero__btn:focus-visible {
  transform: translateY(-1px);
}

.nc-hero__btn-go {
  position: relative;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
}

.nc-hero__btn-go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--nc);
  border-right: 2px solid var(--nc);
  transform: translate(-50%, -50%) rotate(45deg);
}

.nc-hero__pager .hero-dot.is-active {
  background: var(--nc);
}

.nc-who {
  --nc: #00a6b9;
  padding: 80px 0 88px;
  background: #fff;
  text-align: center;
}

.nc-who__head {
  margin: 0 auto 48px;
}

.nc-who__title,
.nc-who__title.img-ph {
  display: block;
  width: min(100%, 560px);
  margin: 0 auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  min-height: 0;
}

.nc-who__title img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.nc-who__title.is-empty {
  min-height: 72px;
  background: #f4f7f8;
  border-radius: 12px;
}

.nc-who__jobs {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 22px;
  max-width: 860px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.nc-who__jobs li {
  flex: 0 1 112px;
  min-width: 0;
}

.nc-who__box {
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  padding: 10px;
  background: #fff;
  border: 1.5px solid var(--nc);
  border-radius: 12px;
}

.nc-who__ico {
  width: 68px;
  height: 68px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.nc-who__ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nc-who__ico.is-empty {
  background: #e6f5f6;
  border-radius: 8px;
}

.nc-who__ico.is-empty::before,
.nc-who__ico .img-ph__label,
.nc-who__ico.is-empty .img-ph__label {
  display: none;
  content: none;
}

.nc-who__jobs p {
  margin: 6px 0 0;
  color: #333;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.nc-who__foot {
  margin-top: 40px;
}

.nc-who__foot p {
  margin: 0;
  color: #888;
  font-size: clamp(0.98rem, 1.5vw, 1.1rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
}

.nc-why {
  --nc: #00a6b9;
  position: relative;
  z-index: 1;
  padding: 0;
  background: linear-gradient(to bottom, #fff 28%, #f5f5f5 28%);
  overflow: visible;
}

.nc-why::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 2;
  width: 160px;
  height: 80px;
  background: #f5f5f5;
  transform: translate(-50%, 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.nc-why__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 32px 40px;
  align-items: stretch;
}

.nc-why__copy {
  position: relative;
  top: -56px;
  min-width: 0;
  padding: 0;
  align-self: end;
}

.nc-why__title {
  margin: 0 0 36px;
  color: #222;
  font-size: clamp(1.42rem, 2.5vw, 1.88rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.55;
}

.nc-why__title span {
  position: relative;
  display: inline-block;
  padding-bottom: 8px;
}

.nc-why__title span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4px;
  background: #2b2b2b;
}

.nc-why__list {
  display: flex;
  flex-direction: column;
  gap: 22px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nc-why__list li {
  display: flex;
  align-items: center;
  gap: 8px;
}

.nc-why__x {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border: 0;
  background: transparent;
  min-height: 0;
  border-radius: 50%;
}

.nc-why__x img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nc-why__x.is-empty {
  background: #1a1a1a;
  border-radius: 50%;
}

.nc-why__x.is-empty::before,
.nc-why__x .img-ph__label,
.nc-why__x.is-empty .img-ph__label {
  display: none;
  content: none;
}

.nc-why__list p {
  margin: 0;
  color: #222;
  font-size: clamp(1.02rem, 1.7vw, 1.18rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.nc-why__media {
  min-width: 0;
  align-self: end;
}

.nc-why__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 0;
}

.nc-why__img img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: right top;
  vertical-align: bottom;
}

.nc-why__img.is-empty {
  background: linear-gradient(160deg, #ececec, #fff 62%);
  border-radius: 16px 16px 0 0;
}

.nc-why__img.is-empty::before,
.nc-why__img .img-ph__label,
.nc-why__img.is-empty .img-ph__label {
  display: none;
  content: none;
}

.nc-solve {
  --nc: #00a6b9;
  padding: 88px 0 0;
  background: #fff;
}

.nc-solve__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 36px 48px;
  align-items: center;
}

.nc-solve.is-flip .nc-solve__media {
  order: 1;
  align-self: end;
}

.nc-solve.is-flip .nc-solve__copy {
  order: 2;
}

.nc-solve__copy {
  min-width: 0;
}

.nc-solve__title {
  margin: 0;
  color: #111;
  font-size: clamp(1.5rem, 2.7vw, 2.1rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.nc-solve__rule {
  display: block;
  width: 52px;
  height: 4px;
  margin: 8px 0 28px;
  background: #000;
}

.nc-solve__list {
  display: flex;
  flex-direction: column;
  gap: 22px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nc-solve__list li {
  display: flex;
  align-items: center;
  gap: 8px;
}

.nc-solve__check {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border: 0;
  background: transparent;
  min-height: 0;
  border-radius: 50%;
}

.nc-solve__check img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nc-solve__check.is-empty {
  background: var(--nc);
  border-radius: 50%;
}

.nc-solve__check.is-empty::before,
.nc-solve__check .img-ph__label,
.nc-solve__check.is-empty .img-ph__label {
  display: none;
  content: none;
}

.nc-solve__list p {
  margin: 0;
  color: #333;
  font-size: clamp(1.05rem, 1.7vw, 1.2rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.nc-solve__media {
  min-width: 0;
}

.nc-solve__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 0;
}

.nc-solve__img img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  vertical-align: bottom;
}

.nc-solve__img.is-empty {
  background: linear-gradient(160deg, #e8f4f6, #fff 60%);
  border-radius: 24px;
}

.nc-solve__img.is-empty::before,
.nc-solve__img .img-ph__label,
.nc-solve__img.is-empty .img-ph__label {
  display: none;
  content: none;
}

.nc-better {
  --nc: #00a6b9;
  padding: 80px 0 0;
  background: #f7f7f7;
}

.nc-better__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 0 56px;
}

.nc-better__heading {
  margin: 0;
  color: #111;
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.5;
  text-align: center;
}

.nc-better__line,
.nc-better__line.img-ph {
  display: block;
  width: min(100%, 280px);
  height: auto;
  margin-top: 10px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.nc-better__line img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.nc-better__line.is-empty {
  min-height: 10px;
  background: #e8e8e8;
}

.nc-better__line.is-empty::before,
.nc-better__line .img-ph__label {
  display: none;
}

.nc-plus {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  gap: 40px 56px;
  align-items: center;
}

.nc-plus + .nc-plus {
  margin-top: 72px;
}

.nc-plus.is-flip {
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
}

.nc-plus.is-flip .nc-plus__media {
  order: 1;
}

.nc-plus.is-flip .nc-plus__copy {
  order: 2;
}

.nc-plus:has(#ncTeamTitle) .nc-plus__copy {
  padding-left: 16px;
}

.nc-better .nc-plus.is-flip {
  align-items: end;
}

.nc-better .nc-plus.is-flip .nc-plus__media {
  align-self: end;
  margin-bottom: 0;
  line-height: 0;
}

.nc-better .nc-plus.is-flip .nc-plus__copy {
  align-self: center;
  padding-left: 128px;
}

.nc-better .nc-plus.is-flip:has(#ncScanTitle) {
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
  gap: 40px 28px;
}

.nc-better .nc-plus.is-flip:has(#ncScanTitle) .nc-plus__copy {
  padding-left: 24px;
}

.nc-plus:has(#ncScanTitle) .nc-plus__title {
  white-space: nowrap;
}

.nc-plus__copy {
  min-width: 0;
}

.nc-plus__title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  color: #111;
  font-size: clamp(1.38rem, 2.3vw, 1.78rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.35;
}

.nc-plus__title::before {
  content: "";
  flex: 0 0 5px;
  width: 5px;
  height: 1.05em;
  background: #222;
  border-radius: 1px;
}

.nc-plus__sub {
  margin: 14px 0 0;
  color: #0094a4;
  font-size: clamp(1.05rem, 1.7vw, 1.22rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.nc-plus__leads {
  margin-top: 14px;
}

#ncLinkTitle + .nc-plus__sub + .nc-plus__leads {
  margin-top: 6px;
}

.nc-plus__leads p {
  margin: 0;
  color: #666;
  font-size: clamp(0.95rem, 1.45vw, 1.05rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
}

.nc-plus__callout {
  display: inline-block;
  margin-top: 22px;
  padding: 8px 18px;
  background: #fff4d2;
  border-radius: 999px;
  color: #555;
  font-size: 0.88rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.nc-plus__mark {
  margin: 22px 0 0;
  font-size: 1.12rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.6;
}

.nc-plus__media {
  min-width: 0;
}

.nc-edit {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  max-width: 268px;
  margin-left: auto;
}

.nc-plus:has(#ncUpdateTitle) .nc-plus__copy {
  padding-left: 48px;
}

.nc-plus:has(#ncUpdateTitle) .nc-edit {
  width: calc(81.52% - 61.5px);
  max-width: none;
  margin-right: 48px;
}

.nc-edit__card {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 16px 20px;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
}

.nc-edit__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-width: 0;
}

/* The native card keeps its size when a whole image is selected. */
.nc-edit__card > .nc-edit__replacement {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  border-radius: inherit;
  overflow: hidden;
  background: #fff;
}

.nc-edit__replacement img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nc-edit__replacement.is-empty,
.nc-edit__replacement .img-ph__label {
  display: none;
}

.nc-edit__meta span {
  color: #999;
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.04em;
}

.nc-edit__meta strong {
  color: #888;
  font-size: 1.12rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.nc-edit__meta b {
  color: #888;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.nc-edit__card.is-after .nc-edit__meta strong,
.nc-edit__card.is-after .nc-edit__meta b {
  color: #0094a4;
}

.nc-edit__ico {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border: 0;
  background: transparent;
  min-height: 0;
  border-radius: 50%;
}

.nc-edit__ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nc-edit__ico.is-empty {
  background: #c8c8c8;
}

.nc-edit__card.is-after .nc-edit__ico.is-empty {
  background: var(--nc);
}

.nc-edit__ico.is-empty::before,
.nc-edit__ico .img-ph__label,
.nc-edit__ico.is-empty .img-ph__label {
  display: none;
  content: none;
}

.nc-edit__arrow {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  padding: 0;
  margin: -16px 0;
}

.nc-edit__down {
  position: relative;
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.nc-edit__down img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nc-edit__down.is-empty {
  background: transparent;
}

.nc-edit__down.is-empty::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 50%;
  width: 10px;
  height: 10px;
  border-right: 3px solid var(--nc);
  border-bottom: 3px solid var(--nc);
  transform: translateX(-50%) rotate(45deg);
}

.nc-edit__down .img-ph__label,
.nc-edit__down.is-empty .img-ph__label {
  display: none;
}

.nc-scan {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 16px;
  width: max-content;
}

.nc-scan__qr,
.nc-scan__arrow,
.nc-scan__phone {
  border: 0;
  background: transparent;
  min-height: 0;
  flex-shrink: 0;
}

.nc-scan__qr {
  box-sizing: border-box;
  align-self: center;
  flex: 0 0 152px;
  width: 152px;
  height: 152px;
  border: 1px solid #ddd;
  border-radius: 16px;
  padding: 30px;
}

.nc-scan__arrow {
  position: relative;
  z-index: 2;
  align-self: center;
  flex: 0 0 74px;
  width: 74px;
  height: 44px;
  transform: translateX(16px);
}

.nc-scan__phone {
  position: relative;
  z-index: 1;
  flex: 0 0 420px;
  width: 420px;
  height: auto;
  margin-left: -52px;
  line-height: 0;
}

.nc-scan__qr img,
.nc-scan__arrow img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nc-scan__phone img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: bottom center;
  vertical-align: bottom;
}

.nc-scan__qr.is-empty {
  background: #fff;
}

.nc-scan__arrow.is-empty::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 8px;
  width: 14px;
  height: 14px;
  border-top: 3px solid var(--nc);
  border-right: 3px solid var(--nc);
  transform: translateY(-50%) rotate(45deg);
}

.nc-scan__phone.is-empty {
  background: linear-gradient(160deg, #ececec, #fff 60%);
  border-radius: 20px;
}

.nc-scan__qr.is-empty::before,
.nc-scan__phone.is-empty::before,
.nc-scan__qr .img-ph__label,
.nc-scan__arrow .img-ph__label,
.nc-scan__phone .img-ph__label,
.nc-scan__qr.is-empty .img-ph__label,
.nc-scan__arrow.is-empty .img-ph__label,
.nc-scan__phone.is-empty .img-ph__label {
  display: none;
  content: none;
}

.nc-page {
  --nc: #00a6b9;
  padding: 80px 0 88px;
  background: #fff;
}

.nc-page .nc-plus + .nc-plus {
  margin-top: 80px;
}

.nc-plus__box {
  position: relative;
  display: inline-block;
  width: max-content;
  max-width: 100%;
  margin-top: 32px;
  padding: 32px 26px 22px;
  background: #e6f6f7;
  border-radius: 22px;
}

.nc-plus__tag {
  position: absolute;
  left: 18px;
  top: 0;
  transform: translateY(-50%);
  padding: 7px 18px;
  background: var(--nc);
  color: #fff;
  border-radius: 999px;
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
  white-space: nowrap;
}

.nc-plus__box p {
  margin: 0;
  color: #555;
  font-size: clamp(0.92rem, 1.4vw, 1.02rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.75;
}

.nc-plus__foot {
  margin: 22px 0 0;
  color: #111;
  font-size: clamp(1rem, 1.55vw, 1.12rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.6;
}

.nc-page__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: 1 / 1;
}

.nc-page__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nc-page__img.is-empty {
  background: linear-gradient(160deg, #e8f4f6, #fff 60%);
  border-radius: 20px;
}

.nc-page__img.is-empty::before,
.nc-page__img .img-ph__label,
.nc-page__img.is-empty .img-ph__label {
  display: none;
  content: none;
}

.nc-hook {
  --nc: #00a6b9;
  padding: 72px 0 0;
  background: #fff;
  text-align: center;
}

.nc-hook__head {
  margin-bottom: 0;
}

.nc-hook__head .sh-cases__deco {
  align-items: center;
}

.nc-hook__head .sh-cases__spark,
.nc-hook__head .sh-cases__spark.img-ph {
  margin-bottom: 0;
}

.nc-hook__head .sh-cases__lead {
  margin-top: 36px;
}

.nc-hook__head .sh-cases__lead + .sh-cases__lead {
  margin-top: 4px;
}

.nc-hook__title {
  margin: 0;
  color: #111;
  font-size: clamp(1.42rem, 2.6vw, 1.95rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.65;
}

.nc-hook__mark {
  position: relative;
  display: inline-block;
  z-index: 0;
  margin-left: 0.2em;
  padding: 0 42px;
}

.nc-hook__mark::before {
  content: "";
  position: absolute;
  left: 36px;
  right: 36px;
  bottom: 0.08em;
  height: 0.42em;
  background: #fff3b0;
  border-radius: 999px;
  z-index: -1;
}

.nc-hook__rays {
  position: absolute;
  top: 50%;
  width: 22px;
  height: 18px;
  transform: translateY(-50%);
  background: linear-gradient(var(--nc), var(--nc)) center / 14px 2px no-repeat;
}

.nc-hook__rays--l {
  left: 6px;
}

.nc-hook__rays--r {
  right: 6px;
}

.nc-hook__rays::before,
.nc-hook__rays::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 14px;
  height: 2px;
  background: var(--nc);
  border-radius: 999px;
}

.nc-hook__rays--l::before {
  transform: translate(-50%, -50%) rotate(-28deg) translateX(-2px);
}

.nc-hook__rays--l::after {
  transform: translate(-50%, -50%) rotate(28deg) translateX(-2px);
}

.nc-hook__rays--r::before {
  transform: translate(-50%, -50%) rotate(28deg) translateX(2px);
}

.nc-hook__rays--r::after {
  transform: translate(-50%, -50%) rotate(-28deg) translateX(2px);
}

.nc-hook__leads {
  margin-top: 22px;
}

.nc-hook__leads p {
  margin: 0;
  color: #666;
  font-size: clamp(0.95rem, 1.5vw, 1.08rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
}

.nc-hook__leads p.is-strong {
  color: #333;
  font-weight: 500;
}

.nc-hook__rule {
  display: block;
  width: min(92%, 960px);
  height: 1px;
  margin: 48px auto 0;
  background: #9a9a9a;
}

.nc-gift {
  --nc: #00a6b9;
  padding: 56px 0 0;
  background: #fff;
}

.nc-gift .nc-plus--flush .nc-plus__copy {
  align-self: center;
}

.nc-gift .nc-plus--flush .nc-plus__media {
  align-self: end;
  line-height: 0;
}

.nc-gift .nc-plus--flush .nc-page__img.img-ph,
.nc-gift .nc-plus--flush .nc-page__img--phone {
  aspect-ratio: auto;
}

.nc-gift .nc-plus--flush .nc-page__img img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  vertical-align: bottom;
}

.nc-gift .nc-plus + .nc-plus {
  margin-top: 80px;
}

.nc-plus__hair {
  display: block;
  width: 100%;
  max-width: 280px;
  height: 1px;
  margin: 20px 0 16px;
  background: #eee;
}

.nc-plus__hair--pain {
  margin-top: 8px;
  max-width: none;
  background: #9a9a9a;
}

.nc-plus__note {
  margin: 0;
  color: #888;
  font-size: clamp(0.92rem, 1.4vw, 1.02rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
}

.nc-plus__hint {
  margin: 12px 0 0;
  color: #0094a4;
  font-size: 0.88rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.nc-plus__cases {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.nc-plus__cases li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.nc-plus__ico {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.nc-plus__ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nc-plus__ico.is-empty {
  background: var(--nc);
  border-radius: 6px;
}

.nc-plus__ico.is-empty::before,
.nc-plus__ico .img-ph__label,
.nc-plus__ico.is-empty .img-ph__label {
  display: none;
  content: none;
}

.nc-plus__cases p {
  margin: 0;
  color: #666;
  font-size: clamp(0.92rem, 1.4vw, 1.02rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.65;
}

.nc-plus__cases em {
  display: inline;
  margin-right: 0.35em;
  color: #0094a4;
  font-style: normal;
  font-weight: 700;
}

.nc-plus__flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 22px 0 0;
  color: #111;
  font-size: clamp(1rem, 1.55vw, 1.12rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.nc-plus__flow i {
  font-style: normal;
  font-weight: 700;
  color: #0094a4;
}

.nc-page__img--phone {
  aspect-ratio: 3 / 4;
}

.nc-page__img--pair {
  aspect-ratio: 5 / 4;
}

.nc-plus__gifts {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  width: 100%;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.nc-plus__gifts li {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.nc-plus__gift {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.nc-plus__gift img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nc-plus__gift.is-empty {
  background: var(--nc);
  border-radius: 4px;
}

.nc-plus__gift.is-empty::before,
.nc-plus__gift .img-ph__label,
.nc-plus__gift.is-empty .img-ph__label {
  display: none;
  content: none;
}

.nc-plus__gifts span {
  color: #0094a4;
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.nc-plus__closing {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: max-content;
  max-width: 100%;
  margin-top: 22px;
}

.nc-plus__quote {
  display: flex;
  align-items: center;
  gap: 14px;
  width: max-content;
  max-width: 100%;
  margin-top: 22px;
  padding: 14px 18px;
  background: #e6f6f7;
  border-radius: 14px;
}

.nc-plus__closing .nc-plus__quote {
  margin-top: 0;
}

.nc-plus__card {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.nc-plus__card img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nc-plus__card.is-empty {
  background: var(--nc);
  border-radius: 8px;
}

.nc-plus__card.is-empty::before,
.nc-plus__card .img-ph__label,
.nc-plus__card.is-empty .img-ph__label {
  display: none;
  content: none;
}

.nc-plus__quote p {
  margin: 0;
  color: #0094a4;
  font-size: clamp(0.95rem, 1.45vw, 1.05rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.nc-plus__end {
  margin: 16px 0 0;
  color: #777;
  font-size: 0.88rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
  text-align: center;
}

.nc-plus__closing .nc-plus__end {
  width: 0;
  min-width: 100%;
  margin-top: 8px;
}

.nc-plus__ticks {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.nc-plus__ticks li {
  display: flex;
  align-items: center;
  gap: 8px;
}

.nc-plus__tick {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border: 0;
  background: transparent;
  min-height: 0;
  border-radius: 50%;
}

.nc-plus__tick img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nc-plus__tick.is-empty {
  background: var(--nc);
}

.nc-plus__tick.is-empty::before,
.nc-plus__tick .img-ph__label,
.nc-plus__tick.is-empty .img-ph__label {
  display: none;
  content: none;
}

.nc-plus__ticks p {
  margin: 0;
  font-size: clamp(0.95rem, 1.45vw, 1.05rem);
  letter-spacing: 0.02em;
  line-height: 1.6;
}

.nc-plus__ticks b {
  color: #111;
  font-weight: 700;
}

.nc-plus__ticks span {
  color: #666;
  font-weight: 400;
}

.nc-plus__search {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.nc-plus__search img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nc-plus__search.is-empty {
  background: var(--nc);
  border-radius: 10px;
}

.nc-plus__search.is-empty::before,
.nc-plus__search .img-ph__label,
.nc-plus__search.is-empty .img-ph__label {
  display: none;
  content: none;
}

.nc-plus__quote p.is-lead {
  font-size: clamp(1.02rem, 1.55vw, 1.15rem);
}

.nc-loop {
  --nc: #00a6b9;
  padding: 80px 0 96px;
  background: #f7f7f7;
  text-align: center;
}

.nc-loop__title {
  margin: 0;
  color: #000;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.4;
}

.nc-loop__title em {
  font-style: normal;
  color: #0094a4;
}

.nc-loop__leads {
  margin-top: 16px;
}

.nc-loop__leads p {
  margin: 0;
  color: #777;
  font-size: clamp(0.95rem, 1.45vw, 1.05rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
}

.nc-loop__board,
.nc-loop__board.img-ph {
  display: block;
  width: min(100%, 860px);
  height: auto;
  margin: 36px auto 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  min-height: 0;
}

.nc-loop__board img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.nc-loop__board.is-empty {
  min-height: 320px;
  background: #ececec;
}

.nc-chart {
  --nc: #00a6b9;
  padding: 80px 0 48px;
  background: #fff;
  text-align: center;
}

.nc-chart__head {
  margin: 0 0 36px;
}

.nc-chart__bubble,
.nc-chart__bubble.img-ph {
  display: block;
  width: min(100%, 600px);
  margin: 0 auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  min-height: 0;
}

.nc-chart__bubble img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.nc-chart__bubble.is-empty {
  min-height: 72px;
  background: #f4f7f8;
}

.nc-chart__bubble::before,
.nc-chart__bubble::after {
  content: none;
}

.nc-chart__pad {
  display: none;
}

.nc-chart__mobile,
.nc-chart__mobile.img-ph {
  display: block;
  width: 100%;
  max-width: 1040px;
  margin: 8px auto 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  min-height: 0;
}

.nc-chart__mobile img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.nc-chart__mobile.is-empty {
  min-height: 280px;
  background: #f4f7f8;
}

.nc-chart__stack {
  display: none;
}

.nc-chart__heads {
  display: grid;
  grid-template-columns: var(--nc-chart-cols);
  align-items: end;
  margin-bottom: 14px;
}

.nc-chart__tab {
  position: relative;
  display: block;
  margin: 0 auto;
  padding: 9px 16px 11px;
  width: fit-content;
  max-width: 100%;
  border-radius: 8px;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.35;
  white-space: nowrap;
}

.nc-chart__tab.is-a {
  background: #888;
}

.nc-chart__tab.is-b {
  background: #bbb;
}

.nc-chart__tab.is-c {
  background: var(--nc);
}

.nc-chart__tab::after {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(100% - 1px);
  width: 14px;
  height: 9px;
  transform: translateX(-50%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.nc-chart__tab.is-a::after {
  background: #888;
}

.nc-chart__tab.is-b::after {
  background: #bbb;
}

.nc-chart__tab.is-c::after {
  background: var(--nc);
}

.nc-chart__body {
  position: relative;
}

.nc-chart__hi {
  position: absolute;
  top: 4px;
  right: 2px;
  bottom: 4px;
  left: calc(68% + 8px);
  border: 2px solid var(--nc);
  border-radius: 18px;
  pointer-events: none;
  z-index: 1;
}

.nc-chart__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.nc-chart__col-label {
  width: 18%;
}

.nc-chart__col-a,
.nc-chart__col-b {
  width: 25%;
}

.nc-chart__col-c {
  width: 32%;
}

.nc-chart__table th,
.nc-chart__table td {
  position: relative;
  z-index: 2;
  height: 72px;
  padding: 16px 12px;
  border-bottom: 1px dashed #d2d2d2;
  border-right: 1px dashed #d2d2d2;
  color: #666;
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.5;
  text-align: center;
  vertical-align: middle;
}

.nc-chart__table th {
  color: #222;
  font-weight: 700;
  text-align: right;
  padding-right: 18px;
}

.nc-chart__table td:last-child {
  color: #0094a4;
  font-weight: 700;
  border-right: 0;
}

.nc-chart__table tr:last-child th,
.nc-chart__table tr:last-child td {
  border-bottom: 0;
}

.nc-chart__x {
  width: 36px;
  height: 36px;
  margin: 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
}

.nc-chart__x img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nc-chart__x.is-empty {
  background: transparent;
  border: 0;
}

.nc-chart__x.is-empty::before {
  content: "✕";
  position: static;
  display: block;
  color: #c4c4c4;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
  opacity: 1;
}

.nc-chart__x .img-ph__label,
.nc-chart__x.is-empty .img-ph__label {
  display: none;
}

.nc-quote {
  --nc: #00a6b9;
  padding: 36px 0 88px;
  background: #fff;
  text-align: center;
}

.nc-quote__text {
  position: relative;
  display: inline-block;
  margin: 0 auto;
  max-width: 920px;
  padding: 0.4em 1.6em 0.3em;
  color: #0094a4;
  font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.nc-quote__text::before,
.nc-quote__text::after {
  position: absolute;
  color: #0094a4;
  font-family: Georgia, "Times New Roman", "Noto Serif TC", serif;
  font-size: 2.1em;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
}

.nc-quote__text::before {
  content: "\201C";
  left: 0.02em;
  top: -0.12em;
}

.nc-quote__text::after {
  content: "\201D";
  right: 0.02em;
  bottom: -0.38em;
}

.nc-quote__lines {
  margin-top: 18px;
}

.nc-quote__lines p {
  margin: 0;
  color: #555;
  font-size: clamp(1.12rem, 1.9vw, 1.32rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
}

.nc-faq {
  padding: 40px 0 80px;
  background: #fff;
}


.nc-cta {
  --nc: #00a6b9;
  background: #f6f6f6;
  padding: clamp(40px, 5vw, 72px) 0 0;
  overflow: hidden;
}

.nc-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.1fr);
  gap: clamp(20px, 4vw, 56px);
  align-items: end;
  width: min(100% - 32px, 1180px);
  margin-inline: auto;
}

.nc-cta__media {
  justify-self: start;
  align-self: end;
  width: min(100%, 520px);
  margin-bottom: 0;
  line-height: 0;
}

.nc-cta__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.nc-cta__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  vertical-align: bottom;
}

.nc-cta__img.is-empty {
  min-height: 360px;
  background: linear-gradient(160deg, #e6f6f8, #fff 55%);
  border-radius: 24px 24px 0 0;
}

.nc-cta__img.is-empty::before,
.nc-cta__img .img-ph__label,
.nc-cta__img.is-empty .img-ph__label {
  display: none;
  content: none;
}

.nc-cta__copy {
  min-width: 0;
  padding-bottom: clamp(36px, 5vw, 72px);
  text-align: center;
}

.nc-cta__title {
  margin: 0 0 22px;
  color: #0094a4;
  font-size: clamp(1.48rem, 2.6vw, 1.88rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.nc-cta__lead {
  margin: 0 0 36px;
  color: #4a4a4a;
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
}

.nc-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 52px;
  padding: 0 18px 0 32px;
  border-radius: 999px;
  background: var(--nc);
  color: #fff;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.nc-cta__btn:hover,
.nc-cta__btn:focus-visible {
  transform: translateY(-1px);
}

.nc-cta__btn-go {
  position: relative;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
}

.nc-cta__btn-go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--nc);
  border-right: 2px solid var(--nc);
  transform: translate(-50%, -50%) rotate(45deg);
}

@media (max-width: 900px) {
  .hero--namecard .hero-slide::after {
    display: none;
  }

  .hero--namecard .hero-slide__content.nc-hero__content,
  .hero--features.hero--namecard .hero-slide__content {
    justify-content: flex-start;
    align-items: flex-start;
    text-align: left;
    padding-inline: 16px;
    padding-block: 28px 56px;
  }

  .nc-hero__copy {
    width: 100%;
    max-width: min(100%, 360px);
    margin-top: 56px;
  }

  .nc-hero__title {
    font-size: 1.52rem;
  }

  .nc-hero__desc p {
    font-size: 0.95rem;
  }

  .nc-hero__btn {
    min-height: 48px;
    font-size: 0.95rem;
    padding: 0 22px 0 12px;
  }

  .nc-who {
    padding: 52px 16px 60px;
  }

  .nc-who__head {
    margin-bottom: 32px;
  }

  .nc-who__jobs {
    gap: 8px;
  }

  .nc-who__jobs li {
    flex: 1 1 0;
  }

  .nc-who__box {
    padding: 6px;
    border-radius: 10px;
  }

  .nc-who__ico {
    width: 40px;
    height: 40px;
  }

  .nc-who__jobs p {
    margin-top: 4px;
    font-size: 0.68rem;
    letter-spacing: 0;
  }

  .nc-who__foot {
    margin-top: 28px;
  }

  .nc-who__foot p {
    font-size: 0.88rem;
  }

  .nc-why {
    padding: 40px 16px 0;
    background: #f5f5f5;
  }

  .nc-why::after {
    display: none;
  }

  .nc-why__copy {
    padding: 0;
  }

  .nc-why__inner {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .nc-why__copy {
    order: 1;
    padding: 0;
    text-align: left;
    align-self: start;
    top: 0;
    transform: none;
  }

  .nc-why__media {
    order: 2;
    margin-top: -16%;
  }

  .nc-why__title {
    font-size: 1.22rem;
    margin-bottom: 24px;
    text-align: center;
  }

  .nc-why__title span::after {
    height: 3px;
  }

  .nc-why__list {
    gap: 16px;
    width: max-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
  }

  .nc-why__list p {
    font-size: 0.95rem;
  }

  .nc-why__list li {
    gap: 6px;
  }

  .nc-why__x {
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
  }

  .nc-solve {
    padding: 56px 16px 0;
  }

  .nc-solve__inner,
  .nc-solve.is-flip .nc-solve__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .nc-solve.is-flip .nc-solve__copy,
  .nc-solve.is-flip .nc-solve__media {
    order: initial;
  }

  .nc-solve__copy {
    order: 1;
    text-align: center;
  }

  .nc-solve__media {
    order: 2;
  }

  .nc-solve__title {
    font-size: 1.28rem;
  }

  .nc-solve__rule {
    margin: 6px auto 22px;
    width: 44px;
    height: 3px;
  }

  .nc-solve__list {
    display: inline-flex;
    flex-direction: column;
    gap: 16px;
    text-align: left;
  }

  .nc-solve__list li {
    gap: 6px;
  }

  .nc-solve__check {
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
  }

  .nc-solve__list p {
    font-size: 1rem;
  }

  .nc-solve__img.img-ph {
    max-width: 320px;
    margin: 0 auto;
  }

  .nc-better {
    padding: 52px 16px 0;
  }

  .nc-better__head {
    margin-bottom: 36px;
  }

  .nc-better__heading {
    font-size: 1.32rem;
  }

  .nc-plus,
  .nc-plus.is-flip {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .nc-plus.is-flip .nc-plus__copy,
  .nc-plus.is-flip .nc-plus__media {
    order: initial;
  }

  .nc-plus__copy {
    order: 1;
  }

  .nc-better .nc-plus.is-flip .nc-plus__copy {
    padding-left: 0;
  }

  .nc-plus__media {
    order: 2;
  }

  .nc-plus__title {
    font-size: 1.22rem;
  }

  .nc-plus:has(#ncUpdateTitle) .nc-plus__copy,
  .nc-plus:has(#ncScanTitle) .nc-plus__copy,
  .nc-plus:has(#ncTeamTitle) .nc-plus__copy {
    text-align: center;
    padding-left: 0;
  }

  .nc-plus:has(#ncScanTitle) .nc-plus__title {
    white-space: normal;
  }

  .nc-plus:has(#ncUpdateTitle) .nc-plus__title,
  .nc-plus:has(#ncScanTitle) .nc-plus__title,
  .nc-plus:has(#ncInfoTitle) .nc-plus__title,
  .nc-plus:has(#ncTeamTitle) .nc-plus__title,
  .nc-plus:has(#ncLineTitle) .nc-plus__title,
  .nc-plus:has(#ncMeetTitle) .nc-plus__title,
  .nc-plus:has(#ncLinkTitle) .nc-plus__title {
    justify-content: center;
  }

  .nc-plus:has(#ncInfoTitle) .nc-plus__title,
  .nc-plus:has(#ncInfoTitle) .nc-plus__sub,
  .nc-plus:has(#ncInfoTitle) .nc-plus__leads,
  .nc-plus:has(#ncInfoTitle) .nc-plus__mark {
    text-align: center;
  }

  .nc-plus:has(#ncInfoTitle) .hl-pen::before {
    content: none;
  }

  .nc-plus:has(#ncLineTitle) .nc-plus__title,
  .nc-plus:has(#ncLineTitle) .nc-plus__sub,
  .nc-plus:has(#ncLineTitle) .nc-plus__leads,
  .nc-plus:has(#ncLineTitle) .nc-plus__note,
  .nc-plus:has(#ncLineTitle) .nc-plus__hint,
  .nc-plus:has(#ncMeetTitle) .nc-plus__title,
  .nc-plus:has(#ncMeetTitle) .nc-plus__sub,
  .nc-plus:has(#ncMeetTitle) .nc-plus__leads,
  .nc-plus:has(#ncLinkTitle) .nc-plus__title,
  .nc-plus:has(#ncLinkTitle) .nc-plus__sub,
  .nc-plus:has(#ncLinkTitle) .nc-plus__leads {
    text-align: center;
  }

  .nc-plus__sub {
    font-size: 1rem;
  }

  .nc-plus__leads p {
    font-size: 0.92rem;
  }

  .nc-plus__callout {
    font-size: 0.82rem;
    padding: 7px 14px;
  }

  .nc-edit,
  .nc-plus:has(#ncUpdateTitle) .nc-edit {
    width: auto;
    max-width: 360px;
    margin: 0 auto;
  }

  .nc-plus:has(#ncScanTitle) .nc-plus__copy {
    text-align: left;
  }

  .nc-plus:has(#ncScanTitle) .nc-plus__title {
    white-space: nowrap;
    justify-content: flex-start;
  }

  .nc-plus:has(#ncScanTitle) .nc-plus__sub,
  .nc-plus:has(#ncScanTitle) .nc-plus__leads {
    text-align: left;
  }

  .nc-plus:has(#ncScanTitle) .nc-plus__leads p {
    display: inline;
  }

  .nc-better .nc-plus.is-flip:has(#ncScanTitle) {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }

  .nc-scan {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    width: 100%;
    max-width: 280px;
    margin: 4px auto 0;
  }

  .nc-scan__qr {
    order: 1;
    flex: 0 0 auto;
    box-sizing: border-box;
    width: 128px;
    height: 128px;
    padding: 18px;
    background: #fff;
    border: 1px solid #e4e4e4;
    border-radius: 16px;
    overflow: hidden;
  }

  .nc-scan__arrow {
    order: 2;
    flex: 0 0 auto;
    width: 34px;
    height: 40px;
    margin: 0;
    transform: rotate(90deg);
  }

  .nc-scan__phone {
    order: 3;
    flex: 0 0 auto;
    width: min(200px, 58vw);
    height: auto;
    margin: 0;
  }

  .nc-page {
    padding: 48px 16px 56px;
  }

  .nc-page .nc-plus + .nc-plus {
    margin-top: 48px;
  }

  .nc-plus__box {
    display: block;
    padding: 30px 18px 16px;
    border-radius: 18px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
  }

  .nc-plus__tag {
    font-size: 0.82rem;
    padding: 6px 14px;
  }

  .nc-plus__box p {
    font-size: 0.88rem;
  }

  .nc-plus__foot {
    font-size: 0.95rem;
  }

  .nc-page__img.img-ph {
    max-width: 360px;
    margin: 0 auto;
  }

  .nc-hook {
    padding: 48px 16px 0;
  }

  .nc-hook__title {
    font-size: 1.18rem;
  }

  .nc-hook__mark {
    padding: 0 32px;
  }

  .nc-hook__leads p {
    font-size: 0.9rem;
  }

  .nc-hook__rule {
    width: 86%;
    margin-top: 32px;
  }

  .nc-gift {
    padding: 36px 16px 0;
  }

  .nc-plus__note {
    font-size: 0.88rem;
  }

  .nc-plus__hint {
    font-size: 0.8rem;
  }

  .nc-plus__cases {
    width: max-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
  }

  .nc-plus__cases p {
    font-size: 0.88rem;
  }

  .nc-plus__flow {
    font-size: 0.95rem;
    justify-content: center;
  }

  .nc-page__img--phone {
    max-width: 280px;
  }

  .nc-gift .nc-plus + .nc-plus {
    margin-top: 48px;
  }

  .nc-plus__meet-pack,
  .nc-plus__link-pack {
    width: max-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
  }

  .nc-plus__meet-pack .nc-plus__gifts {
    width: auto;
  }

  .nc-plus__gifts {
    gap: 8px;
    justify-content: flex-start;
  }

  .nc-plus__gifts span {
    font-size: 0.78rem;
  }

  .nc-plus__quote {
    padding: 12px 14px;
  }

  .nc-plus__link-pack .nc-plus__quote {
    margin-left: auto;
    margin-right: auto;
  }

  .nc-plus__quote p {
    font-size: 0.88rem;
  }

  .nc-plus__end {
    font-size: 0.8rem;
  }

  .nc-page__img--pair {
    max-width: 380px;
    margin: 0 auto;
  }

  .nc-plus:has(#ncMeetTitle) .nc-plus__media {
    margin-top: -36px;
  }

  .nc-plus:has(#ncMeetTitle) .nc-page__img.img-ph {
    aspect-ratio: 840 / 661;
  }

  .nc-plus__ticks {
    gap: 12px;
  }

  .nc-plus__ticks li {
    gap: 6px;
  }

  .nc-plus__tick {
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
  }

  .nc-plus__ticks p {
    font-size: 0.88rem;
  }

  .nc-plus__search {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
  }

  .nc-plus__quote p.is-lead {
    font-size: 0.95rem;
  }

  .nc-loop {
    padding: 48px 16px 56px;
  }

  .nc-loop__leads p {
    font-size: 0.88rem;
  }

  .nc-loop__board {
    margin-top: 24px;
  }

  .nc-chart {
    padding: 48px 16px 28px;
  }

  .nc-chart__head {
    margin-bottom: 24px;
  }

  .nc-chart .container {
    overflow-x: visible;
  }

  .nc-chart__mobile,
  .nc-chart__mobile.img-ph {
    display: none;
  }

  .nc-chart__stack {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
  }

  .nc-chart__stack-img,
  .nc-chart__stack-img.img-ph {
    display: block;
    width: 100%;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    min-height: 0;
  }

  .nc-chart__stack-img img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .nc-chart__stack-img.is-empty {
    min-height: 120px;
    background: #f4f7f8;
  }

  .nc-chart__tab {
    font-size: 0.78rem;
    padding: 8px 10px 10px;
  }

  .nc-chart__table th,
  .nc-chart__table td {
    height: 60px;
    padding: 12px 8px;
    font-size: 0.8rem;
  }

  .nc-chart__table th {
    padding-right: 12px;
  }

  .nc-quote {
    padding: 20px 16px 56px;
  }

  .nc-quote__text {
    font-size: 1.15rem;
    padding: 0.3em 1.2em;
  }

  .nc-quote__lines p {
    font-size: 1.02rem;
  }

  .nc-faq {
    padding: 28px 16px 56px;
  }


  .nc-cta__inner {
    grid-template-columns: 1fr;
    gap: 20px;
    justify-items: center;
    text-align: center;
  }

  .nc-cta__media {
    width: min(92%, 400px);
    order: 2;
    justify-self: center;
  }

  .nc-cta__copy {
    order: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 8px;
  }

  .nc-cta__title {
    font-size: clamp(1.22rem, 4.8vw, 1.55rem);
  }

  .nc-cta__lead {
    font-size: clamp(0.92rem, 3.5vw, 1.05rem);
    margin-bottom: 28px;
  }

  .nc-cta__btn {
    min-height: 48px;
    padding: 0 14px 0 24px;
    font-size: 0.98rem;
  }
}


.hero--booking {
  --bk: #0097a7;
}

.hero--booking .hero-slide__bg,
.hero--booking .hero-slide__bg.is-empty {
  background: #f4f6f7;
}

.hero--booking .hero-slide__bg.is-empty::before,
.hero--booking .hero-slide__bg .img-ph__label,
.hero--booking .hero-slide__bg.is-empty .img-ph__label {
  display: none;
  content: none;
}

.hero--booking .hero-slide::after {
  display: none;
}

.hero--booking .hero-slide__content.bk-hero__content {
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #222;
  padding-block: clamp(40px, 5vw, 72px) clamp(64px, 8vw, 96px);
}

.bk-hero__copy {
  position: relative;
  z-index: 2;
  max-width: 520px;
  margin: 0 auto;
  pointer-events: auto;
}

.bk-hero__title {
  margin: 0;
  color: #111;
  font-size: clamp(1.85rem, 3.6vw, 2.65rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.38;
  -webkit-text-stroke: 6px #fff;
  paint-order: stroke fill;
}

.bk-hero__title em {
  font-style: normal;
  color: #0094a4;
  -webkit-text-stroke: 6px #fff;
  paint-order: stroke fill;
}

.bk-hero__desc {
  margin-top: 18px;
}

.bk-hero__desc p {
  margin: 0;
  color: #555;
  font-size: clamp(1rem, 1.55vw, 1.15rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.7;
  -webkit-text-stroke: 4px #fff;
  paint-order: stroke fill;
}

.bk-hero__btns {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-top: 28px;
}

.bk-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 260px;
  min-height: 50px;
  padding: 0 28px 0 18px;
  border-radius: 999px;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none;
  transition: transform 0.3s var(--ease);
}

.bk-hero__btn--teal {
  background: var(--bk);
}

.bk-hero__btn--coral {
  background: #e58989;
}

.bk-hero__btn:hover,
.bk-hero__btn:focus-visible {
  transform: translateY(-1px);
}

.bk-hero__ico {
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.bk-hero__ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.bk-hero__ico.is-empty {
  background: rgba(255, 255, 255, 0.28);
  border-radius: 6px;
}

.bk-hero__ico.is-empty::before,
.bk-hero__ico .img-ph__label,
.bk-hero__ico.is-empty .img-ph__label {
  display: none;
  content: none;
}

.bk-hero__btn i {
  flex: 0 0 1px;
  width: 1px;
  height: 18px;
  background: rgba(255, 255, 255, 0.55);
}

.bk-hero__pager .hero-dot.is-active {
  background: var(--bk);
}

.bk-hero__next {
  width: 18px;
  height: 18px;
  margin-left: 4px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  position: relative;
}

.bk-hero__next::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 7px;
  height: 7px;
  border-top: 2px solid #8a8a8a;
  border-right: 2px solid #8a8a8a;
  transform: translate(-50%, -50%) rotate(45deg);
}

.bk-intro {
  --bk: #0097a7;
  padding: 72px 0 88px;
  background: #fff;
  text-align: center;
}

.bk-intro__kicker {
  margin: 0 0 12px;
  color: #0094a4;
  font-size: clamp(1.12rem, 1.9vw, 1.32rem);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.bk-intro__title,
.bk-intro__title.img-ph {
  display: block;
  width: min(100%, 560px);
  margin: 0 auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  min-height: 0;
}

.bk-intro__title img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.bk-intro__title.is-empty {
  min-height: 64px;
  background: #f4f7f8;
}

.bk-intro__lead {
  margin: 22px 0 0;
  color: #222;
  font-size: clamp(0.98rem, 1.5vw, 1.12rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.75;
}

.bk-intro__cards {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 22px;
  max-width: 920px;
  margin: 48px auto 0;
  padding: 0;
  list-style: none;
}

.bk-intro__cards li {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  padding: 42px 16px 28px;
  background: #f4f5f6;
  border-radius: 16px;
}

.bk-intro__check {
  position: absolute;
  left: 50%;
  top: 0;
  width: 44px;
  height: 44px;
  border: 0;
  background: #fff;
  min-height: 0;
  border-radius: 50%;
  box-shadow: 0 0 0 4px #f4f5f6;
  transform: translate(-50%, -50%);
}

.bk-intro__check img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8px;
}

.bk-intro__check.is-empty {
  background: #fff;
  border: 2px solid var(--bk);
}

.bk-intro__check.is-empty::before,
.bk-intro__check .img-ph__label,
.bk-intro__check.is-empty .img-ph__label {
  display: none;
  content: none;
}

.bk-intro__cards h3 {
  margin: 0;
  color: #111;
  font-size: clamp(0.98rem, 1.45vw, 1.12rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.45;
}

.bk-intro__cards p {
  margin: 4px 0 0;
  color: #0094a4;
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.02em;
}

.bk-kind {
  --bk: #0097a7;
  --bk-coral: #e58989;
  position: relative;
  z-index: 1;
  padding: 0 0 52px;
  background: #fff;
  overflow: visible;
}

.bk-kind__box {
  position: relative;
  padding: 56px 36px 48px;
  background: #f6f6f6;
  border-radius: 40px 40px 0 0;
}

.bk-kind__box::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  width: 88px;
  height: 44px;
  background: #f6f6f6;
  transform: translateX(-50%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.bk-kind__title {
  margin: 0 0 36px;
  color: #111;
  font-size: clamp(1.42rem, 2.5vw, 1.85rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
}

.bk-kind__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px 40px;
  align-items: start;
}

.bk-kind__col {
  display: grid;
  align-items: center;
  gap: 14px 16px;
}

.bk-kind__col--food {
  grid-template-columns: auto minmax(0, 1fr);
}

.bk-kind__col--beauty {
  grid-template-columns: minmax(0, 1fr) auto;
}

.bk-kind__tag {
  margin: 0;
  justify-self: center;
  min-width: 120px;
  padding: 3px 36px;
  border-radius: 999px;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-align: center;
}

.bk-kind__col--food .bk-kind__tag {
  grid-column: 2;
  background: var(--bk);
}

.bk-kind__col--beauty .bk-kind__tag {
  grid-column: 1;
  background: var(--bk-coral);
}

.bk-kind__list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bk-kind__col--food .bk-kind__list {
  grid-column: 1;
  grid-row: 2;
}

.bk-kind__col--beauty .bk-kind__list {
  grid-column: 2;
  grid-row: 2;
}

.bk-kind__list li {
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.bk-kind__check {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border: 0;
  background: transparent;
  min-height: 0;
  border-radius: 50%;
}

.bk-kind__check img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.bk-kind__col--food .bk-kind__check.is-empty {
  background: var(--bk);
}

.bk-kind__col--beauty .bk-kind__check.is-empty {
  background: var(--bk-coral);
}

.bk-kind__check.is-empty::before,
.bk-kind__check .img-ph__label,
.bk-kind__check.is-empty .img-ph__label {
  display: none;
  content: none;
}

.bk-kind__list span {
  color: #222;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.bk-kind__media {
  min-width: 0;
}

.bk-kind__col--food .bk-kind__media {
  grid-column: 2;
  grid-row: 2;
}

.bk-kind__col--beauty .bk-kind__media {
  grid-column: 1;
  grid-row: 2;
}

.bk-kind__img.img-ph {
  width: 100%;
  min-height: 0;
  border-radius: 18px;
  background: #eee;
  aspect-ratio: 4 / 3;
}

.bk-kind__col--food .bk-kind__img {
  border: 4px solid var(--bk);
}

.bk-kind__col--beauty .bk-kind__img {
  border: 4px solid var(--bk-coral);
}

.bk-kind__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 14px;
}

.bk-kind__img.is-empty::before,
.bk-kind__img .img-ph__label,
.bk-kind__img.is-empty .img-ph__label {
  display: none;
  content: none;
}

.bk-kind__foot {
  margin: 40px 0 0;
  color: #222;
  font-size: clamp(1.02rem, 1.6vw, 1.18rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  text-align: center;
}

.bk-reserve {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: flex-end;
  padding: 80px 0 36px;
  overflow: hidden;
  background: #1c1814;
}

.bk-reserve__bg,
.bk-reserve__bg.img-ph {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: #1c1814;
}

.bk-reserve__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.bk-reserve__bg.is-empty::before,
.bk-reserve__bg .img-ph__label,
.bk-reserve__bg.is-empty .img-ph__label {
  display: none;
  content: none;
}

.bk-reserve::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.46);
  pointer-events: none;
}

.bk-reserve .container {
  position: relative;
  z-index: 1;
}

.bk-reserve__panel {
  max-width: none;
}

.bk-reserve__card {
  display: block;
  width: max-content;
  max-width: none;
  margin-left: calc(50% - 50vw);
  padding: 22px 60px 20px calc(50vw - 50%);
  background: #fff;
  border-radius: 0 0 60px 0;
}

.bk-reserve__head {
  display: flex;
  align-items: center;
  gap: 14px;
}

.bk-reserve__ico,
.bk-reserve__ico.img-ph {
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 0;
  background: transparent;
  min-height: 0;
}

.bk-reserve__ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.bk-reserve__ico.is-empty {
  background: #ececec;
  border-radius: 8px;
}

.bk-reserve__ico.is-empty::before,
.bk-reserve__ico .img-ph__label,
.bk-reserve__ico.is-empty .img-ph__label {
  display: none;
  content: none;
}

.bk-reserve__head h2 {
  margin: 0;
  color: #333;
  font-size: clamp(1.75rem, 2.8vw, 2.375rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.2;
}

.bk-reserve__sub {
  margin: 12px 0 0;
  color: #333;
  font-size: clamp(1.15rem, 1.8vw, 1.5rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
}

.bk-reserve__leads {
  margin-top: 25px;
  padding-left: 0;
}

.bk-reserve__leads p {
  margin: 0;
  color: #fff;
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.bk-queue .bk-reserve__bg img {
  object-position: 70% center;
}

.bk-feats {
  --bk: #0097a7;
  --bk-coral: #e58989;
  padding: 80px 0 88px;
  background: #fff;
}

.bk-feat {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 40px 56px;
  align-items: center;
}

.bk-feat + .bk-feat {
  margin-top: 88px;
}

.bk-feat.is-flip {
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.bk-feat.is-flip .bk-feat__media {
  order: 1;
}

.bk-feat.is-flip .bk-feat__copy {
  order: 2;
}

.bk-feat__copy {
  min-width: 0;
}

.bk-feat__title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  color: #333;
  font-size: clamp(1.42rem, 2.4vw, 1.85rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
}

.bk-feat__title::before {
  content: "";
  flex: 0 0 5px;
  width: 5px;
  height: 1.05em;
  background: #333;
  border-radius: 1px;
}

.bk-feat__sub {
  margin: 12px 0 0;
  color: #666;
  font-size: clamp(1.02rem, 1.6vw, 1.18rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.bk-feat__pains {
  display: grid;
  gap: 16px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.bk-feat__pain {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.bk-feat__tag {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  padding: 3px 10px;
  border: 1px solid currentColor;
  border-radius: 5px;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.bk-feat__pain p {
  margin: 0;
  min-width: 0;
  font-size: 0.98rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.bk-feat__pain--food .bk-feat__tag,
.bk-feat__pain--food p {
  color: #0094a4;
}

.bk-feat__pain--food .bk-feat__tag {
  background: rgba(0, 151, 167, 0.06);
}

.bk-feat__pain--beauty .bk-feat__tag,
.bk-feat__pain--beauty p {
  color: var(--bk-coral);
}

.bk-feat__pain--beauty .bk-feat__tag {
  background: rgba(229, 137, 137, 0.08);
}

.bk-feat__lead {
  margin: 22px 0 0;
  color: #777;
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.85;
}

.bk-feat__callout {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
  padding: 8px 16px 8px 8px;
  background: #e8f5f6;
  border-radius: 12px;
  max-width: 100%;
}

.bk-feat__ico,
.bk-feat__ico.img-ph {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 0;
  background: transparent;
  min-height: 0;
}

.bk-feat__ico.is-empty {
  background: var(--bk);
  border-radius: 50%;
}

.bk-feat__ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.bk-feat__ico.is-empty::before,
.bk-feat__ico .img-ph__label,
.bk-feat__ico.is-empty .img-ph__label {
  display: none;
  content: none;
}

.bk-feat__callout p {
  margin: 0;
  color: #0094a4;
  font-size: 0.92rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.bk-feat__media {
  min-width: 0;
}

.bk-feat__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

#bkLine .bk-feat__img,
#bkLine .bk-feat__img.img-ph {
  max-width: 360px;
  margin-inline: auto;
}

.bk-feat__img img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.bk-feat__img.is-empty {
  aspect-ratio: 4 / 3;
  background: #f3f6f7;
  border-radius: 16px;
}

.bk-feat__img.is-empty::before,
.bk-feat__img .img-ph__label,
.bk-feat__img.is-empty .img-ph__label {
  display: none;
  content: none;
}

.bk-flex {
  --bk: #0097a7;
  --bk-coral: #e58989;
  padding: 0 0 96px;
  background: #fff;
}

.bk-flex__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 40px 48px;
  align-items: center;
}

.bk-flex__copy {
  min-width: 0;
}

.bk-flex__leads {
  margin-top: 22px;
}

.bk-flex__leads p {
  margin: 0;
  color: #777;
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.85;
}

.bk-flex__media {
  min-width: 0;
}

.bk-flex__img,
.bk-flex__img.img-ph {
  display: block;
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.bk-flex__img img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.bk-flex__img.is-empty {
  min-height: 320px;
  background: #f4f8f8;
}

.bk-take {
  --bk: #0097a7;
  padding: 80px 0 0;
  background: #f6f7f8;
}

.bk-take__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 40px 48px;
  align-items: center;
}

.bk-take__copy {
  min-width: 0;
  align-self: center;
}

.bk-take__rows {
  display: grid;
  gap: 14px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.bk-take__row {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.bk-take__tag {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  padding: 3px 10px;
  border: 1px solid currentColor;
  border-radius: 5px;
  background: #fff;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.bk-take__row p {
  margin: 0;
  min-width: 0;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.bk-take__row--pain .bk-take__tag,
.bk-take__row--pain p {
  color: #888;
}

.bk-take__row--sys .bk-take__tag,
.bk-take__row--sys p {
  color: #0094a4;
}

.bk-take__cards {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  gap: 12px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.bk-take__cards li {
  flex: 0 0 92px;
  width: 92px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  aspect-ratio: 0.82;
  padding: 16px 8px 14px;
  background: #fff;
  border: 1px solid #e2e2e2;
  border-radius: 14px;
}

.bk-take__ico,
.bk-take__ico.img-ph {
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 0;
  background: transparent;
  min-height: 0;
}

.bk-take__ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.bk-take__ico.is-empty {
  background: #e8f5f6;
  border-radius: 10px;
}

.bk-take__ico.is-empty::before,
.bk-take__ico .img-ph__label,
.bk-take__ico.is-empty .img-ph__label {
  display: none;
  content: none;
}

.bk-take__cards p {
  margin: 0;
  color: #0094a4;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
  text-align: center;
  white-space: nowrap;
}

.bk-take__checks {
  display: grid;
  gap: 12px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.bk-take__checks li {
  display: flex;
  align-items: center;
  gap: 10px;
}

.bk-take__tick,
.bk-take__tick.img-ph {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  min-height: 0;
}

.bk-take__tick img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.bk-take__tick.is-empty {
  background: var(--bk);
}

.bk-take__tick.is-empty::before {
  content: "✓";
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  height: 100%;
}

.bk-take__tick .img-ph__label,
.bk-take__tick.is-empty .img-ph__label {
  display: none;
}

.bk-take__checks span {
  color: #333;
  font-size: 0.98rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.bk-take__callout {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
  padding: 8px 16px 8px 10px;
  background: #e8f5f6;
  border-radius: 12px;
  max-width: 100%;
}

.bk-take__people,
.bk-take__people.img-ph {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 0;
  background: transparent;
  min-height: 0;
}

.bk-take__people img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.bk-take__people.is-empty {
  background: var(--bk);
  border-radius: 6px;
}

.bk-take__people.is-empty::before,
.bk-take__people .img-ph__label,
.bk-take__people.is-empty .img-ph__label {
  display: none;
  content: none;
}

.bk-take__callout p {
  margin: 0;
  color: #0094a4;
  font-size: 0.92rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.bk-take__media {
  position: relative;
  min-width: 0;
  align-self: end;
  text-align: center;
}

.bk-take__bubble {
  position: relative;
  display: inline-block;
  margin: 0 0 12px;
  padding: 8px 22px 10px;
  background: #ececec;
  border-radius: 10px;
  color: #555;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}

.bk-take__bubble::after {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(100% - 2px);
  width: 12px;
  height: 8px;
  background: #ececec;
  transform: translateX(-50%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.bk-take__img,
.bk-take__img.img-ph {
  width: 100%;
  max-width: 360px;
  margin-inline: auto;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 0;
}

.bk-take__img img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  vertical-align: bottom;
}

.bk-take__img.is-empty {
  aspect-ratio: 9 / 16;
  max-width: 280px;
  background: #eef1f2;
  border-radius: 28px;
}

.bk-take__img.is-empty::before,
.bk-take__img .img-ph__label,
.bk-take__img.is-empty .img-ph__label {
  display: none;
  content: none;
}

.bk-sorts {
  --bk: #0097a7;
  padding: 80px 0 88px;
  background: #fff;
}

.bk-sort {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 40px 56px;
  align-items: center;
}

.bk-sort + .bk-sort {
  margin-top: 88px;
}

.bk-sort.is-flip {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
}

.bk-sort.is-flip .bk-sort__media {
  order: 1;
}

.bk-sort.is-flip .bk-sort__copy {
  order: 2;
}

.bk-sort__copy {
  min-width: 0;
}

.bk-sort__lead {
  margin: 16px 0 0;
  color: #666;
  font-size: clamp(0.95rem, 1.5vw, 1.08rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
}

.bk-sort__em {
  margin: 16px 0 0;
  color: #0094a4;
  font-size: clamp(1.12rem, 1.9vw, 1.45rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.bk-sort__notes {
  margin-top: 16px;
}

.bk-sort__notes p {
  margin: 0;
  color: #666;
  font-size: clamp(0.95rem, 1.5vw, 1.08rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.75;
}

.bk-sort__callout {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
  padding: 8px 16px 8px 10px;
  background: #e8f5f6;
  border-radius: 12px;
  max-width: 100%;
}

.bk-sort__ico,
.bk-sort__ico.img-ph {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 0;
  background: transparent;
  min-height: 0;
}

.bk-sort__ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.bk-sort__ico.is-empty {
  background: var(--bk);
  border-radius: 6px;
}

.bk-sort__ico.is-empty::before,
.bk-sort__ico .img-ph__label,
.bk-sort__ico.is-empty .img-ph__label {
  display: none;
  content: none;
}

.bk-sort__callout p {
  margin: 0;
  color: #0094a4;
  font-size: 0.92rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.bk-sort__media {
  min-width: 0;
}

.bk-sort__img,
.bk-sort__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

#bkLineView .bk-sort__img,
#bkLineView .bk-sort__img.img-ph,
#bkRecall .bk-sort__img,
#bkRecall .bk-sort__img.img-ph {
  max-width: 360px;
  margin-inline: auto;
}

.bk-sort__img img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.bk-sort__img.is-empty {
  aspect-ratio: 4 / 3;
  background: #f3f6f7;
  border-radius: 16px;
}

.bk-sort__img.is-empty::before,
.bk-sort__img .img-ph__label,
.bk-sort__img.is-empty .img-ph__label {
  display: none;
  content: none;
}

.bk-more {
  --bk: #0097a7;
  padding: 80px 0 0;
  background: #f6f7f8;
}

.bk-more__title {
  margin: 0;
  color: #111;
  font-size: clamp(1.48rem, 2.7vw, 2.05rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-align: center;
}

.bk-more__title em {
  font-style: normal;
  color: #0094a4;
}

.bk-more__sub {
  margin: 14px 0 0;
  color: #111;
  font-size: clamp(1.05rem, 1.8vw, 1.28rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.6;
  text-align: center;
}

.bk-more__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 40px 56px;
  align-items: center;
  margin-top: 48px;
}

.bk-more__body.is-flip .bk-more__media {
  order: 1;
}

.bk-more__body.is-flip .bk-more__list {
  order: 2;
}

.bk-more__list {
  display: flex;
  flex-direction: column;
  gap: 22px;
  margin: 0;
  padding: 0;
  list-style: none;
  align-self: center;
}

.bk-more__list li {
  display: flex;
  align-items: center;
  gap: 12px;
}

.bk-more__tick,
.bk-more__tick.img-ph {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  min-height: 0;
}

.bk-more__tick img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.bk-more__tick.is-empty {
  background: var(--bk);
}

.bk-more__tick.is-empty::before {
  content: "✓";
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  height: 100%;
}

.bk-more__tick .img-ph__label,
.bk-more__tick.is-empty .img-ph__label {
  display: none;
}

.bk-more__list span {
  color: #222;
  font-size: clamp(0.98rem, 1.55vw, 1.12rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.bk-more__media {
  min-width: 0;
  align-self: end;
  text-align: center;
}

.bk-more__img,
.bk-more__img.img-ph {
  width: 100%;
  max-width: 320px;
  margin-inline: auto;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 0;
}

.bk-more__img img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  vertical-align: bottom;
}

.bk-more__img.is-empty {
  aspect-ratio: 9 / 18;
  max-width: 260px;
  background: #eef1f2;
  border-radius: 32px;
}

.bk-more__img.is-empty::before,
.bk-more__img .img-ph__label,
.bk-more__img.is-empty .img-ph__label {
  display: none;
  content: none;
}

.bk-quote {
  --bk-quote: #e58989;
  padding: 56px 0 88px;
  background: #fff;
  text-align: center;
}

.bk-quote__text {
  position: relative;
  display: inline-block;
  margin: 0 auto;
  max-width: 920px;
  padding: 0.4em 1.6em 0.3em;
  color: var(--bk-quote);
  font-size: clamp(1.32rem, 2.5vw, 1.82rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.bk-quote__text::before,
.bk-quote__text::after {
  position: absolute;
  color: var(--bk-quote);
  font-family: Georgia, "Times New Roman", "Noto Serif TC", serif;
  font-size: 2.1em;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
}

.bk-quote__text::before {
  content: "\201C";
  left: 0.02em;
  top: -0.12em;
}

.bk-quote__text::after {
  content: "\201D";
  right: 0.02em;
  bottom: -0.38em;
}

.bk-quote__lines {
  margin-top: 22px;
}

.bk-quote__lines p {
  margin: 0;
  color: #4a4a4a;
  font-size: clamp(0.98rem, 1.6vw, 1.12rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
}

.bk-faq {
  padding: 48px 0 72px;
}


.bk-cta {
  --bk: #0097a7;
  background: #f6f6f6;
  padding: clamp(12px, 2vw, 24px) 0 0;
  overflow: hidden;
}

.bk-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.1fr);
  gap: clamp(20px, 4vw, 56px);
  align-items: end;
  width: min(100% - 32px, 1180px);
  margin-inline: auto;
}

.bk-cta__media {
  justify-self: start;
  align-self: end;
  width: min(100%, 520px);
  margin-bottom: 0;
  line-height: 0;
}

.bk-cta__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.bk-cta__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  vertical-align: bottom;
}

.bk-cta__img.is-empty {
  min-height: 360px;
  background: linear-gradient(160deg, #e6f6f8, #fff 55%);
  border-radius: 24px 24px 0 0;
}

.bk-cta__img.is-empty::before,
.bk-cta__img .img-ph__label,
.bk-cta__img.is-empty .img-ph__label {
  display: none;
  content: none;
}

.bk-cta__copy {
  min-width: 0;
  padding-bottom: clamp(36px, 5vw, 72px);
  text-align: center;
}

.bk-cta__title {
  margin: 0 0 28px;
  color: #333;
  font-size: clamp(1.42rem, 2.5vw, 1.82rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.bk-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 52px;
  padding: 0 18px 0 32px;
  border-radius: 999px;
  background: var(--bk);
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.bk-cta__btn:hover,
.bk-cta__btn:focus-visible {
  transform: translateY(-1px);
}

.bk-cta__btn-go {
  position: relative;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
}

.bk-cta__btn-go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--bk);
  border-right: 2px solid var(--bk);
  transform: translate(-50%, -50%) rotate(45deg);
}

@media (max-width: 900px) {
  .hero--booking .hero-slide::after {
    display: none;
  }

  .hero--booking .hero-slide__bg.img-ph img,
  .hero--booking .hero-slide__bg img {
    object-position: right center !important;
  }

  .hero--booking .hero-slide__content.bk-hero__content,
  .hero--features.hero--booking .hero-slide__content {
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    padding-inline: 16px;
    padding-block: 28px 56px;
  }

  .bk-hero__copy {
    margin-inline: 0;
    margin-top: 56px;
  }

  .bk-hero__btns {
    align-items: flex-start;
  }

  .bk-hero__title {
    font-size: 1.55rem;
  }

  .bk-hero__desc p {
    font-size: 0.92rem;
  }

  .bk-hero__btn {
    min-width: 220px;
    min-height: 46px;
    font-size: 0.95rem;
  }

  .bk-intro {
    padding: 48px 16px 56px;
  }

  .bk-intro__title,
  .bk-intro__title.img-ph {
    width: min(100%, 420px);
  }

  .bk-intro__lead {
    font-size: 0.9rem;
  }

  .bk-intro__cards {
    flex-wrap: wrap;
    gap: 28px 12px;
  }

  .bk-intro__cards li {
    flex: 1 1 100%;
    padding: 36px 16px 22px;
  }

  .bk-kind {
    padding: 0 0 52px;
  }

  .bk-kind__box {
    padding: 36px 16px 32px;
    border-radius: 28px 28px 0 0;
  }

  .bk-kind__title {
    font-size: 1.28rem;
    margin-bottom: 24px;
  }

  .bk-kind__cols {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .bk-kind__col--food,
  .bk-kind__col--beauty {
    grid-template-columns: 1fr;
  }

  .bk-kind__col--food .bk-kind__tag,
  .bk-kind__col--beauty .bk-kind__tag,
  .bk-kind__col--food .bk-kind__list,
  .bk-kind__col--beauty .bk-kind__list,
  .bk-kind__col--food .bk-kind__media,
  .bk-kind__col--beauty .bk-kind__media {
    grid-column: 1;
    grid-row: auto;
  }

  .bk-kind__tag {
    order: 1;
  }

  .bk-kind__list {
    order: 2;
    align-items: center;
  }

  .bk-kind__col--food .bk-kind__list,
  .bk-kind__col--beauty .bk-kind__list {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: center;
    justify-items: start;
    column-gap: 20px;
    row-gap: 12px;
    width: 100%;
  }

  .bk-kind__media {
    order: 3;
    max-width: 360px;
    margin: 0 auto;
    width: 100%;
  }

  .bk-kind__foot {
    font-size: 0.95rem;
    margin-top: 28px;
  }

  .bk-reserve {
    min-height: 0;
    padding: 64px 0 24px;
  }

  .bk-reserve__card {
    padding: 14px 28px 12px calc(50vw - 50%);
    border-radius: 0 0 40px 0;
  }

  .bk-reserve__head h2 {
    font-size: 1.5rem;
  }

  .bk-reserve__sub {
    font-size: 1.05rem;
  }

  .bk-reserve__leads {
    margin-top: 20px;
  }

  .bk-reserve__leads p {
    font-size: 0.95rem;
  }

  .bk-reserve__ico,
  .bk-reserve__ico.img-ph {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
  }

  .bk-feats {
    padding: 48px 0 56px;
  }

  .bk-feat,
  .bk-feat.is-flip {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .bk-feat + .bk-feat {
    margin-top: 56px;
  }

  .bk-feat.is-flip .bk-feat__copy,
  .bk-feat.is-flip .bk-feat__media {
    order: initial;
  }

  .bk-feat__title {
    font-size: 1.35rem;
  }

  .bk-feat__sub {
    font-size: 0.98rem;
  }

  #bkAuto .bk-feat__title,
  #bkLine .bk-feat__title {
    justify-content: center;
  }

  #bkAuto .bk-feat__sub,
  #bkAuto .bk-feat__lead,
  #bkLine .bk-feat__sub,
  #bkLine .bk-feat__lead {
    text-align: center;
  }

  .bk-feat__pains {
    gap: 12px;
    margin-top: 20px;
  }

  #bkAuto .bk-feat__pains,
  #bkLine .bk-feat__pains,
  .bk-flex .bk-feat__pains {
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
    justify-items: start;
  }

  #bkAuto .bk-feat__callout,
  #bkLine .bk-feat__callout {
    display: flex;
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
  }

  #bkAuto .bk-feat__callout p,
  #bkLine .bk-feat__callout p {
    text-align: left;
  }

  .bk-feat__pain {
    flex-wrap: wrap;
  }

  .bk-feat__pain p {
    font-size: 0.9rem;
  }

  .bk-feat__lead {
    font-size: 0.9rem;
  }

  .bk-feat__callout {
    margin-top: 18px;
  }

  .bk-feat__callout p {
    font-size: 0.86rem;
  }

  .bk-feat__img.is-empty {
    aspect-ratio: 16 / 11;
  }

  #bkLine .bk-feat__img,
  #bkLine .bk-feat__img.img-ph {
    max-width: 280px;
  }

  .bk-flex {
    padding: 0 0 56px;
  }

  .bk-flex__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .bk-flex .bk-feat__title {
    justify-content: center;
  }

  .bk-flex .bk-feat__sub {
    text-align: center;
  }

  .bk-flex__leads p {
    font-size: 0.9rem;
    text-align: center;
  }

  .bk-flex__img,
  .bk-flex__img.img-ph {
    max-width: 420px;
    margin: 0 auto;
  }

  .bk-take {
    padding: 48px 0 0;
  }

  .bk-take .bk-feat__title {
    justify-content: center;
  }

  .bk-take__rows,
  .bk-take__checks {
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
    justify-items: start;
  }

  .bk-take__callout {
    display: flex;
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
  }

  .bk-take__callout p,
  .bk-take__checks span {
    text-align: left;
  }

  .bk-take__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .bk-take__row p {
    font-size: 0.88rem;
  }

  .bk-take__cards {
    gap: 8px;
    justify-content: center;
  }

  .bk-take__cards li {
    flex-basis: 78px;
    width: 78px;
    padding: 12px 4px 10px;
    border-radius: 12px;
  }

  .bk-take__ico,
  .bk-take__ico.img-ph {
    width: 32px;
    height: 32px;
  }

  .bk-take__cards p {
    font-size: 0.75rem;
  }

  .bk-take__checks span {
    font-size: 0.9rem;
  }

  .bk-take__callout p {
    font-size: 0.86rem;
  }

  .bk-take__img.is-empty {
    max-width: 220px;
  }

  .bk-sorts {
    padding: 48px 0 56px;
  }

  .bk-sort,
  .bk-sort.is-flip {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .bk-sort + .bk-sort {
    margin-top: 56px;
  }

  .bk-sort.is-flip .bk-sort__copy,
  .bk-sort.is-flip .bk-sort__media {
    order: initial;
  }

  .bk-sort__lead,
  .bk-sort__notes p {
    font-size: 0.9rem;
  }

  .bk-sort__em {
    font-size: 1.08rem;
  }

  #bkSort .bk-feat__title,
  #bkLineView .bk-feat__title,
  #bkRecall .bk-feat__title {
    justify-content: center;
  }

  #bkSort .bk-sort__lead,
  #bkSort .bk-sort__em,
  #bkSort .bk-sort__notes p,
  #bkLineView .bk-sort__lead,
  #bkLineView .bk-sort__em,
  #bkLineView .bk-sort__notes p,
  #bkRecall .bk-sort__lead,
  #bkRecall .bk-sort__em,
  #bkRecall .bk-sort__notes p {
    text-align: center;
  }

  #bkSort .bk-sort__callout,
  #bkLineView .bk-sort__callout,
  #bkRecall .bk-sort__callout {
    display: flex;
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
  }

  #bkSort .bk-sort__callout p,
  #bkLineView .bk-sort__callout p,
  #bkRecall .bk-sort__callout p {
    text-align: left;
  }

  .bk-sort__callout p {
    font-size: 0.86rem;
  }

  .bk-sort__img.is-empty {
    aspect-ratio: 16 / 11;
  }

  #bkLineView .bk-sort__img,
  #bkLineView .bk-sort__img.img-ph,
  #bkRecall .bk-sort__img,
  #bkRecall .bk-sort__img.img-ph {
    max-width: 280px;
  }

  .bk-more {
    padding: 48px 0 0;
  }

  .bk-more__title {
    font-size: 1.28rem;
  }

  .bk-more__sub {
    font-size: 0.98rem;
    padding-inline: 8px;
  }

  .bk-more__body,
  .bk-more__body.is-flip {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-top: 32px;
  }

  .bk-more__body.is-flip .bk-more__list,
  .bk-more__body.is-flip .bk-more__media {
    order: initial;
  }

  .bk-more__list {
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
  }

  .bk-more__list span {
    font-size: 0.95rem;
    text-align: left;
  }

  .bk-more__img.is-empty {
    max-width: 220px;
  }

  .bk-quote {
    padding: 40px 0 56px;
  }

  .bk-quote__text {
    font-size: 1.15rem;
    padding: 0.5em 1.2em 0.4em;
  }

  .bk-quote__text::before,
  .bk-quote__text::after {
    font-size: 1.7em;
  }

  .bk-quote__lines p {
    font-size: 0.9rem;
  }

  .bk-faq {
    padding: 36px 0 48px;
  }


  .bk-cta__inner {
    grid-template-columns: 1fr;
    gap: 20px;
    justify-items: center;
    text-align: center;
  }

  .bk-cta__copy {
    order: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 8px;
  }

  .bk-cta__media {
    order: 2;
    width: min(92%, 400px);
    justify-self: center;
  }

  .bk-cta__title {
    font-size: clamp(1.22rem, 4.8vw, 1.5rem);
  }

  .bk-cta__btn {
    min-height: 48px;
    padding: 0 16px 0 24px;
    font-size: 0.95rem;
  }
}


.hero--stored {
  --st: #0097a7;
}

.hero--stored .hero-slide__bg,
.hero--stored .hero-slide__bg.is-empty {
  background: #eef6f7;
}

.hero--stored .hero-slide__bg.is-empty::before,
.hero--stored .hero-slide__bg .img-ph__label,
.hero--stored .hero-slide__bg.is-empty .img-ph__label {
  display: none;
  content: none;
}

.hero--stored .hero-slide::after {
  display: none;
}

.hero--stored .hero-slide__content.st-hero__content {
  justify-content: flex-start;
  align-items: flex-start;
  color: #222;
  padding-block: clamp(36px, 5vw, 72px);
}

.st-hero__copy {
  position: relative;
  z-index: 2;
  max-width: min(520px, 92%);
  margin-top: clamp(28px, 5vw, 64px);
  min-width: 0;
  pointer-events: auto;
}

.st-hero__title {
  margin: 0;
  color: #333;
  font-size: clamp(1.8rem, 3.5vw, 2.5rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.38;
  -webkit-text-stroke: 6px #fff;
  paint-order: stroke fill;
}

.st-hero__title em {
  font-style: normal;
  color: #0094a4;
  -webkit-text-stroke: 6px #fff;
  paint-order: stroke fill;
}

.st-hero__desc {
  margin-top: 20px;
}

.st-hero__desc p {
  margin: 0;
  color: #777;
  font-size: clamp(1.05rem, 1.6vw, 1.2rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.7;
  -webkit-text-stroke: 4px #fff;
  paint-order: stroke fill;
}

.st-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 14px;
  min-height: 52px;
  padding: 0 30px 0 14px;
  border-radius: 999px;
  background: var(--st);
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  white-space: nowrap;
  pointer-events: auto;
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.st-hero__btn:hover,
.st-hero__btn:focus-visible {
  transform: translateY(-1px);
}

.st-hero__btn-go {
  position: relative;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
}

.st-hero__btn-go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--st);
  border-right: 2px solid var(--st);
  transform: translate(-50%, -50%) rotate(45deg);
}

.st-hero__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px 20px;
  margin-top: 28px;
}

.st-hero__feats {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  margin: 0;
  padding: 0;
  list-style: none;
}

.st-hero__feats li {
  display: flex;
  align-items: center;
}

.st-hero__feats li:not(:last-child)::after {
  content: "";
  width: 1px;
  height: 12px;
  margin: 0 12px;
  background: #c8c8c8;
}

.st-hero__feats p {
  margin: 0;
  color: #333;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.st-hero__ind {
  margin: 22px 0 0;
  color: #0094a4;
  font-size: 0.82rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
  -webkit-text-stroke: 4px #fff;
  paint-order: stroke fill;
}

.st-hero__pager .hero-dot.is-active {
  background: var(--st);
}

.st-hero__next {
  width: 18px;
  height: 18px;
  margin-left: 4px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  position: relative;
}

.st-hero__next::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 7px;
  height: 7px;
  border-top: 2px solid #8a8a8a;
  border-right: 2px solid #8a8a8a;
  transform: translate(-50%, -50%) rotate(45deg);
}

.st-why {
  --st: #0097a7;
  padding: 80px 0 0;
  background: #fff;
}

.st-why__title {
  margin: 0;
  color: #111;
  font-size: clamp(1.42rem, 2.6vw, 1.95rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-align: center;
}

.st-why__title em {
  font-style: normal;
  color: #0094a4;
}

.st-why__sub {
  margin: 18px 0 0;
  color: #333;
  font-size: clamp(1rem, 1.6vw, 1.12rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.7;
  text-align: center;
}

.st-why__lead {
  margin: 2px 0 0;
  color: #222;
  font-size: clamp(1.05rem, 1.7vw, 1.22rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.7;
  text-align: center;
}

.st-why__stage {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px) minmax(0, 1fr);
  grid-template-areas:
    "c1 phone c3"
    "c2 phone c4";
  gap: 20px 40px;
  align-items: center;
  margin-top: 28px;
}

.st-why__card--1 { grid-area: c1; justify-self: end; margin-right: 8px; }
.st-why__card--2 { grid-area: c2; justify-self: end; margin-right: 8px; }
.st-why__card--3 { grid-area: c3; justify-self: start; margin-left: 8px; }
.st-why__card--4 { grid-area: c4; justify-self: start; margin-left: 8px; }

.st-why__media {
  grid-area: phone;
  position: relative;
  top: 0;
  min-width: 0;
  justify-self: center;
  align-self: end;
  z-index: 0;
}

.st-why__card {
  position: relative;
  top: -20px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 186px;
  max-width: 100%;
  aspect-ratio: 1;
  padding: 20px 16px;
  background: #fff;
  border: 1px solid #d5e8ea;
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(0, 80, 90, 0.06);
}

.st-why__card::before,
.st-why__card::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

.st-why__card--l::before,
.st-why__card--l::after {
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.st-why__card--l::before {
  right: -15px;
  width: 16px;
  height: 22px;
  background: #d5e8ea;
}

.st-why__card--l::after {
  right: -14px;
  width: 15px;
  height: 20px;
  background: #fff;
}

.st-why__card--r::before,
.st-why__card--r::after {
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}

.st-why__card--r::before {
  left: -15px;
  width: 16px;
  height: 22px;
  background: #d5e8ea;
}

.st-why__card--r::after {
  left: -14px;
  width: 15px;
  height: 20px;
  background: #fff;
}

.st-why__ico,
.st-why__ico.img-ph {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  margin-inline: auto;
  border: 0;
  background: transparent;
  min-height: 0;
}

.st-why__ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.st-why__ico.is-empty {
  background: #e8f5f6;
  border-radius: 10px;
}

.st-why__ico.is-empty::before,
.st-why__ico .img-ph__label,
.st-why__ico.is-empty .img-ph__label {
  display: none;
  content: none;
}

.st-why__copy {
  min-width: 0;
  width: 100%;
  text-align: center;
}

.st-why__copy h3 {
  margin: 0 0 6px;
  color: #0094a4;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
}

.st-why__copy p {
  margin: 0;
  color: #333;
  font-size: 0.92rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.55;
  text-align: center;
}

.st-why__img,
.st-why__img.img-ph {
  width: 100%;
  max-width: 260px;
  margin-inline: auto;
  min-height: 0;
  border: 0;
  background: transparent;
}

.st-why__img img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
  transform: scale(1.22);
  transform-origin: center bottom;
}

.st-why__img.is-empty {
  aspect-ratio: 9 / 18;
  background: #eef4f5;
  border-radius: 32px;
}

.st-why__img.is-empty::before,
.st-why__img .img-ph__label,
.st-why__img.is-empty .img-ph__label {
  display: none;
  content: none;
}

.st-hook {
  --st: #0097a7;
  background: #f7f7f7;
  padding: 72px 0 120px;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 56px), 50% 100%, 0 calc(100% - 56px));
  margin-bottom: -28px;
}

.st-hook__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 40px 48px;
  align-items: center;
}

.st-hook__inner.is-flip .st-hook__media {
  order: 1;
}

.st-hook__inner.is-flip .st-hook__copy {
  order: 2;
}

.st-hook__copy {
  min-width: 0;
}

.st-hook__title {
  margin: 0;
  color: #111;
  font-size: clamp(1.48rem, 2.6vw, 2rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
}

.st-hook__title em {
  font-style: normal;
  color: #0094a4;
}

.st-hook__mark {
  position: relative;
  display: inline-block;
  padding-bottom: 8px;
}

.st-hook__mark::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4px;
  background: var(--st);
  border-radius: 999px;
}

.st-hook__leads {
  margin-top: 22px;
}

.st-hook__leads p {
  margin: 0;
  color: #555;
  font-size: clamp(0.98rem, 1.5vw, 1.08rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.85;
}

.st-hook__leads em {
  font-style: normal;
  color: #0094a4;
  font-weight: 700;
}

.st-hook__media {
  min-width: 0;
}

.st-hook__img,
.st-hook__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  background: transparent;
}

.st-hook__img img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.st-hook__img.is-empty {
  aspect-ratio: 4 / 3;
  background: #eef2f3;
  border-radius: 20px;
}

.st-hook__img.is-empty::before,
.st-hook__img .img-ph__label,
.st-hook__img.is-empty .img-ph__label {
  display: none;
  content: none;
}

.st-feats {
  --st: #0097a7;
  --st-coral: #e58989;
  padding: 80px 0 88px;
  background: #fff;
}

.st-feat {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 40px 48px;
  align-items: center;
}

.st-feat + .st-feat {
  margin-top: 88px;
}

.st-feat.is-flip {
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.st-feat.is-flip .st-feat__media {
  order: 1;
}

.st-feat.is-flip .st-feat__copy {
  order: 2;
}

.st-feat__copy {
  min-width: 0;
}

.st-feat__title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  color: #333;
  font-size: clamp(1.42rem, 2.4vw, 1.85rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
}

.st-feat__title::before {
  content: "";
  flex: 0 0 5px;
  width: 5px;
  height: 1.05em;
  background: #333;
  border-radius: 1px;
}

.st-feat__sub {
  margin: 14px 0 0;
  color: #0094a4;
  font-size: clamp(1.05rem, 1.7vw, 1.22rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.st-feat__pain {
  margin: 14px 0 0;
  color: var(--st-coral);
  font-size: clamp(1rem, 1.55vw, 1.12rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.st-feat__em {
  margin: 12px 0 0;
  color: #0094a4;
  font-size: clamp(1.12rem, 1.9vw, 1.38rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.st-feat__lead {
  margin: 12px 0 0;
  color: #666;
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.75;
}

.st-feat__bars {
  display: grid;
  gap: 10px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.st-feat__bars li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: #f5f6f7;
  border-radius: 10px;
}

.st-feat__bars p {
  margin: 0;
  color: #555;
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.st-feat__bars b {
  color: #0094a4;
  font-weight: 700;
}

.st-feat__checks {
  display: grid;
  gap: 14px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.st-feat__checks li {
  display: flex;
  align-items: center;
  gap: 10px;
}

.st-feat__checks span {
  color: #444;
  font-size: 0.98rem;
  font-weight: 400;
  letter-spacing: 0.02em;
}

.st-feat__tick,
.st-feat__tick.img-ph {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  min-height: 0;
}

.st-feat__tick img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.st-feat__tick.is-empty {
  background: var(--st);
}

.st-feat__tick.is-empty::before {
  content: "✓";
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  height: 100%;
}

.st-feat__tick .img-ph__label,
.st-feat__tick.is-empty .img-ph__label {
  display: none;
}

.st-feat__media {
  min-width: 0;
}

.st-feat__img,
.st-feat__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  background: transparent;
}

.st-feat__img img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.st-feat__img.is-empty {
  aspect-ratio: 4 / 3;
  background: #f3f6f7;
  border-radius: 16px;
}

.st-feat__img.is-empty::before,
.st-feat__img .img-ph__label,
.st-feat__img.is-empty .img-ph__label {
  display: none;
  content: none;
}

.st-gift {
  --st: #0097a7;
  padding: 80px 0 0;
  background: #f7f7f7;
}

.st-gift__title {
  margin: 0;
  color: #0094a4;
  font-size: clamp(1.7rem, 3vw, 2.15rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-align: center;
}

.st-gift__sub {
  margin: 6px 0 0;
  color: #333;
  font-size: clamp(1.16rem, 1.9vw, 1.38rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.35;
  text-align: center;
}

.st-gift__rule {
  width: min(68%, 620px);
  height: 1px;
  margin: 22px auto 20px;
  border: 0;
  background: #ddd;
}

.st-gift__lead {
  margin: 0;
  color: #555;
  font-size: clamp(1.08rem, 1.65vw, 1.22rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  text-align: center;
}

.st-gift__flags {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 28px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

.st-gift__flags li {
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.st-gift__tick,
.st-gift__tick.img-ph {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  min-height: 0;
}

.st-gift__tick img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.st-gift__tick.is-empty {
  background: var(--st);
}

.st-gift__tick.is-empty::before {
  content: "✓";
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  height: 100%;
}

.st-gift__tick .img-ph__label,
.st-gift__tick.is-empty .img-ph__label {
  display: none;
  content: none;
}

.st-gift__flags span {
  color: #444;
  font-size: 1.05rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.st-gift__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 40px 36px;
  align-items: center;
  margin-top: 48px;
}

.st-gift__flow {
  min-width: 0;
  max-width: 420px;
  margin-inline: 0;
  justify-self: end;
}

.st-gift__steps {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.st-gift__step {
  display: block;
  width: 100%;
  padding: 0;
}

.st-gift__step + .st-gift__step {
  position: relative;
  margin-top: 28px;
}

.st-gift__step + .st-gift__step::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -21px;
  width: 22px;
  height: 14px;
  background: #c4c4c4;
  transform: translateX(-50%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.st-gift__step-img,
.st-gift__step-img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 0;
}

.st-gift__step-img img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.st-gift__step-img.is-empty {
  aspect-ratio: 16 / 3;
  background: #e8e8e8;
  border-radius: 999px;
}

.st-gift__step-img.is-empty::before,
.st-gift__step-img .img-ph__label,
.st-gift__step-img.is-empty .img-ph__label {
  display: none;
  content: none;
}

.st-gift__foot {
  margin: 20px 0 0;
  color: #222;
  font-size: 0.92rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  text-align: center;
}

.st-gift__foot-em {
  margin: 4px 0 0;
  color: #222;
  font-size: 0.92rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  text-align: center;
}

.st-gift__media {
  min-width: 0;
  align-self: end;
  justify-self: start;
  text-align: left;
}

.st-gift__img,
.st-gift__img.img-ph {
  width: 100%;
  max-width: 320px;
  margin-inline: 0 auto;
  min-height: 0;
  border: 0;
  background: transparent;
}

.st-gift__img img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  vertical-align: bottom;
}

.st-gift__img.is-empty {
  aspect-ratio: 9 / 17;
  max-width: 260px;
  background: #eef4f5;
  border-radius: 28px;
  border: 3px solid var(--st);
}

.st-gift__img.is-empty::before,
.st-gift__img .img-ph__label,
.st-gift__img.is-empty .img-ph__label {
  display: none;
  content: none;
}


.st-cases {
  --st-case: #0097a7;
  --st-case-line: #9fd0d6;
  --st-case-grad: linear-gradient(180deg, #e6f5f6 0%, #f4fbfb 100%);
  padding: 72px 0 88px;
  background: #fff;
}

.st-cases__title {
  position: relative;
  margin: 0 0 36px;
  padding-left: 16px;
  color: #2a2a2a;
  font-size: clamp(1.48rem, 2.4vw, 1.82rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.35;
}

.st-cases__title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.18em;
  bottom: 0.18em;
  width: 5px;
  border-radius: 2px;
  background: var(--st);
}

.st-case {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr);
  gap: 48px 56px;
  align-items: center;
}

.st-case + .st-case {
  margin-top: 88px;
}

.st-case.is-flip .st-case__media {
  order: 1;
}

.st-case.is-flip .st-case__copy {
  order: 2;
}

.st-case--beauty {
  --st-case: #e57d7d;
  --st-case-line: #f0c4c4;
  --st-case-grad: linear-gradient(180deg, #fdeeee 0%, #fff6f6 100%);
}

.st-case__copy {
  min-width: 0;
}

.st-case__head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
}

.st-case__ico,
.st-case__ico.img-ph {
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  border: 0;
  background: transparent;
}

.st-case__ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.st-case__ico.is-empty {
  border-radius: 50%;
  background: var(--st-case);
}

.st-case__ico.is-empty::before,
.st-case__ico .img-ph__label,
.st-case__ico.is-empty .img-ph__label {
  display: none;
  content: none;
}

.st-case__tag {
  margin: 0 0 4px;
  color: var(--st-case);
  font-size: 0.98rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.3;
}

.st-case__name {
  margin: 0;
  color: var(--st-case);
  font-size: clamp(1.28rem, 2vw, 1.52rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.35;
}

.st-case__box {
  position: relative;
  margin-top: 22px;
  padding: 26px 22px 20px;
  border-radius: 16px;
}

.st-case__box--sample {
  border: 1.5px solid var(--st-case);
  background: #fff;
}

.st-case__box--effect {
  border: 0;
  background: var(--st-case-grad);
}

.st-case__badge {
  position: absolute;
  top: 0;
  left: 18px;
  transform: translateY(-50%);
  padding: 5px 16px;
  border-radius: 999px;
  background: var(--st-case);
  color: #fff;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.3;
  white-space: nowrap;
}

.st-case__box--effect .st-case__badge {
  background: #007a88;
}

.st-case--beauty .st-case__box--effect .st-case__badge {
  background: #d46a6a;
}

.st-case__sample {
  display: flex;
  align-items: center;
  gap: 12px;
}

.st-case__sample p {
  margin: 0;
  color: #555;
  font-size: 1.02rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.st-case__sample em {
  margin: 0 2px;
  color: var(--st-case);
  font-style: normal;
  font-size: 1.28rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.st-case__coin,
.st-case__coin.img-ph,
.st-case__chart,
.st-case__chart.img-ph {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
}

.st-case__chart,
.st-case__chart.img-ph {
  flex: 0 0 58px;
  width: 58px;
  height: 58px;
}

.st-case__coin img,
.st-case__chart img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.st-case__coin.is-empty,
.st-case__chart.is-empty {
  border-radius: 50%;
  background: var(--st-case);
}

.st-case__coin.is-empty::before,
.st-case__coin .img-ph__label,
.st-case__coin.is-empty .img-ph__label,
.st-case__chart.is-empty::before,
.st-case__chart .img-ph__label,
.st-case__chart.is-empty .img-ph__label {
  display: none;
  content: none;
}

.st-case__effect {
  display: flex;
  align-items: center;
  gap: 16px;
}

.st-case__fx {
  min-width: 0;
}

.st-case__fx-main {
  margin: 0;
  color: #444;
  font-size: 1.08rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.45;
}

.st-case__fx-main em {
  color: var(--st-case);
  font-style: normal;
  font-weight: 700;
}

.st-case__fx-sub {
  margin: 4px 0 0;
  color: #222;
  font-size: 0.88rem;
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.55;
}

.st-case__fx-quote {
  margin: 12px 0 0;
  padding-top: 12px;
  border-top: 1px dotted var(--st-case-line);
  color: var(--st-case);
  font-size: 0.98rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1.5;
}

.st-case__foot {
  margin: 18px 0 0;
  color: var(--st-case);
  font-size: 0.98rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.5;
}

.st-case__media {
  min-width: 0;
}

.st-case__img,
.st-case__img.img-ph {
  width: 100%;
  min-height: 0;
  overflow: hidden;
  border: 4px solid var(--st-case);
  border-radius: 20px;
  background: #eef4f5;
}

.st-case--beauty .st-case__img.is-empty {
  background: #f8ecec;
}

.st-case__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.st-case__img.is-empty {
  aspect-ratio: 4 / 3;
}

.st-case__img.is-empty::before,
.st-case__img .img-ph__label,
.st-case__img.is-empty .img-ph__label {
  display: none;
  content: none;
}


.st-quote {
  --st-quote: #0097a7;
  padding: 64px 0 80px;
  background: #f7f7f7;
  text-align: center;
}

.st-quote__text {
  position: relative;
  display: inline-block;
  margin: 0 auto;
  max-width: 920px;
  padding: 0.4em 1.6em 0.3em;
  color: #0094a4;
  font-size: clamp(1.36rem, 2.6vw, 1.82rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.st-quote__text::before,
.st-quote__text::after {
  position: absolute;
  color: #0094a4;
  font-family: Georgia, "Times New Roman", "Noto Serif TC", serif;
  font-size: 2.1em;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
}

.st-quote__text::before {
  content: "\201C";
  left: 0.02em;
  top: -0.12em;
}

.st-quote__text::after {
  content: "\201D";
  right: 0.02em;
  bottom: -0.38em;
}

.st-quote__lines {
  margin-top: 22px;
}

.st-quote__lines p {
  margin: 0;
  color: #4a4a4a;
  font-size: clamp(0.98rem, 1.6vw, 1.12rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.85;
}


.st-faq {
  --st: #0097a7;
  padding: 48px 0 72px;
}



.st-cta {
  --st: #0097a7;
  background: #fff;
  padding: clamp(40px, 5vw, 72px) 0 0;
  overflow: hidden;
}

.st-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.1fr);
  gap: clamp(20px, 4vw, 56px);
  align-items: end;
  width: min(100% - 32px, 1180px);
  margin-inline: auto;
}

.st-cta__media {
  justify-self: start;
  align-self: end;
  width: min(100%, 520px);
  margin-bottom: 0;
  line-height: 0;
}

.st-cta__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.st-cta__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  vertical-align: bottom;
}

.st-cta__img.is-empty {
  min-height: 360px;
  background: linear-gradient(160deg, #e6f6f8, #fff 55%);
  border-radius: 24px 24px 0 0;
}

.st-cta__img.is-empty::before,
.st-cta__img .img-ph__label,
.st-cta__img.is-empty .img-ph__label {
  display: none;
  content: none;
}

.st-cta__copy {
  min-width: 0;
  padding-bottom: clamp(36px, 5vw, 72px);
  text-align: center;
}

.st-cta__title {
  margin: 0 0 20px;
  color: #333;
  font-size: clamp(1.42rem, 2.5vw, 1.82rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.st-cta__title em {
  color: #0094a4;
  font-style: normal;
}

.st-cta__lead {
  margin: 0 0 36px;
  color: #313131;
  font-size: clamp(0.98rem, 1.55vw, 1.12rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
}

.st-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 52px;
  padding: 0 18px 0 32px;
  border-radius: 999px;
  background: var(--st);
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.st-cta__btn:hover,
.st-cta__btn:focus-visible {
  transform: translateY(-1px);
}

.st-cta__btn-go {
  position: relative;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
}

.st-cta__btn-go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--st);
  border-right: 2px solid var(--st);
  transform: translate(-50%, -50%) rotate(45deg);
}

@media (max-width: 900px) {
  .hero--stored .hero-slide::after {
    display: none;
  }

  .hero--stored .hero-slide__content.st-hero__content,
  .hero--features.hero--stored .hero-slide__content {
    justify-content: flex-start;
    align-items: flex-start;
    text-align: left;
    padding-inline: 16px;
    padding-block: 28px 56px;
  }

  .st-hero__copy {
    width: 100%;
    max-width: min(100%, 360px);
    margin-top: 56px;
  }

  .st-hero__title {
    font-size: 1.52rem;
  }

  .st-hero__desc p {
    font-size: 0.95rem;
  }

  .st-hero__btn {
    min-height: 48px;
    font-size: 0.95rem;
    padding: 0 22px 0 12px;
  }

  .st-hero__ind {
    width: 100%;
    font-size: 0.78rem;
  }

  .st-why {
    padding: 48px 0 0;
  }

  .st-why__title {
    font-size: 1.28rem;
  }

  .st-why__sub,
  .st-why__lead {
    font-size: 0.95rem;
    padding-inline: 8px;
  }

  .st-why__stage {
    grid-template-columns: auto auto;
    grid-template-areas:
      "c1 c2"
      "c3 c4"
      "phone phone";
    justify-content: center;
    justify-items: center;
    column-gap: 12px;
    row-gap: 16px;
    margin-top: 20px;
  }

  .st-why__card {
    width: 156px;
    height: 156px;
    aspect-ratio: 1;
    padding: 12px 10px;
    gap: 6px;
    top: 0;
    overflow: hidden;
  }

  .st-why__ico,
  .st-why__ico.img-ph {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
  }

  .st-why__copy h3 {
    margin-bottom: 2px;
    font-size: 0.92rem;
  }

  .st-why__copy p {
    font-size: 0.78rem;
    line-height: 1.35;
  }

  .st-why__card--1,
  .st-why__card--2,
  .st-why__card--3,
  .st-why__card--4 {
    justify-self: center;
    margin-left: 0;
    margin-right: 0;
  }

  .st-why__card--l::before,
  .st-why__card--l::after,
  .st-why__card--r::before,
  .st-why__card--r::after {
    display: none;
  }

  .st-why__media {
    margin-top: 16px;
    align-self: start;
  }

  .st-why__img img {
    transform: none;
  }

  .st-why__img.is-empty {
    max-width: 220px;
  }

  .st-hook {
    clip-path: none;
    padding: 48px 16px 56px;
    margin-bottom: 0;
  }

  .st-hook__inner,
  .st-hook__inner.is-flip {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .st-hook__inner.is-flip .st-hook__copy,
  .st-hook__inner.is-flip .st-hook__media {
    order: initial;
  }

  .st-hook__title {
    font-size: 1.32rem;
    text-align: center;
  }

  .st-hook__leads p {
    font-size: 0.92rem;
    text-align: center;
  }

  .st-feats {
    padding: 48px 0 56px;
  }

  .st-feat,
  .st-feat.is-flip {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .st-feat + .st-feat {
    margin-top: 56px;
  }

  .st-feat.is-flip .st-feat__copy,
  .st-feat.is-flip .st-feat__media {
    order: initial;
  }

  .st-feat__title {
    font-size: 1.32rem;
  }

  .st-feat__sub,
  .st-feat__em {
    font-size: 1.02rem;
  }

  #stPlan .st-feat__title,
  #stPay .st-feat__title {
    justify-content: center;
  }

  #stPlan .st-feat__sub,
  #stPay .st-feat__pain,
  #stPay .st-feat__em,
  #stPay .st-feat__lead {
    text-align: center;
  }

  #stPay .st-feat__checks {
    grid-template-columns: auto auto;
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
    justify-items: start;
    column-gap: 16px;
    row-gap: 12px;
  }

  #stPay .st-feat__checks li {
    min-width: 0;
  }

  #stPay .st-feat__checks span {
    text-align: left;
    white-space: normal;
  }

  .st-feat__pain,
  .st-feat__lead,
  .st-feat__bars p,
  .st-feat__checks span {
    font-size: 0.9rem;
  }

  .st-gift {
    padding: 48px 0 0;
  }

  .st-gift__title {
    font-size: 1.48rem;
  }

  .st-gift__sub {
    font-size: 1.1rem;
  }

  .st-gift__flags {
    gap: 10px;
  }

  .st-gift__flags span {
    font-size: 0.86rem;
  }

  .st-gift__body {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-top: 32px;
  }

  .st-gift__flow {
    justify-self: center;
    margin-inline: auto;
  }

  .st-gift__media {
    justify-self: center;
    text-align: center;
  }

  .st-gift__img,
  .st-gift__img.img-ph {
    margin-inline: auto;
  }

  .st-gift__step + .st-gift__step {
    margin-top: 24px;
  }

  .st-gift__img.is-empty {
    max-width: 220px;
  }

  .st-cases {
    padding: 48px 0 64px;
  }

  .st-cases__title {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.32rem;
    margin-bottom: 28px;
    padding-left: 0;
    text-align: center;
  }

  .st-cases__title::before {
    position: static;
    flex: 0 0 5px;
    height: 1.05em;
    margin-right: 12px;
    top: auto;
    bottom: auto;
  }

  .st-case,
  .st-case.is-flip {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .st-case + .st-case {
    margin-top: 56px;
  }

  .st-case.is-flip .st-case__copy,
  .st-case.is-flip .st-case__media {
    order: initial;
  }

  .st-case__name {
    font-size: 1.22rem;
  }

  .st-case__sample p {
    font-size: 0.92rem;
  }

  .st-case__sample em {
    font-size: 1.1rem;
  }

  .st-case__fx-main {
    font-size: 0.98rem;
  }

  .st-case__fx-sub,
  .st-case__fx-quote,
  .st-case__foot {
    font-size: 0.86rem;
  }

  .st-case__foot {
    text-align: center;
  }

  .st-quote {
    padding: 40px 0 52px;
  }

  .st-quote__text {
    font-size: 1.18rem;
    padding: 0.45em 1.35em 0.35em;
  }

  .st-quote__text::before,
  .st-quote__text::after {
    font-size: 1.7em;
  }

  .st-quote__lines {
    margin-top: 16px;
  }

  .st-quote__lines p {
    font-size: 0.9rem;
  }

  .st-faq {
    padding: 36px 0 48px;
  }


  .st-cta__inner {
    grid-template-columns: 1fr;
    gap: 20px;
    justify-items: center;
    text-align: center;
  }

  .st-cta__copy {
    order: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 8px;
  }

  .st-cta__media {
    width: min(92%, 400px);
    order: 2;
    justify-self: center;
  }

  .st-cta__title {
    font-size: clamp(1.22rem, 4.8vw, 1.55rem);
  }

  .st-cta__lead {
    font-size: clamp(0.92rem, 3.5vw, 1.05rem);
    margin-bottom: 28px;
  }

  .st-cta__btn {
    min-height: 48px;
    padding: 0 16px 0 28px;
    font-size: 1rem;
  }
}


.hero--consultant {
  --cn: #0097a7;
}

.hero--consultant .hero-slide__bg,
.hero--consultant .hero-slide__bg.is-empty {
  background: #f4f6f7;
}

.hero--consultant .hero-slide__bg.is-empty::before,
.hero--consultant .hero-slide__bg .img-ph__label,
.hero--consultant .hero-slide__bg.is-empty .img-ph__label {
  display: none;
  content: none;
}

.hero--consultant .hero-slide::after {
  display: none;
}

.hero--consultant .hero-slide__content.cn-hero__content {
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  color: #222;
  padding-block: clamp(36px, 5vw, 72px);
}

.cn-hero__copy {
  position: relative;
  z-index: 2;
  max-width: min(560px, 92%);
  margin-top: clamp(28px, 5vw, 64px);
  min-width: 0;
  pointer-events: auto;
}

.cn-hero__eyebrow {
  margin: 0 0 10px;
  color: #0094a4;
  font-size: clamp(1.02rem, 1.7vw, 1.22rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4;
}

.cn-hero__rule {
  display: block;
  width: 56px;
  height: 4px;
  margin: 0 0 22px;
  background: var(--cn);
  border-radius: 999px;
}

.cn-hero__title {
  margin: 0;
  color: #222;
  font-size: clamp(1.7rem, 3.4vw, 2.45rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.cn-hero__title em {
  font-style: normal;
  color: #0094a4;
}

.cn-hero__sub {
  margin: 22px 0 0;
  color: #222;
  font-size: clamp(1.05rem, 1.8vw, 1.28rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.55;
}

.cn-hero__desc {
  margin: 12px 0 28px;
  color: #555;
  font-size: clamp(0.95rem, 1.5vw, 1.08rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.7;
}

.cn-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 50px;
  padding: 0 16px 0 28px;
  border-radius: 999px;
  background: var(--cn);
  color: #fff;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none;
  pointer-events: auto;
  transition: transform 0.3s var(--ease);
}

.cn-hero__btn:hover,
.cn-hero__btn:focus-visible {
  transform: translateY(-1px);
}

.cn-hero__btn-go {
  position: relative;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
}

.cn-hero__btn-go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--cn);
  border-right: 2px solid var(--cn);
  transform: translate(-50%, -50%) rotate(45deg);
}

.cn-hero__pager .hero-dot.is-active {
  background: var(--cn);
}

.cn-why {
  --cn: #0097a7;
  padding: 80px 0 88px;
  background: #fff;
}

.cn-why__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 40px 48px;
  align-items: center;
}

.cn-why__copy {
  min-width: 0;
}

.cn-why__title {
  margin: 0;
  color: #222;
  font-size: clamp(1.48rem, 2.6vw, 2.05rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.cn-why__title em {
  font-style: normal;
  color: #0094a4;
}

.cn-why__rule {
  display: block;
  width: 56px;
  height: 4px;
  margin: 16px 0 22px;
  background: var(--cn);
  border-radius: 999px;
}

.cn-why__lead {
  margin: 0 0 22px;
  color: #777;
  font-size: clamp(0.98rem, 1.5vw, 1.08rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.85;
}

.cn-why__know {
  margin: 0 0 16px;
  color: #222;
  font-size: clamp(1.02rem, 1.6vw, 1.15rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.6;
}

.cn-why__checks {
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}

.cn-why__checks li {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cn-why__checks li + li {
  margin-top: 10px;
}

.cn-why__tick,
.cn-why__tick.img-ph,
.cn-why__chart,
.cn-why__chart.img-ph {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.cn-why__chart,
.cn-why__chart.img-ph,
.cn-why__chart img {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border-radius: 0;
}

.cn-why__tick img,
.cn-why__chart img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.cn-why__tick.is-empty,
.cn-why__chart.is-empty {
  border-radius: 50%;
  background: var(--cn);
}

.cn-why__tick.is-empty::before,
.cn-why__tick .img-ph__label,
.cn-why__tick.is-empty .img-ph__label,
.cn-why__chart.is-empty::before,
.cn-why__chart .img-ph__label,
.cn-why__chart.is-empty .img-ph__label {
  display: none;
  content: none;
}

.cn-why__checks span {
  color: #222;
  font-size: clamp(1rem, 1.55vw, 1.12rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.cn-why__callout {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
  padding: 12px 32px 12px 18px;
  background: #e6f4f5;
  border-radius: 16px;
  max-width: 100%;
}

.cn-why__callout p,
.cn-why__callout p span {
  margin: 0;
  color: #0094a4;
  font-size: 1.08rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.cn-why__media {
  min-width: 0;
  text-align: center;
}

.cn-why__img,
.cn-why__img.img-ph {
  width: 100%;
  max-width: 560px;
  margin-inline: auto;
  min-height: 0;
  border: 0;
  background: transparent;
}

.cn-why__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.cn-why__img.is-empty {
  aspect-ratio: 5 / 4;
  background: #eef4f5;
  border-radius: 20px;
}

.cn-why__img.is-empty::before,
.cn-why__img .img-ph__label,
.cn-why__img.is-empty .img-ph__label {
  display: none;
  content: none;
}


.cn-pains {
  --cn: #0097a7;
  padding: 72px 0 80px;
  background: #f7f7f7;
}

.cn-pains__title {
  margin: 0 0 40px;
  color: #222;
  font-size: clamp(1.48rem, 2.6vw, 2rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
  text-align: center;
}

.cn-pains__title em {
  font-style: normal;
  color: #0094a4;
}

.cn-pains__list {
  max-width: 680px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.cn-pains__row {
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 22px 4px;
  border-bottom: 1px solid #111;
}

.cn-pains__row:last-child {
  border-bottom: 0;
}

.cn-pains__tag {
  flex: 0 0 78px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 38px;
  border: 1.5px solid var(--cn);
  border-radius: 8px;
  color: #0094a4;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.cn-pains__copy {
  min-width: 0;
}

.cn-pains__q {
  margin: 0;
  color: #222;
  font-size: clamp(1.12rem, 1.75vw, 1.28rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.cn-pains__q em {
  font-style: normal;
  color: #0094a4;
}

.cn-pains__sub {
  margin: 6px 0 0;
  color: #777;
  font-size: clamp(0.96rem, 1.5vw, 1.08rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.65;
}


.cn-scope {
  --cn: #0097a7;
  padding: 80px 0 88px;
  background: #fff;
}

.cn-scope__title {
  margin: 0;
  color: #222;
  font-size: clamp(1.42rem, 2.5vw, 1.92rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-align: center;
}

.cn-scope__title em {
  font-style: normal;
  color: #0094a4;
}

.cn-scope__dia,
.cn-scope__dia.img-ph {
  display: block;
  width: auto;
  max-width: 160px;
  height: auto;
  min-height: 0;
  margin: 16px auto 48px;
  border: 0;
  background: transparent;
}

.cn-scope__dia img {
  display: block;
  width: 100%;
  height: auto;
  margin-inline: auto;
}

.cn-scope__dia.is-empty {
  width: 112px;
  height: 18px;
  background: #e8f3f6;
  border-radius: 999px;
}

.cn-scope__dia .img-ph__label,
.cn-scope__dia.is-empty .img-ph__label {
  display: none;
}

.cn-feat {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 40px 56px;
  align-items: center;
}

.cn-feat + .cn-feat {
  margin-top: 80px;
}

.cn-feat.is-flip .cn-feat__media {
  order: 1;
}

.cn-feat.is-flip .cn-feat__copy {
  order: 2;
}

.cn-feat__copy {
  min-width: 0;
}

.cn-feat__label {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0 0 16px;
  color: #0094a4;
  font-size: clamp(1.5rem, 2.5vw, 1.95rem);
  font-weight: 700;
  line-height: 1.3;
}

.cn-feat__slash,
.cn-feat__slash.img-ph {
  width: 38px;
  height: 46px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  min-height: 0;
}

.cn-feat__slash img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.cn-feat__slash.is-empty {
  width: 10px;
  height: 46px;
  background: var(--cn);
  transform: skewX(-18deg);
  border-radius: 2px;
}

.cn-feat__slash .img-ph__label,
.cn-feat__slash.is-empty .img-ph__label {
  display: none;
}

.cn-feat__head {
  margin: 0;
  color: #222;
  font-size: clamp(1.12rem, 1.8vw, 1.32rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.cn-feat__lead {
  margin: 12px 0 0;
  color: #777;
  font-size: clamp(0.92rem, 1.4vw, 1.02rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
}

.cn-feat__checks {
  display: grid;
  gap: 12px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.cn-feat__checks li {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cn-feat__tick,
.cn-feat__tick.img-ph {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.cn-feat__tick img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.cn-feat__tick.is-empty {
  border-radius: 50%;
  background: var(--cn);
}

.cn-feat__tick.is-empty::before,
.cn-feat__tick .img-ph__label,
.cn-feat__tick.is-empty .img-ph__label {
  display: none;
  content: none;
}

.cn-feat__checks span {
  color: #444;
  font-size: clamp(0.95rem, 1.45vw, 1.05rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.cn-feat__media {
  min-width: 0;
  text-align: center;
}

.cn-feat__img,
.cn-feat__img.img-ph {
  width: 100%;
  max-width: 480px;
  margin-inline: auto;
  min-height: 0;
  border: 0;
  background: transparent;
}

.cn-feat.is-flip .cn-feat__img,
.cn-feat.is-flip .cn-feat__img.img-ph {
  max-width: 520px;
}

.cn-feat__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.cn-feat__img.is-empty {
  aspect-ratio: 4 / 3;
  background: #eef4f5;
  border-radius: 20px;
}

.cn-feat__img.is-empty::before,
.cn-feat__img .img-ph__label,
.cn-feat__img.is-empty .img-ph__label {
  display: none;
  content: none;
}

.cn-feat--oval .cn-feat__img,
.cn-feat--oval .cn-feat__img.img-ph {
  max-width: 540px;
  overflow: hidden;
  -webkit-mask-image: radial-gradient(ellipse 70% 56% at 50% 50%, #000 48%, transparent 78%);
  mask-image: radial-gradient(ellipse 70% 56% at 50% 50%, #000 48%, transparent 78%);
}

.cn-feat--oval .cn-feat__img img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.cn-feat--oval .cn-feat__img.is-empty {
  aspect-ratio: 16 / 10;
  border-radius: 50%;
}


.cn-cmp {
  --cn: #0097a7;
  padding: 24px 0 96px;
  background: #fff;
}

.cn-cmp__title {
  margin: 0;
  color: #222;
  font-size: clamp(1.36rem, 2.4vw, 1.82rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-align: center;
}

.cn-cmp__title em {
  font-style: normal;
  color: #0094a4;
}

.cn-cmp__rule,
.cn-cmp__rule.img-ph {
  display: block;
  width: auto;
  max-width: 160px;
  height: auto;
  min-height: 0;
  margin: 16px auto 56px;
  border: 0;
  background: transparent;
}

.cn-cmp__rule img {
  display: block;
  width: 100%;
  height: auto;
  margin-inline: auto;
}

.cn-cmp__rule.is-empty {
  width: 112px;
  height: 18px;
  background: #e8f3f6;
  border-radius: 999px;
}

.cn-cmp__rule .img-ph__label,
.cn-cmp__rule.is-empty .img-ph__label {
  display: none;
}

.cn-cmp__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 96px minmax(0, 1fr);
  gap: 0 12px;
  align-items: stretch;
  max-width: 980px;
  margin: 0 auto;
}

.cn-cmp__card {
  position: relative;
  padding: 52px 32px 36px;
  border-radius: 22px;
  background: #fff;
}

.cn-cmp__card--was {
  border: 1.5px solid #e0e0e0;
  background: #f3f3f3;
}

.cn-cmp__card--now {
  border: 1.5px solid var(--cn);
  background: #fff;
}

.cn-cmp__tag {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 9px 24px;
  border-radius: 999px;
  color: #fff;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.3;
  white-space: nowrap;
}

.cn-cmp__card--was .cn-cmp__tag {
  background: #6a6a6a;
}

.cn-cmp__card--now .cn-cmp__tag {
  background: var(--cn);
}

.cn-cmp__steps {
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.cn-cmp__step {
  display: flex;
  align-items: center;
  gap: 16px;
}

.cn-cmp__step:not(:last-child) {
  margin-bottom: 8px;
  padding-bottom: 28px;
}

.cn-cmp__rail {
  position: relative;
  flex: 0 0 56px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cn-cmp__step:not(:last-child) .cn-cmp__rail::after {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(100% + 10px);
  width: 10px;
  height: 10px;
  border-right: 2px solid #c8c8c8;
  border-bottom: 2px solid #c8c8c8;
  transform: translateX(-50%) rotate(45deg);
}

.cn-cmp__card--now .cn-cmp__step:not(:last-child) .cn-cmp__rail::after {
  border-color: var(--cn);
}

.cn-cmp__ico,
.cn-cmp__ico.img-ph {
  width: 56px;
  height: 56px;
  margin: 0;
  border: 0;
  background: transparent;
  min-height: 0;
}

.cn-cmp__ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.cn-cmp__card--was .cn-cmp__ico.is-empty {
  background: #ececec;
  border-radius: 50%;
}

.cn-cmp__card--now .cn-cmp__ico.is-empty {
  background: #e8f4f5;
  border-radius: 50%;
}

.cn-cmp__ico.is-empty::before,
.cn-cmp__ico .img-ph__label,
.cn-cmp__ico.is-empty .img-ph__label {
  display: none;
  content: none;
}

.cn-cmp__txt {
  min-width: 0;
  text-align: left;
}

.cn-cmp__strong {
  margin: 0;
  color: #222;
  font-size: 1.12rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.45;
}

.cn-cmp__line {
  margin: 0;
  color: #222;
  font-size: 0.98rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.6;
}

.cn-cmp__line em,
.cn-cmp__card--now .cn-cmp__line em {
  font-style: normal;
  color: #0094a4;
  font-weight: 700;
}

.cn-cmp__sub {
  margin: 4px 0 0;
  color: #888;
  font-size: 0.9rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.cn-cmp__mid,
.cn-cmp__mid.img-ph {
  align-self: center;
  position: relative;
  z-index: 1;
  width: 110px;
  height: auto;
  min-height: 0;
  margin: 0 auto;
  border: 0;
  background: transparent;
}

.cn-cmp__mid img {
  display: block;
  width: 100%;
  height: auto;
}

.cn-cmp__mid.is-empty {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: var(--cn);
}

.cn-cmp__mid .img-ph__label,
.cn-cmp__mid.is-empty .img-ph__label {
  display: none;
}


.cn-roles {
  --cn: #0097a7;
  --cn-adv: #ee7b60;
  padding: 72px 0 80px;
  background: #f7f7f7;
}

.cn-roles__title {
  margin: 0 0 40px;
  color: #222;
  font-size: clamp(1.36rem, 2.4vw, 1.82rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-align: center;
}

.cn-roles__title em {
  font-style: normal;
  color: #0094a4;
}

.cn-roles__cols {
  display: grid;
  grid-template-columns: 328px 328px;
  justify-content: center;
  gap: 36px 56px;
  margin: 0 auto;
}

.cn-roles__col--sys {
  --role: var(--cn);
  --role-soft: #e8f4f5;
  --role-line: #d5e8ea;
}

.cn-roles__col--adv {
  --role: var(--cn-adv);
  --role-soft: #fdecea;
  --role-line: #f5d4cc;
}

.cn-roles__head {
  display: flex;
  align-items: center;
  margin: 0 0 18px;
}

.cn-roles__hico,
.cn-roles__hico.img-ph {
  position: relative;
  z-index: 1;
  flex: 0 0 68px;
  width: 68px;
  height: 68px;
  border: 2px solid var(--role);
  border-radius: 50%;
  background: #fff;
  min-height: 0;
}

.cn-roles__hico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 12px;
}

.cn-roles__hico.is-empty {
  background: #fff;
}

.cn-roles__hico.is-empty::before,
.cn-roles__hico .img-ph__label,
.cn-roles__hico.is-empty .img-ph__label {
  display: none;
  content: none;
}

.cn-roles__head h3 {
  flex: 1;
  margin: 0 0 0 -34px;
  padding: 10px 20px 10px 50px;
  border-radius: 999px;
  background: var(--role);
  color: #fff;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-align: center;
}

.cn-roles__list {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}

.cn-roles__list li {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  padding: 12px 20px;
  border: 1px solid var(--role-line);
  border-radius: 12px;
  background: #fff;
}

.cn-roles__ico,
.cn-roles__ico.img-ph,
.cn-roles__fico,
.cn-roles__fico.img-ph {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: var(--role-soft);
  min-height: 0;
}

.cn-roles__fico,
.cn-roles__fico.img-ph {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  background: #e8f4f5;
}

.cn-roles__fico--adv,
.cn-roles__fico--adv.img-ph {
  background: #fdecea;
}

.cn-roles__ico img,
.cn-roles__fico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 7px;
}

.cn-roles__ico.is-empty,
.cn-roles__fico.is-empty {
  background: var(--role-soft);
}

.cn-roles__ico.is-empty::before,
.cn-roles__ico .img-ph__label,
.cn-roles__ico.is-empty .img-ph__label,
.cn-roles__fico.is-empty::before,
.cn-roles__fico .img-ph__label,
.cn-roles__fico.is-empty .img-ph__label {
  display: none;
  content: none;
}

.cn-roles__list span {
  color: #333;
  font-size: 1.02rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.cn-roles__foot {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  width: max-content;
  max-width: 100%;
  margin: 40px auto 0;
  gap: 18px;
  color: #222;
  font-size: clamp(0.98rem, 1.6vw, 1.12rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.6;
  text-align: center;
}

.cn-roles__foot p {
  margin: 0;
  white-space: nowrap;
}

.cn-roles__break {
  display: none;
}

.cn-roles__foot em {
  font-style: normal;
  font-weight: 700;
}

.cn-roles__foot em.is-sys {
  color: #0094a4;
}

.cn-roles__foot em.is-adv {
  color: var(--cn-adv);
}


.cn-picks {
  --cn: #0097a7;
  --cn-gold: #ad844a;
  padding: 80px 0 88px;
  background: #fff;
}

.cn-picks__title {
  margin: 0 0 40px;
  color: #222;
  font-size: clamp(1.36rem, 2.4vw, 1.82rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-align: center;
}

.cn-picks__title em {
  font-style: normal;
  color: #0094a4;
}

.cn-picks__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  max-width: 920px;
  margin: 0 auto;
}

.cn-pick {
  overflow: hidden;
  border-radius: 22px;
}

.cn-pick--course {
  --pick: var(--cn);
  background: #eef7f8;
}

.cn-pick--adv {
  --pick: var(--cn-gold);
  background: #f8f3eb;
}

.cn-pick__media {
  position: relative;
}

.cn-pick__img,
.cn-pick__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: #e4ecee;
  overflow: hidden;
}

.cn-pick__img img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  aspect-ratio: 16 / 9;
}

.cn-pick__img.is-empty {
  aspect-ratio: 16 / 9;
}

.cn-pick__img.is-empty::before,
.cn-pick__img .img-ph__label,
.cn-pick__img.is-empty .img-ph__label {
  display: none;
  content: none;
}

.cn-pick__badge,
.cn-pick__badge.img-ph {
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 1;
  width: 64px;
  height: 64px;
  margin: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
  transform: translate(-50%, 50%);
  min-height: 0;
}

.cn-pick__badge img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 14px;
}

.cn-pick__badge.is-empty {
  background: #fff;
}

.cn-pick--course .cn-pick__badge.is-empty {
  box-shadow: 0 6px 16px rgba(0, 151, 167, 0.12);
}

.cn-pick--adv .cn-pick__badge.is-empty {
  box-shadow: 0 6px 16px rgba(173, 132, 74, 0.14);
}

.cn-pick__badge.is-empty::before,
.cn-pick__badge .img-ph__label,
.cn-pick__badge.is-empty .img-ph__label {
  display: none;
  content: none;
}

.cn-pick__body {
  padding: 48px 28px 36px;
  text-align: center;
}

.cn-pick__name {
  margin: 0;
  color: var(--pick);
  font-size: clamp(1.28rem, 2vw, 1.52rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.4;
}

.cn-pick__sub {
  margin: 8px 0 0;
  color: var(--pick);
  font-size: clamp(1.02rem, 1.6vw, 1.15rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.cn-pick__lead {
  margin: 16px 0 28px;
  color: #666;
  font-size: clamp(0.9rem, 1.35vw, 0.98rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
}

.cn-pick__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 48px;
  padding: 0 16px 0 26px;
  border-radius: 999px;
  background: var(--pick);
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: transform 0.3s var(--ease);
}

.cn-pick__btn:hover,
.cn-pick__btn:focus-visible {
  transform: translateY(-1px);
}

.cn-pick__go {
  position: relative;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
}

.cn-pick__go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 6px;
  height: 6px;
  border-top: 2px solid var(--pick);
  border-right: 2px solid var(--pick);
  transform: translate(-50%, -50%) rotate(45deg);
}


.cn-quote {
  --cn: #0097a7;
  padding: 64px 0 72px;
  background: #f7f7f7;
  text-align: center;
}

.cn-quote__text {
  position: relative;
  display: inline-block;
  margin: 0 auto;
  max-width: 920px;
  padding: 0.4em 1.6em 0.3em;
  color: #333;
  font-size: clamp(1.28rem, 2.4vw, 1.72rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.cn-quote__text em {
  font-style: normal;
  color: #0094a4;
}

.cn-quote__text::before,
.cn-quote__text::after {
  position: absolute;
  color: #333;
  font-family: Georgia, "Times New Roman", "Noto Serif TC", serif;
  font-size: 2.1em;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
}

.cn-quote__text::before {
  content: "\201C";
  left: 0.02em;
  top: -0.12em;
}

.cn-quote__text::after {
  content: "\201D";
  right: 0.02em;
  bottom: -0.38em;
}


.cn-faq {
  --cn: #0097a7;
  padding: 48px 0 72px;
}



.cn-cta {
  --cn: #0097a7;
  background: #fff;
  padding: clamp(40px, 5vw, 72px) 0 0;
  overflow: hidden;
}

.cn-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.1fr);
  gap: clamp(20px, 4vw, 56px);
  align-items: end;
  width: min(100% - 32px, 1180px);
  margin-inline: auto;
}

.cn-cta__media {
  justify-self: start;
  align-self: end;
  width: min(100%, 560px);
  margin-bottom: 0;
  line-height: 0;
}

.cn-cta__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.cn-cta__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  vertical-align: bottom;
}

.cn-cta__img.is-empty {
  min-height: 360px;
  background: linear-gradient(160deg, #e6f6f8, #fff 55%);
  border-radius: 24px 24px 0 0;
}

.cn-cta__img.is-empty::before,
.cn-cta__img .img-ph__label,
.cn-cta__img.is-empty .img-ph__label {
  display: none;
  content: none;
}

.cn-cta__copy {
  min-width: 0;
  padding-bottom: clamp(36px, 5vw, 64px);
  text-align: center;
}

.cn-cta__title {
  margin: 0 0 20px;
  color: #0094a4;
  font-size: clamp(1.42rem, 2.45vw, 1.78rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.cn-cta__lead {
  margin: 0 0 36px;
  color: #313131;
  font-size: clamp(0.98rem, 1.55vw, 1.12rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
}

.cn-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 52px;
  padding: 0 34px;
  border-radius: 999px;
  background: var(--cn);
  color: #fff;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none;
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.cn-cta__btn:hover,
.cn-cta__btn:focus-visible {
  background: #007f8e;
  transform: translateY(-1px);
}

.cn-cta__btn-go {
  position: relative;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
}

.cn-cta__btn-go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translate(-50%, -50%) rotate(45deg);
}

@media (max-width: 900px) {
  .hero--consultant .hero-slides {
    aspect-ratio: auto;
    height: clamp(380px, 96vw, 500px);
  }

  .hero--consultant .hero-slide__content.cn-hero__content,
  .hero--features.hero--consultant .hero-slide__content {
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    padding: 28px 16px 56px;
  }

  .cn-hero__copy {
    margin-top: 56px;
  }

  .cn-hero__title {
    font-size: 1.48rem;
  }

  .cn-hero__sub {
    font-size: 1.02rem;
  }

  .cn-hero__desc {
    font-size: 0.9rem;
  }

  .cn-why {
    padding: 48px 0 56px;
  }

  .cn-why__inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .cn-why__title {
    font-size: 1.32rem;
    text-align: center;
  }

  .cn-why__rule {
    margin-inline: auto;
  }

  .cn-why__lead,
  .cn-why__know {
    text-align: center;
  }

  .cn-why__lead,
  .cn-why__know,
  .cn-why__checks span {
    font-size: 0.95rem;
  }

  .cn-why__checks {
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
  }

  .cn-why__callout {
    display: flex;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
  }

  .cn-why__callout p,
  .cn-why__callout p span {
    font-size: 0.95rem;
  }

  .cn-pains {
    padding: 48px 0 56px;
  }

  .cn-pains__title {
    font-size: 1.32rem;
    margin-bottom: 28px;
  }

  .cn-pains__row {
    gap: 14px;
    padding: 18px 0;
    align-items: flex-start;
  }

  .cn-pains__tag {
    flex: 0 0 64px;
    height: 32px;
    font-size: 0.82rem;
  }

  .cn-pains__q {
    font-size: 1.05rem;
  }

  .cn-pains__sub {
    font-size: 0.92rem;
  }

  .cn-scope {
    padding: 48px 0 56px;
  }

  .cn-scope__title {
    font-size: 1.22rem;
  }

  .cn-scope__dia {
    margin-bottom: 32px;
  }

  .cn-feat,
  .cn-feat.is-flip {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .cn-feat + .cn-feat {
    margin-top: 48px;
  }

  .cn-feat.is-flip .cn-feat__copy,
  .cn-feat.is-flip .cn-feat__media {
    order: initial;
  }

  .cn-feat__label {
    justify-content: center;
  }

  .cn-feat__head {
    font-size: 1.08rem;
    text-align: center;
  }

  .cn-feat__lead {
    text-align: center;
  }

  .cn-feat__lead,
  .cn-feat__checks span {
    font-size: 0.9rem;
  }

  .cn-feat__checks {
    grid-template-columns: auto auto;
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
    gap: 12px 18px;
  }

  .cn-cmp {
    padding: 8px 0 56px;
  }

  .cn-cmp__title {
    font-size: 1.18rem;
  }

  .cn-cmp__rule {
    margin-bottom: 40px;
  }

  .cn-cmp__body {
    grid-template-columns: 1fr;
    gap: 28px;
    max-width: 420px;
  }

  .cn-cmp__mid {
    display: none;
  }

  .cn-cmp__strong {
    font-size: 1.02rem;
  }

  .cn-cmp__line {
    font-size: 0.9rem;
  }

  .cn-cmp__sub {
    font-size: 0.82rem;
  }

  .cn-roles {
    padding: 48px 0 56px;
  }

  .cn-roles__title {
    font-size: 1.18rem;
    margin-bottom: 28px;
  }

  .cn-roles__cols {
    grid-template-columns: 1fr;
    gap: 28px;
    max-width: 328px;
  }

  .cn-roles__head h3 {
    font-size: 0.98rem;
  }

  .cn-roles__list span {
    font-size: 0.92rem;
  }

  .cn-roles__foot {
    width: 100%;
    max-width: 100%;
    margin-top: 28px;
    font-size: 0.92rem;
    gap: 10px;
    box-sizing: border-box;
    padding-inline: 8px;
  }

  .cn-roles__foot p {
    white-space: normal;
  }

  .cn-roles__break {
    display: inline;
  }

  .cn-picks {
    padding: 48px 0 56px;
  }

  .cn-picks__title {
    font-size: 1.18rem;
    margin-bottom: 28px;
  }

  .cn-picks__grid {
    grid-template-columns: 1fr;
    gap: 28px;
    max-width: 420px;
  }

  .cn-pick__name {
    font-size: 1.22rem;
  }

  .cn-pick__sub {
    font-size: 1rem;
  }

  .cn-pick__lead {
    font-size: 0.88rem;
  }

  .cn-pick__btn {
    min-height: 44px;
    font-size: 0.92rem;
  }

  .cn-quote {
    padding: 40px 0 48px;
  }

  .cn-quote__text {
    font-size: 1.08rem;
    padding: 0.45em 1.35em 0.35em;
  }

  .cn-quote__text::before,
  .cn-quote__text::after {
    font-size: 1.7em;
  }

  .cn-faq {
    padding: 36px 0 48px;
  }


  .cn-cta__inner {
    grid-template-columns: 1fr;
    gap: 20px;
    justify-items: center;
    text-align: center;
  }

  .cn-cta__media {
    width: min(92%, 400px);
    order: 2;
    justify-self: center;
  }

  .cn-cta__copy {
    order: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 8px;
  }

  .cn-cta__title {
    font-size: clamp(1.22rem, 4.8vw, 1.55rem);
  }

  .cn-cta__lead {
    font-size: clamp(0.92rem, 3.5vw, 1.05rem);
    margin-bottom: 28px;
  }

  .cn-cta__btn {
    min-height: 48px;
    padding: 0 28px;
    font-size: 1rem;
  }
}


.hero--courses {
  --cs: #0097a7;
}

.hero--courses .hero-slide__bg,
.hero--courses .hero-slide__bg.is-empty {
  background: #f3f1ec;
}

.hero--courses .hero-slide__bg.is-empty::before,
.hero--courses .hero-slide__bg .img-ph__label,
.hero--courses .hero-slide__bg.is-empty .img-ph__label {
  display: none;
  content: none;
}

.hero--courses .hero-slide::after {
  display: none;
}

.hero--courses .hero-slide__content.cs-hero__content {
  align-items: flex-start;
  justify-content: center;
  text-align: left;
  color: #222;
  padding-block: clamp(36px, 5vw, 72px) clamp(72px, 8vw, 100px);
}

.cs-hero__copy {
  position: relative;
  z-index: 2;
  max-width: 560px;
  pointer-events: auto;
}

.cs-hero__title {
  margin: 0;
  color: #222;
  font-size: clamp(1.7rem, 3.5vw, 2.55rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.35;
}

.cs-hero__title em {
  font-style: normal;
  color: #0094a4;
}

.cs-hero__sub {
  margin: 16px 0 0;
  color: #777;
  font-size: clamp(0.9rem, 1.4vw, 1.02rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.75;
}

.cs-hero__sub em {
  font-style: normal;
  color: #0094a4;
  font-weight: 700;
}

.cs-hero__checks {
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.cs-hero__checks li {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cs-hero__tick,
.cs-hero__tick.img-ph {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.cs-hero__tick img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.cs-hero__tick.is-empty {
  border-radius: 50%;
  background: var(--cs);
}

.cs-hero__tick.is-empty::before,
.cs-hero__tick .img-ph__label,
.cs-hero__tick.is-empty .img-ph__label {
  display: none;
  content: none;
}

.cs-hero__checks span {
  color: #333;
  font-size: clamp(0.95rem, 1.45vw, 1.05rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.cs-hero__checks em {
  font-style: normal;
  color: #0094a4;
  font-weight: 700;
}

.cs-hero__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.cs-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 14px 0 22px;
  border-radius: 999px;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  pointer-events: auto;
  transition: transform 0.3s var(--ease);
}

.cs-hero__btn:hover,
.cs-hero__btn:focus-visible {
  transform: translateY(-1px);
}

.cs-hero__btn--solid {
  background: var(--cs);
  color: #fff;
}

.cs-hero__btn--ghost {
  background: #e8f3f4;
  color: #0094a4;
}

.cs-hero__go {
  position: relative;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
}

.cs-hero__btn--solid .cs-hero__go {
  background: #fff;
}

.cs-hero__btn--ghost .cs-hero__go {
  background: var(--cs);
}

.cs-hero__go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 6px;
  height: 6px;
  border-top: 2px solid var(--cs);
  border-right: 2px solid var(--cs);
  transform: translate(-50%, -50%) rotate(45deg);
}

.cs-hero__btn--ghost .cs-hero__go::after {
  border-color: #fff;
}

.cs-hero__pager .hero-dot.is-active {
  background: var(--cs);
}

.cs-guide {
  --cs: #0097a7;
  padding: 72px 0 88px;
  background: #fff;
}

.cs-guide__title {
  margin: 0;
  color: #222;
  font-size: clamp(1.28rem, 2.3vw, 1.72rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.55;
  text-align: center;
}

.cs-guide__mark {
  position: relative;
  z-index: 0;
  display: inline-block;
}

.cs-guide__mark::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.08em;
  height: 0.42em;
  background: #ffe28a;
  z-index: -1;
  border-radius: 999px;
}

.cs-guide__ask {
  position: relative;
  display: table;
  margin: 28px auto 40px;
  padding: 12px 36px;
  border-radius: 10px;
  background: var(--cs);
  color: #fff;
  font-size: clamp(1.02rem, 1.6vw, 1.18rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.4;
  text-align: center;
}

.cs-guide__ask::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -8px;
  width: 16px;
  height: 10px;
  background: var(--cs);
  transform: translateX(-50%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.cs-guide__stage {
  display: grid;
  grid-template-columns: minmax(0, 300px) minmax(160px, 220px) minmax(0, 300px);
  justify-content: center;
  gap: 20px 28px;
  align-items: center;
}

.cs-guide__col {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.cs-guide__col--l {
  justify-items: end;
}

.cs-guide__col--r {
  justify-items: start;
}

.cs-guide__card {
  position: relative;
  width: 100%;
  max-width: 300px;
  padding: 18px 20px 16px;
  border: 1.5px solid var(--cs);
  border-radius: 14px;
  background: #fff;
}

.cs-guide__card::before,
.cs-guide__card::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

.cs-guide__card--l::before,
.cs-guide__card--l::after {
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.cs-guide__card--l::before {
  right: -16px;
  width: 17px;
  height: 24px;
  background: var(--cs);
}

.cs-guide__card--l::after {
  right: -14px;
  width: 15px;
  height: 21px;
  background: #fff;
}

.cs-guide__card--r::before,
.cs-guide__card--r::after {
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}

.cs-guide__card--r::before {
  left: -16px;
  width: 17px;
  height: 24px;
  background: var(--cs);
}

.cs-guide__card--r::after {
  left: -14px;
  width: 15px;
  height: 21px;
  background: #fff;
}

.cs-guide__card p {
  margin: 0 0 10px;
  color: #222;
  font-size: clamp(0.95rem, 1.4vw, 1.05rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.cs-guide__card span {
  display: inline-block;
  padding: 6px 16px;
  border-radius: 999px;
  background: #ececec;
  color: #555;
  font-size: 0.88rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.4;
}

.cs-guide__card .cs-guide__link,
.cs-guide__card .cs-guide__link:visited,
.cs-guide__card .cs-guide__link:hover,
.cs-guide__card .cs-guide__link:active {
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-decoration: none;
}

.cs-guide__card .cs-guide__link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
  border-radius: 2px;
}

.cs-guide__illust {
  min-width: 0;
  text-align: center;
}

.cs-guide__img,
.cs-guide__img.img-ph {
  width: 100%;
  max-width: 200px;
  margin-inline: auto;
  min-height: 0;
  border: 0;
  background: transparent;
}

.cs-guide__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.cs-guide__img.is-empty {
  aspect-ratio: 3 / 5;
  background: #eef4f5;
  border-radius: 20px;
}

.cs-guide__img.is-empty::before,
.cs-guide__img .img-ph__label,
.cs-guide__img.is-empty .img-ph__label {
  display: none;
  content: none;
}


.cs-list {
  --cs: #0097a7;
  padding: 8px 0 88px;
  background: #fff;
}

.cs-list__head {
  position: relative;
  display: table;
  margin: 0 auto 48px;
  padding: 11px 44px;
  border-radius: 10px;
  background: var(--cs);
  color: #fff;
  font-size: clamp(1.08rem, 1.7vw, 1.22rem);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-align: center;
}

.cs-list__head::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -8px;
  width: 16px;
  height: 10px;
  background: var(--cs);
  transform: translateX(-50%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.cs-list__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px 48px;
  max-width: none;
  margin-inline: auto;
}

.cs-card {
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.08);
}

.cs-card__cover {
  display: block;
  color: inherit;
  text-decoration: none;
}

.cs-card__img,
.cs-card__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: #eef4f5;
  overflow: hidden;
}

.cs-card__img img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  aspect-ratio: 16 / 9;
}

.cs-card__img.is-empty {
  aspect-ratio: 16 / 9;
}

.cs-card__img.is-empty::before,
.cs-card__img .img-ph__label,
.cs-card__img.is-empty .img-ph__label {
  display: none;
  content: none;
}

.cs-card__body {
  padding: 14px 16px 16px;
}

.cs-card__title {
  margin: 0;
  color: #0094a4;
  font-size: clamp(0.92rem, 1.35vw, 1.02rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.cs-card__meta {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px 14px;
  margin: 8px 0 0;
  color: #8a8a8a;
  font-size: 0.8rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.4;
}

.cs-card__meta-item {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  gap: 6px;
  white-space: nowrap;
}

.cs-card__ico,
.cs-card__ico.img-ph {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.cs-card__ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.cs-card__ico.is-empty {
  border-radius: 50%;
  background: #c8c8c8;
}

.cs-card__ico.is-empty::before,
.cs-card__ico .img-ph__label,
.cs-card__ico.is-empty .img-ph__label {
  display: none;
  content: none;
}

.cs-card__leads {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #ececec;
}

.cs-card__leads p {
  margin: 0;
  color: #333;
  font-size: 0.84rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.75;
}

.cs-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 12px;
}

.cs-card__price {
  margin: 0;
  color: #222;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.cs-card__btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 14px;
  border-radius: 999px;
  background: var(--cs);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  white-space: nowrap;
  transition: transform 0.3s var(--ease);
}

.cs-card__btn:hover,
.cs-card__btn:focus-visible {
  transform: translateY(-1px);
}


.cs-feat {
  --cs: #0097a7;
  padding: 0 0 88px;
  background: #fff;
}

.cs-feat__card {
  position: relative;
  overflow: hidden;
  padding: 28px 32px 28px;
  border: 1px solid var(--cs);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.cs-feat__badge {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 28px 0 18px;
  background: var(--cs);
  color: #fff;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  clip-path: polygon(0 0, 100% 0, calc(100% - 20px) 100%, 0 100%);
}

.cs-feat__title {
  margin: 22px 0 0;
  color: #222;
  font-size: clamp(1.12rem, 1.9vw, 1.32rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.cs-feat__title small {
  display: inline;
  margin-left: 0.15em;
  color: #888;
  font-size: 0.78em;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.cs-feat__meta {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px 18px;
  margin: 10px 0 0;
  color: #8a8a8a;
  font-size: 0.86rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.4;
}

.cs-feat__meta-item {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  gap: 6px;
  white-space: nowrap;
}

.cs-feat__ico,
.cs-feat__ico.img-ph,
.cs-feat__tick,
.cs-feat__tick.img-ph {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.cs-feat__tick,
.cs-feat__tick.img-ph {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
}

.cs-feat__ico img,
.cs-feat__tick img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.cs-feat__ico.is-empty {
  border-radius: 50%;
  background: #c8c8c8;
}

.cs-feat__tick.is-empty {
  border-radius: 50%;
  background: var(--cs);
}

.cs-feat__ico.is-empty::before,
.cs-feat__ico .img-ph__label,
.cs-feat__ico.is-empty .img-ph__label,
.cs-feat__tick.is-empty::before,
.cs-feat__tick .img-ph__label,
.cs-feat__tick.is-empty .img-ph__label,
.cs-feat__img.is-empty::before,
.cs-feat__img .img-ph__label,
.cs-feat__img.is-empty .img-ph__label {
  display: none;
  content: none;
}

.cs-feat__body {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 28px 32px;
  align-items: center;
  margin-top: 20px;
}

.cs-feat__img,
.cs-feat__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 8px;
  background: #eef4f5;
  overflow: hidden;
}

.cs-feat__img img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  aspect-ratio: 16 / 10;
}

.cs-feat__img.is-empty {
  aspect-ratio: 16 / 10;
}

.cs-feat__copy {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px 36px;
  min-width: 0;
}

.cs-feat__learn h3 {
  margin: 0 0 12px;
  color: #0094a4;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.cs-feat__learn ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cs-feat__learn li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 5px 0;
  color: #222;
  font-size: 0.98rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.55;
}

.cs-feat__cta {
  flex: 0 0 auto;
  align-self: flex-end;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
}

.cs-feat__price {
  margin: 0;
  color: #222;
  font-size: clamp(1.2rem, 1.8vw, 1.38rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

.cs-feat__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 22px;
  border-radius: 999px;
  background: var(--cs);
  color: #fff;
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none;
  white-space: nowrap;
  transition: transform 0.3s var(--ease);
}

.cs-feat__btn:hover,
.cs-feat__btn:focus-visible {
  transform: translateY(-1px);
}


.cs-rev {
  --cs: #0097a7;
  padding: 8px 0 88px;
  background: #fff;
}

.cs-rev__head {
  position: relative;
  display: table;
  margin: 0 auto 48px;
  padding: 11px 44px;
  border-radius: 10px;
  background: var(--cs);
  color: #fff;
  font-size: clamp(1.08rem, 1.7vw, 1.22rem);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-align: center;
}

.cs-rev__head::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -8px;
  width: 16px;
  height: 10px;
  background: var(--cs);
  transform: translateX(-50%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.cs-rev__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px 40px;
  max-width: 720px;
  margin-inline: auto;
}

.cs-rev__card {
  position: relative;
  padding: 18px 20px 16px;
  border-radius: 14px;
  background: #f6f6f6;
}

.cs-rev__card::after {
  content: "";
  position: absolute;
  right: 36px;
  bottom: -9px;
  width: 16px;
  height: 10px;
  background: #f6f6f6;
  clip-path: polygon(0 0, 100% 0, 32% 100%);
}

.cs-rev__stars {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 4px;
  margin: 0;
}

.cs-rev__star,
.cs-rev__star.img-ph {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.cs-rev__star img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.cs-rev__star.is-empty {
  background: #f5c518;
  clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}

.cs-rev__star.is-empty::before,
.cs-rev__star .img-ph__label,
.cs-rev__star.is-empty .img-ph__label,
.cs-rev__ico.is-empty::before,
.cs-rev__ico .img-ph__label,
.cs-rev__ico.is-empty .img-ph__label {
  display: none;
  content: none;
}

.cs-rev__quote {
  margin: 10px 0 0;
  color: #222;
  font-size: clamp(0.92rem, 1.4vw, 1.02rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.7;
}

.cs-rev__line {
  display: block;
  width: 72px;
  height: 1px;
  margin: 12px 0 0;
  background: #d8d8d8;
}

.cs-rev__who {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 10px 0 0;
  color: #9a9a9a;
  font-size: 0.8rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.4;
}

.cs-rev__ico,
.cs-rev__ico.img-ph {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.cs-rev__ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.cs-rev__ico.is-empty {
  border-radius: 50%;
  background: #c8c8c8;
}


.cs-quote {
  --cs: #0097a7;
  padding: 64px 0 72px;
  background: #f7f7f7;
  text-align: center;
}

.cs-quote__text {
  position: relative;
  display: inline-block;
  margin: 0 auto;
  max-width: 920px;
  padding: 0.4em 1.6em 0.3em;
  color: #0094a4;
  font-size: clamp(1.28rem, 2.4vw, 1.72rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.cs-quote__text::before,
.cs-quote__text::after {
  position: absolute;
  color: #0094a4;
  font-family: Georgia, "Times New Roman", "Noto Serif TC", serif;
  font-size: 2.1em;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
}

.cs-quote__text::before {
  content: "\201C";
  left: 0.02em;
  top: -0.12em;
}

.cs-quote__text::after {
  content: "\201D";
  right: 0.02em;
  bottom: -0.38em;
}

.cs-quote__by,
.cs-quote__by.img-ph {
  display: block;
  width: auto;
  max-width: 380px;
  height: auto;
  min-height: 0;
  margin: 22px auto 0;
  border: 0;
  background: transparent;
}

.cs-quote__by img {
  display: block;
  width: 100%;
  height: auto;
  margin-inline: auto;
}

.cs-quote__by.is-empty {
  width: 220px;
  height: 36px;
  background: #ececec;
  border-radius: 8px;
}

.cs-quote__by .img-ph__label,
.cs-quote__by.is-empty .img-ph__label {
  display: none;
}


.cs-faq {
  padding: 56px 0 72px;
}



.cs-cta {
  --cs: #0097a7;
  --cs-coral: #f28b85;
  background: #f7f7f7;
  padding: clamp(40px, 5vw, 72px) 0 0;
  overflow: hidden;
}

.cs-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.1fr);
  gap: clamp(20px, 4vw, 56px);
  align-items: end;
  width: min(100% - 32px, 1180px);
  margin-inline: auto;
}

.cs-cta__media {
  justify-self: start;
  align-self: end;
  width: min(100%, 560px);
  margin-bottom: 0;
  line-height: 0;
}

.cs-cta__img.img-ph {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.cs-cta__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  vertical-align: bottom;
}

.cs-cta__img.is-empty {
  min-height: 360px;
  background: linear-gradient(160deg, #e6f6f8, #f7f7f7 55%);
  border-radius: 24px 24px 0 0;
}

.cs-cta__img.is-empty::before,
.cs-cta__img .img-ph__label,
.cs-cta__img.is-empty .img-ph__label {
  display: none;
  content: none;
}

.cs-cta__copy {
  min-width: 0;
  padding-bottom: clamp(36px, 5vw, 64px);
  text-align: center;
}

.cs-cta__title {
  margin: 0 0 20px;
  color: #0094a4;
  font-size: clamp(1.42rem, 2.45vw, 1.78rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.cs-cta__lead {
  margin: 0 0 36px;
  color: #313131;
  font-size: clamp(0.98rem, 1.55vw, 1.12rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
}

.cs-cta__btns {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.cs-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 52px;
  padding: 0 26px;
  border-radius: 999px;
  background: var(--cs);
  color: #fff;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  white-space: nowrap;
  transition: transform 0.3s var(--ease), background 0.25s ease;
}

.cs-cta__btn:hover,
.cs-cta__btn:focus-visible {
  background: #007f8e;
  transform: translateY(-1px);
}

.cs-cta__btn--coral {
  background: var(--cs-coral);
}

.cs-cta__btn--coral:hover,
.cs-cta__btn--coral:focus-visible {
  background: #e27670;
}

.cs-cta__btn-go {
  position: relative;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
}

.cs-cta__btn-go::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translate(-50%, -50%) rotate(45deg);
}

@media (max-width: 900px) {
  .hero--courses .hero-slides {
    aspect-ratio: auto;
    height: clamp(420px, 125vw, 540px);
  }

  .hero--courses .hero-slide__content.cs-hero__content,
  .hero--features.hero--courses .hero-slide__content {
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    padding: 32px 16px 80px;
  }

  .cs-hero__copy {
    margin-top: 56px;
  }

  .cs-hero__title {
    font-size: 1.48rem;
  }

  .cs-hero__sub {
    font-size: 0.88rem;
  }

  .cs-hero__btn {
    font-size: 0.86rem;
    min-height: 44px;
  }

  .cs-guide {
    padding: 48px 0 56px;
  }

  .cs-guide__title {
    font-size: 1.12rem;
  }

  .cs-guide__ask {
    font-size: 0.95rem;
    padding: 10px 22px;
    margin-bottom: 28px;
  }

  .cs-guide__stage {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .cs-guide__col--l,
  .cs-guide__col--r {
    justify-items: center;
  }

  .cs-guide__col--l {
    order: 1;
  }

  .cs-guide__col--r {
    order: 2;
  }

  .cs-guide__card {
    max-width: min(300px, calc(100% - 40px));
    text-align: center;
  }

  .cs-guide__illust {
    order: 3;
  }

  .cs-guide__card--l::before,
  .cs-guide__card--l::after,
  .cs-guide__card--r::before,
  .cs-guide__card--r::after {
    display: none;
  }

  .cs-guide__card p {
    font-size: 0.92rem;
  }

  .cs-guide__img.is-empty {
    max-width: 160px;
  }

  .cs-list {
    padding: 8px 0 56px;
  }

  .cs-list__head {
    font-size: 1.02rem;
    padding: 10px 28px;
    margin-bottom: 28px;
  }

  .cs-list__grid {
    grid-template-columns: 1fr;
    gap: 24px;
    max-width: none;
  }

  .cs-card__title {
    font-size: 0.92rem;
  }

  .cs-card__leads p {
    font-size: 0.8rem;
  }

  .cs-card__price {
    font-size: 0.9rem;
  }

  .cs-feat {
    padding: 8px 0 56px;
  }

  .cs-feat__card {
    padding: 24px 18px 22px;
  }

  .cs-feat__title {
    font-size: 1.02rem;
    text-align: center;
  }

  .cs-feat__title small {
    display: block;
    margin: 4px 0 0;
    font-size: 0.8em;
  }

  .cs-feat__meta {
    justify-content: center;
  }

  .cs-feat__body {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-top: 16px;
  }

  .cs-feat__copy {
    order: 1;
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
  }

  .cs-feat__img,
  .cs-feat__img.img-ph {
    order: 2;
    max-width: 100%;
  }

  .cs-feat__learn h3 {
    font-size: 0.98rem;
  }

  .cs-feat__learn li {
    font-size: 0.92rem;
  }

  .cs-feat__cta {
    align-self: center;
    align-items: center;
  }

  .cs-feat__price {
    font-size: 1.15rem;
  }

  .cs-rev {
    padding: 8px 0 56px;
  }

  .cs-rev__head {
    font-size: 1.02rem;
    padding: 10px 28px;
    margin-bottom: 28px;
  }

  .cs-rev__grid {
    grid-template-columns: 1fr;
    gap: 24px;
    width: calc(100% - 48px);
    max-width: 320px;
    margin-inline: auto;
  }

  .cs-rev__card {
    padding: 16px 16px 14px;
  }

  .cs-rev__quote {
    font-size: 0.9rem;
  }

  .cs-quote {
    padding: 40px 0 48px;
  }

  .cs-quote__text {
    font-size: 1.08rem;
    padding: 0.45em 1.35em 0.35em;
  }

  .cs-quote__text::before,
  .cs-quote__text::after {
    font-size: 1.7em;
  }

  .cs-quote__by,
  .cs-quote__by.img-ph {
    max-width: 300px;
    margin-top: 16px;
  }

  .cs-faq {
    padding: 40px 0 48px;
  }

  .cs-cta__inner {
    grid-template-columns: 1fr;
    gap: 20px;
    justify-items: center;
    text-align: center;
  }

  .cs-cta__media {
    width: min(92%, 400px);
    order: 2;
    justify-self: center;
  }

  .cs-cta__copy {
    order: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 8px;
  }

  .cs-cta__title {
    font-size: clamp(1.22rem, 4.8vw, 1.55rem);
  }

  .cs-cta__lead {
    font-size: clamp(0.92rem, 3.5vw, 1.05rem);
    margin-bottom: 28px;
  }

  .cs-cta__btn {
    min-height: 48px;
    padding: 0 20px;
    font-size: 0.95rem;
  }
}

@media (max-width: 360px) {
  .hero--courses .hero-slides {
    /* The two stacked consultation buttons need space above the slide dots. */
    min-height: 500px;
  }
}


.cd {
  --cs: #0097a7;
  padding: 36px 0 80px;
  background: #fff;
}

.cd__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
  grid-template-areas:
    "banner side"
    "body side";
  gap: 28px 40px;
  align-items: start;
}

.cd__banner {
  grid-area: banner;
}

.cd__side {
  grid-area: side;
  position: sticky;
  top: calc(var(--header-h) + 16px);
}

.cd__body {
  grid-area: body;
}

.cd__banner-img,
.cd__banner-img.img-ph {
  width: 100%;
  max-width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 12px;
  background: transparent;
  overflow: hidden;
}

.cd__banner-img img,
.cd__banner-img.img-ph img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  object-position: center;
  vertical-align: bottom;
}

.cd__banner-img.is-empty {
  aspect-ratio: 16 / 9;
  background: #eef4f5;
  border-radius: 12px;
}

.cd__intro-img,
.cd__intro-img.img-ph {
  width: 100%;
  max-width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  overflow: hidden;
}

.cd__intro-img img,
.cd__intro-img.img-ph img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  object-position: center;
  vertical-align: bottom;
}

.cd__intro-img.is-empty {
  aspect-ratio: 4 / 5;
  background: #eef4f5;
}

.cd__banner-img.is-empty::before,
.cd__banner-img .img-ph__label,
.cd__banner-img.is-empty .img-ph__label,
.cd__intro-img.is-empty::before,
.cd__intro-img .img-ph__label,
.cd__intro-img.is-empty .img-ph__label,
.cd__ico.is-empty::before,
.cd__ico .img-ph__label,
.cd__ico.is-empty .img-ph__label {
  display: none;
  content: none;
}

.cd__card {
  padding: 22px 22px 24px;
  border: 1px solid #d4e6ea;
  border-radius: 12px;
  background: #fff;
}

.cd__card-title {
  margin: 0;
  color: #333;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.cd__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  margin: 12px 0 0;
  color: #8a8a8a;
  font-size: 0.86rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.4;
}

.cd__card .cd__meta {
  flex-wrap: nowrap;
  gap: 0 12px;
  white-space: nowrap;
}

.cd__meta span {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 4px;
  white-space: nowrap;
}

.cd__ico,
.cd__ico.img-ph {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.cd__ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.cd__ico.is-empty {
  border-radius: 50%;
  background: #c8c8c8;
}

.cd__price {
  margin: 18px 0 0;
  color: #222;
  font-size: clamp(1.35rem, 2vw, 1.55rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

.cd__points {
  margin: 16px 0 0;
  padding: 0 0 0 1.2em;
  color: #333;
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.85;
}

.cd__points li {
  padding-left: 0.15em;
}

.cd__buy {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px;
  margin-top: 20px;
  border-radius: 999px;
  background: var(--cs);
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: transform 0.3s var(--ease);
}

.cd__buy:hover,
.cd__buy:focus-visible {
  transform: translateY(-1px);
}

.cd__title {
  margin: 8px 0 0;
  color: #0094a4;
  font-size: clamp(1.35rem, 2.4vw, 1.72rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.45;
}

.cd__desc {
  margin: 14px 0 0;
  max-width: 46em;
  color: #777;
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
}

.cd__rule {
  display: block;
  width: 100%;
  height: 0;
  margin: 28px 0 32px;
  border: 0;
  border-top: 1px solid #e8e8e8;
}

.cd__intro-title {
  margin: 0;
  color: #222;
  font-size: clamp(1.18rem, 1.9vw, 1.38rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.cd-more {
  position: relative;
  margin-top: 12px;
}

.cd-more__clip {
  position: relative;
  max-height: 280px;
  overflow: hidden;
}

.cd-more:not(.is-open) .cd-more__clip::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 148px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.72) 42%, #fff 78%);
  pointer-events: none;
}

.cd-more.is-open .cd-more__clip {
  max-height: none;
  overflow: visible;
}

.cd-more__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #222;
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
  cursor: pointer;
}

.cd-more:not(.is-open) .cd-more__btn {
  position: absolute;
  left: 50%;
  bottom: 10px;
  z-index: 1;
  transform: translateX(-50%);
}

.cd-more.is-open .cd-more__btn {
  position: relative;
  left: auto;
  bottom: auto;
  display: flex;
  margin: 20px auto 0;
  transform: none;
}

.cd-more__chev {
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  border-right: 2px solid #222;
  border-bottom: 2px solid #222;
  transform: translateY(-2px) rotate(45deg);
  transition: transform 0.2s ease;
}

.cd-more.is-open .cd-more__chev {
  transform: translateY(2px) rotate(-135deg);
}

.cd-more .cd__meta--intro {
  margin-top: 0;
}

.cd__meta--intro {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px 28px;
  margin-top: 12px;
  margin-bottom: 28px;
  white-space: nowrap;
}

.cd__meta--intro span {
  gap: 8px;
}

.cd__meta--intro .cd__ico,
.cd__meta--intro .cd__ico.img-ph {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
}

.cd-detail {
  margin-top: 48px;
}

.cd-detail__title {
  margin: 0 0 16px;
  color: #222;
  font-size: clamp(1.22rem, 2vw, 1.42rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.cd-detail__box {
  padding: 8px 0 28px;
  border: 0;
  background: transparent;
}

.cd-detail__sec h3 {
  margin: 0;
  font: inherit;
}

.cd-detail__sec {
  padding: 22px 0 6px;
}

.cd-detail__sec + .cd-detail__sec {
  padding-top: 18px;
}

.cd-detail__h {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin: 0;
  padding: 0 0 8px;
  border: 0;
  border-bottom: 2px solid var(--cs);
  background: transparent;
  color: #222;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.4;
  text-align: left;
  cursor: pointer;
}

.cd-detail__body {
  display: none;
  padding-top: 16px;
}

.cd-detail__sec.is-open .cd-detail__body {
  display: block;
}

.cd-detail__chev {
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  margin-right: 4px;
  border-right: 2px solid #222;
  border-bottom: 2px solid #222;
  transform: translateY(-2px) rotate(45deg);
  transition: transform 0.2s ease;
}

.cd-detail__sec.is-open .cd-detail__chev {
  transform: translateY(2px) rotate(-135deg);
}

.cd-detail__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cd-detail__list li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 5px 0;
  color: #333;
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
}

.cd-detail__person {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  color: #0094a4;
}

.cd-detail__person svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.cd-detail__ico,
.cd-detail__ico.img-ph {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin-top: 3px;
  border: 0;
  background: transparent;
  min-height: 0;
}

.cd-detail__ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.cd-detail__ico.is-empty {
  border-radius: 50%;
  background: var(--cs);
}

.cd-detail__ico--check.is-empty {
  border-radius: 0;
  background: transparent;
}

.cd-detail__ico--check.is-empty::after {
  content: "✓";
  display: block;
  color: #222;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
}

.cd-detail__ico.is-empty::before,
.cd-detail__ico .img-ph__label,
.cd-detail__ico.is-empty .img-ph__label {
  display: none;
  content: none;
}

.cd-detail__note {
  margin: 10px 0 0 28px;
  color: #222;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.7;
}

.cd-detail__steps {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cd-detail__steps li {
  margin: 0 0 14px;
}

.cd-detail__steps li:last-child {
  margin-bottom: 0;
}

.cd-detail__step-h {
  margin: 0;
  color: #222;
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.cd-detail__step-h b {
  font-weight: 700;
}

.cd-detail__step-d {
  margin: 4px 0 0;
  color: #444;
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
}

.cd-faq {
  padding: 48px 0 0;
  background: transparent;
}

.cd-faq__title {
  text-align: left;
}

.cd-faq__list {
  max-width: none;
}

.cd-teacher {
  margin-top: 48px;
}

.cd-teacher__title {
  margin: 0 0 28px;
  color: #222;
  font-size: clamp(1.22rem, 2vw, 1.42rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.cd-teacher__head {
  display: flex;
  align-items: center;
  gap: 18px;
}

.cd-teacher__photo,
.cd-teacher__photo.img-ph {
  flex: 0 0 108px;
  width: 108px;
  height: 108px;
  border: 0;
  border-radius: 50%;
  background: #1b2a4a;
  overflow: hidden;
  min-height: 0;
}

.cd-teacher__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cd-teacher__photo.is-empty::before,
.cd-teacher__photo .img-ph__label,
.cd-teacher__photo.is-empty .img-ph__label,
.cd-teacher__tick.is-empty::before,
.cd-teacher__tick .img-ph__label,
.cd-teacher__tick.is-empty .img-ph__label {
  display: none;
  content: none;
}

.cd-teacher__who {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
}

.cd-teacher__who b {
  color: #222;
  font-size: 1.12rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.4;
}

.cd-teacher__who span {
  color: #888;
  font-size: 0.98rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.4;
}

.cd-teacher__roles {
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.cd-teacher__roles li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  padding: 4px 0;
  color: #555;
  font-size: 0.98rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
}

.cd-teacher__tick {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin-top: 5px;
  fill: none;
  stroke: #555;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cd-teacher__bio {
  margin: 24px 0 0;
  color: #555;
  font-size: 0.98rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.85;
}

@media (max-width: 900px) {
  .cd {
    padding: 20px 0 56px;
  }

  .cd__grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "banner"
      "body"
      "side";
    gap: 22px;
  }

  .cd__side {
    position: static;
  }

  .cd__title {
    font-size: 1.22rem;
  }

  .cd__desc {
    font-size: 0.9rem;
  }

  .cd-detail {
    margin-top: 32px;
  }

  .cd-detail__box {
    padding: 4px 16px 20px;
  }

  .cd-detail__title {
    font-size: 1.12rem;
  }

  .cd-detail__h {
    font-size: 0.98rem;
  }

  .cd-detail__list li,
  .cd-detail__step-d,
  .cd-detail__note {
    font-size: 0.9rem;
  }

  .cd-teacher {
    margin-top: 36px;
  }

  .cd-teacher__title {
    font-size: 1.12rem;
    margin-bottom: 20px;
  }

  .cd-teacher__photo,
  .cd-teacher__photo.img-ph {
    flex-basis: 88px;
    width: 88px;
    height: 88px;
  }

  .cd-teacher__who b {
    font-size: 1.02rem;
  }

  .cd-teacher__roles li,
  .cd-teacher__bio {
    font-size: 0.92rem;
  }
}


@media (min-width: 901px) {
  .hero .hero-slider {
    overflow: visible;
  }

  .hero .hero-slides,
  .hero.hero--features .hero-slides,
  .hero:not(.hero--features) .hero-slides {
    aspect-ratio: auto;
    height: auto;
  }

  .hero .hero-slide.is-active {
    position: relative;
    height: auto;
  }

  .hero .hero-slide__bg,
  .hero .hero-slide__bg.is-empty,
  .hero.hero--features .hero-slide__bg {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    overflow: visible;
  }

  .hero .hero-slide__bg.img-ph img,
  .hero .hero-slide__bg img,
  .hero.hero--features .hero-slide__bg.img-ph img,
  .hero.hero--features .hero-slide__bg img {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
  }
}

.hero .btn.btn-lg,
.hero--fitness .fitness-hero-btn,
.hero--shop .shop-hero-btn,
.hero--beauty .beauty-hero-btn,
.hero--game .gm-btn,
.hero--voucher .vc-hero__btn,
.hero--lineweb .lw-hero__btn,
.hero--loyal .ly-hero__btn,
.hero--share .sh-hero__btn,
.hero--namecard .nc-hero__btn,
.hero--booking .bk-hero__btn,
.hero--stored .st-hero__btn,
.hero--consultant .cn-hero__btn,
.hero--courses .cs-hero__btn {
  min-height: 40px;
}

@media (max-width: 900px) {
  .hero .btn.btn-lg,
  .hero--fitness .fitness-hero-btn,
  .hero--shop .shop-hero-btn,
  .hero--beauty .beauty-hero-btn,
  .hero--game .gm-btn,
  .hero--voucher .vc-hero__btn,
  .hero--lineweb .lw-hero__btn,
  .hero--loyal .ly-hero__btn,
  .hero--share .sh-hero__btn,
  .hero--namecard .nc-hero__btn,
  .hero--booking .bk-hero__btn,
  .hero--stored .st-hero__btn,
  .hero--consultant .cn-hero__btn,
  .hero--courses .cs-hero__btn {
    min-height: 36px;
  }
}

/* Extra questionnaire controls; existing short-text and radio styles stay intact. */
.side-contact[data-cms-survey] textarea {
    width: 100%; min-height: 96px; resize: vertical; border: 1px solid #9ed7db;
    border-radius: 10px; background: #fff; padding: 10px 12px;
    color: var(--text); font: inherit; outline: none;
}
.article-sidebar .side-contact[data-cms-survey] textarea { border-color: #7ec8ce; border-radius: 8px; padding-inline: 14px; }
.side-contact[data-cms-survey] textarea:focus { border-color: #00a7af; }
.side-contact[data-cms-survey] > label,
.side-contact[data-cms-survey] .side-contact__stage { min-inline-size: 0; }
.side-contact[data-cms-survey] > label > span,
.side-contact[data-cms-survey] .side-contact__stage > legend { overflow-wrap: anywhere; }
.side-contact[data-cms-survey] .side-contact__radios { max-inline-size: 100%; }
.side-contact[data-cms-survey] input[type="checkbox"] { width: 15px; height: 15px; accent-color: #00a7af; flex: 0 0 15px; }
.side-contact[data-cms-survey] .side-contact__radio { overflow-wrap: anywhere; }
.side-contact[data-cms-survey] .side-contact__radio input { flex-shrink: 0; }
