@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/variable/pretendardvariable-dynamic-subset.css");

:root {
  --blue: #1f6be8;
  --blue-2: #3f83ee;
  --yellow: #ffe100;
  --ink: #202631;
  --muted: #667085;
  --line: #e4ebf5;
  --card: #f4f7fc;
  --shadow: 0 22px 70px rgba(31, 64, 128, .14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Noto Sans KR", sans-serif;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

body.menu-open::before {
  position: fixed;
  inset: 0;
  z-index: 30;
  background: rgba(255,255,255,.08);
  content: "";
}

a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; letter-spacing: 0; }
button { cursor: pointer; }

.promo-bar {
  position: sticky;
  top: 0;
  z-index: 60;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: #55c9ba;
  font-size: 16px;
  font-weight: 700;
  transition: background .35s ease;
}

.promo-bar button {
  position: absolute;
  right: 14px;
  width: 28px;
  height: 28px;
  border: 0;
  color: rgba(255,255,255,.82);
  background: transparent;
  font-size: 21px;
}

.header {
  position: sticky;
  top: 44px;
  z-index: 55;
  background: rgba(255,255,255,.98);
  border-bottom: 0;
  backdrop-filter: blur(14px);
}

.mini-nav,
.main-nav,
.hero-inner,
.shortcut-wrap,
.section,
.support-card,
.estimate-form-section,
.footer {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.mini-nav {
  height: 56px;
  display: flex;
  align-items: center;
  gap: 30px;
}

.logo {
  flex: 0 0 auto;
  margin-left: -24px;
}

.logo img {
  display: block;
  width: 132px;
}

.mini-nav nav {
  display: flex;
  align-items: center;
  gap: 30px;
  font-size: 15px;
  font-weight: 600;
}

.mini-nav nav a:hover,
.mini-nav nav a.active {
  color: var(--blue);
}

.member-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-left: auto;
}

.alarm {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: #f4f7fb;
  font-size: 16px;
}

.login {
  display: grid;
  place-items: center;
  height: 38px;
  padding: 0 16px;
  border-radius: 12px;
  color: #202631;
  background: #f3f6fb;
  font-size: 15px;
  font-weight: 600;
}

.main-nav {
  height: 64px;
  display: flex;
  align-items: center;
}

.main-nav nav {
  display: flex;
  align-items: center;
  gap: 42px;
  font-size: 18px;
  font-weight: 700;
}

.nav-item {
  display: flex;
  align-items: center;
  height: 64px;
}

.nav-item > a,
.main-nav nav > a {
  display: inline-flex;
  align-items: center;
  height: 64px;
}

.sub-nav {
  position: absolute;
  left: 0;
  top: 120px;
  width: 100%;
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 38px;
  padding: 0 max(24px, calc((100vw - 1180px) / 2));
  border-top: 1px solid #eef1f5;
  border-bottom: 1px solid #d8dde5;
  color: #7d8794;
  background: rgba(255,255,255,.98);
  font-size: 16px;
  font-weight: 600;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.has-subnav:hover .sub-nav,
.has-subnav:focus-within .sub-nav,
.has-subnav.active .sub-nav {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

body.cleaning-nav-active .header {
  margin-bottom: 56px;
}

.sub-nav a {
  height: 56px;
  display: inline-flex;
  align-items: center;
  color: #818a96;
  font-size: 16px;
  font-weight: 600;
}

.sub-nav a:hover {
  color: var(--blue);
}

.nav-item > a:hover,
.nav-item > a.active,
.main-nav nav > a:hover,
.main-nav nav > a.active,
.nav-item.active > a,
.sub-nav a.active {
  color: var(--blue);
}

.sub-nav a.active {
  font-weight: 760;
}

.main-nav span {
  display: inline-block;
  margin-left: 4px;
  padding: 3px 8px;
  border-radius: 8px;
  color: #8b4df1;
  background: #f1e8ff;
  font-size: 13px;
  vertical-align: middle;
}

.hamburger {
  margin-left: auto;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #98a2ad;
  display: grid;
  place-items: center;
  transition: background .2s ease, transform .2s ease;
}

.hamburger:hover,
.hamburger.active {
  background: #eef2f7;
}

.hamburger-icon {
  display: block;
}

.hamburger .close-icon {
  display: none;
}

.hamburger.active .menu-icon {
  display: none;
}

.hamburger.active .close-icon {
  display: block;
}

.hamburger i {
  display: none;
  width: 24px;
  height: 3px;
  margin: 4px auto;
  min-height: 3px;
  max-height: 3px;
  border-radius: 999px;
  background: #9aa3ad;
}

.menu-panel {
  position: absolute;
  top: 112px;
  right: max(24px, calc((100vw - 1180px) / 2 + 24px));
  z-index: 70;
  width: min(584px, calc(100vw - 48px));
  padding: 24px;
  border-radius: 20px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 28px 80px rgba(31, 64, 128, .18);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
}

.menu-panel.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(-8px);
}

.menu-services {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  row-gap: 20px;
  column-gap: 16px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}

.menu-services a {
  display: grid;
  place-items: center;
  gap: 9px;
  color: #5e6673;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
}

.menu-services span {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: transparent;
  font-size: 22px;
}

.menu-section {
  padding: 17px 0 0;
  border-bottom: 1px solid var(--line);
}

.menu-section:last-child { border-bottom: 0; }

.menu-section h3 {
  margin: 0 0 14px;
  color: #98a2b3;
  font-size: 14px;
  font-weight: 600;
}

.menu-section a {
  display: grid;
  grid-template-columns: 34px 1fr 14px;
  align-items: center;
  min-height: 42px;
  color: #2f3744;
  font-size: 15px;
  font-weight: 600;
}

.menu-section a::after {
  color: #aab3c0;
  content: "›";
  font-size: 24px;
}

.menu-section span {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 10px;
  background: #f4f7fc;
  font-size: 16px;
}

.hero {
  height: 420px;
  overflow: hidden;
  background:
    radial-gradient(circle at 68% 48%, rgba(63, 131, 238, .32), transparent 24%),
    linear-gradient(90deg, #f2f7ff 0%, #e9f2ff 100%);
}

.cleaning-hero {
  background: linear-gradient(180deg, #eef5ff 0%, #f8fbff 100%);
}

.cleaning-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 40px;
  align-items: center;
  width: min(1180px, calc(100% - 48px));
  min-height: 300px;
  margin: 0 auto;
}

.cleaning-copy p {
  margin: 0 0 14px;
  color: var(--blue);
  font-size: 15px;
  font-weight: 700;
}

.cleaning-copy h1 {
  margin: 0;
  font-size: 38px;
  line-height: 1.2;
  font-weight: 800;
}

.cleaning-copy span {
  display: block;
  max-width: 600px;
  margin-top: 18px;
  color: #667085;
  font-size: 17px;
  line-height: 1.65;
  font-weight: 500;
}

.cleaning-summary {
  padding: 26px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 44px rgba(31, 64, 128, .1);
}

.cleaning-summary strong {
  display: block;
  margin-bottom: 14px;
  font-size: 18px;
  font-weight: 800;
}

.cleaning-summary ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: #667085;
  font-size: 15px;
}

.cleaning-summary li::before {
  color: var(--blue);
  content: "✓ ";
  font-weight: 800;
}

.landing-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 28px;
  align-items: start;
  width: min(980px, calc(100% - 48px));
  margin: 56px auto 0;
}

.cleaning-form {
  padding: 34px;
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow);
}

.form-title {
  margin-bottom: 26px;
}

.form-title h2 {
  margin: 0;
  font-size: 28px;
  font-weight: 800;
}

.form-title p {
  margin: 10px 0 0;
  color: #667085;
  font-size: 15px;
}

fieldset {
  margin: 0 0 30px;
  padding: 0;
  border: 0;
}

fieldset:last-of-type {
  margin-bottom: 22px;
}

legend {
  display: block;
  margin-bottom: 16px;
  font-size: 19px;
  font-weight: 800;
}

legend span {
  color: #98a2b3;
  font-size: 14px;
  font-weight: 600;
}

.cleaning-form label {
  display: block;
  color: #344054;
  font-size: 14px;
  font-weight: 700;
}

.cleaning-form input,
.cleaning-form select,
.cleaning-form textarea {
  width: 100%;
  min-height: 48px;
  margin-top: 8px;
  padding: 0 14px;
  border: 1px solid #d8e2f1;
  border-radius: 8px;
  background: #fff;
  color: #202631;
  outline: none;
  font-size: 15px;
  font-weight: 500;
}

.cleaning-form textarea {
  min-height: 96px;
  padding-top: 14px;
  resize: vertical;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.form-grid .full {
  grid-column: 1 / -1;
}

.field-block {
  margin: 18px 0 22px;
}

.label-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.label-row strong {
  font-size: 15px;
  font-weight: 800;
}

.label-row a {
  color: var(--blue);
  font-size: 13px;
  font-weight: 700;
}

.option-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

.option-grid button {
  min-height: 46px;
  border: 1px solid #d8e2f1;
  border-radius: 8px;
  color: #344054;
  background: #fff;
  font-size: 14px;
  font-weight: 700;
}

.option-grid .active {
  color: var(--blue);
  border-color: var(--blue);
  background: #eef5ff;
}

.hint {
  margin: 10px 0 0;
  color: #98a2b3;
  font-size: 13px;
}

.extra-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.extra-grid label,
.agreement label {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 8px;
  align-items: start;
  padding: 14px;
  border-radius: 10px;
  background: #f6f8fc;
  font-size: 14px;
  font-weight: 700;
}

.extra-grid small {
  display: block;
  grid-column: 2;
  color: #667085;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 500;
}

.agreement {
  display: grid;
  gap: 8px;
}

.primary-submit {
  width: 100%;
  height: 54px;
  border: 0;
  border-radius: 10px;
  color: #fff;
  background: var(--blue);
  font-size: 16px;
  font-weight: 800;
}

.landing-aside {
  position: sticky;
  top: 132px;
  display: grid;
  gap: 14px;
}

.aside-card {
  padding: 22px;
  border-radius: 14px;
  background: #f4f7fc;
}

.aside-card.blue {
  color: #fff;
  background: var(--blue);
}

.aside-card strong {
  display: block;
  margin-bottom: 10px;
  font-size: 17px;
  font-weight: 800;
}

.aside-card p,
.aside-card li {
  color: inherit;
  opacity: .82;
  font-size: 14px;
  line-height: 1.6;
}

.aside-card ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 18px;
}

.scope-section {
  width: min(980px, calc(100% - 48px));
  margin: 70px auto 110px;
}

.scope-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.scope-card {
  min-height: 170px;
  padding: 22px;
  border-radius: 14px;
  background: #f4f7fc;
}

.scope-card span {
  color: var(--blue);
  font-size: 13px;
  font-weight: 800;
}

.scope-card h3 {
  margin: 14px 0 8px;
  font-size: 18px;
  font-weight: 800;
}

.scope-card p {
  margin: 0;
  color: #667085;
  font-size: 14px;
  line-height: 1.6;
}

.hero-inner {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
}

.hero-copy {
  position: relative;
  z-index: 2;
  max-width: 560px;
}

.hero h1 {
  margin: 0;
  font-size: 40px;
  line-height: 1.24;
  font-weight: 760;
  word-break: keep-all;
}

.hero p {
  margin: 20px 0 0;
  color: #5f6977;
  font-size: 18px;
  line-height: 1.5;
  font-weight: 500;
}

.hero-person {
  position: absolute;
  right: -30px;
  bottom: -34px;
  width: 470px;
  height: 420px;
  overflow: hidden;
  border-radius: 0 0 0 170px;
}

.hero-person img {
  width: 830px;
  height: 100%;
  object-fit: cover;
  object-position: right center;
  transform: translateX(-205px);
  filter: saturate(1.05);
}

.shortcut-wrap {
  position: relative;
  z-index: 20;
  margin-top: 34px;
}

.shortcut-card {
  display: flex;
  align-items: stretch;
  gap: 12px;
}

.shortcut-group {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 104px;
  padding: 28px 26px 18px;
  border-radius: 18px;
  background: #f3f6fb;
}

.shortcut-group b {
  position: absolute;
  top: -15px;
  left: 0;
  padding: 7px 14px;
  border-radius: 9px;
  color: #fff;
  background: var(--blue);
  font-size: 14px;
  font-weight: 700;
}

.shortcut-group.single b { background: #2382ff; }
.shortcut-group.wide { flex: 1; }
.shortcut-group.wide b { background: #8793a4; }

.shortcut-group a {
  display: grid;
  place-items: center;
  min-width: 68px;
  gap: 9px;
  color: #252c37;
  font-size: 15px;
  font-weight: 600;
}

.shortcut-group span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: 26px;
}

.support-card {
  margin-top: 100px;
  min-height: 172px;
  padding: 38px 60px;
  border-radius: 16px;
  text-align: center;
  background: linear-gradient(180deg, #eef5ff 0%, #fff 100%);
}

.support-card p,
.gray-band h2 {
  margin: 0;
  color: #667085;
  font-size: 15px;
  font-weight: 500;
}

.support-card h2 {
  margin: 12px 0 0;
  color: #1b5fd8;
  font-size: 23px;
  font-weight: 700;
}

.yellow-line {
  width: 240px;
  height: 13px;
  margin: 16px auto 0;
  border-radius: 999px 999px 0 0;
  background: var(--blue);
}

.estimate-mini {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
}

.estimate-mini label {
  color: #667085;
  font-size: 14px;
  font-weight: 700;
}

.estimate-mini button,
.tabs button {
  height: 36px;
  padding: 0 17px;
  border: 1px solid #d7e4f7;
  border-radius: 999px;
  color: #667085;
  background: #fff;
  font-size: 14px;
  font-weight: 700;
}

.estimate-mini .active,
.tabs .active {
  color: var(--blue);
  border-color: var(--blue);
  background: #f3f8ff;
}

.estimate-row {
  display: flex;
  max-width: 540px;
  margin: 14px auto 0;
  gap: 10px;
}

.estimate-row input {
  flex: 1;
  height: 44px;
  padding: 0 16px;
  border: 1px solid #d8e2f1;
  border-radius: 10px;
  outline: none;
  font-size: 15px;
}

.estimate-row a {
  display: grid;
  place-items: center;
  width: 140px;
  border-radius: 10px;
  color: #fff;
  background: var(--blue);
  font-size: 15px;
  font-weight: 800;
}

.section { padding: 96px 0; }

.section-title {
  margin: 0 0 30px;
  font-size: 26px;
  line-height: 1.35;
  font-weight: 700;
  word-break: keep-all;
}

.tabs {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}

.review-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.review {
  min-height: 136px;
  padding: 20px;
  border-radius: 14px;
  background: #f3f6fb;
}

.review em {
  color: #c6d0df;
  font-size: 30px;
  line-height: 1;
  font-style: normal;
  font-weight: 800;
}

.review p {
  margin: 6px 0 18px;
  color: #344054;
  font-size: 14px;
  line-height: 1.58;
  font-weight: 500;
  word-break: keep-all;
}

.review span {
  color: #667085;
  font-size: 12px;
  font-weight: 700;
}

.deal-list {
  display: grid;
  gap: 12px;
  margin-top: 20px;
}

.deal-list a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 60px;
  padding: 0 24px;
  border-radius: 14px;
  background: #f3f6fb;
  font-size: 15px;
}

.deal-list strong { font-weight: 800; }
.deal-list span { color: var(--blue); font-weight: 800; }

.more-btn {
  display: grid;
  place-items: center;
  width: 300px;
  height: 48px;
  margin: 30px auto 0;
  border: 1px solid #d8e2f1;
  border-radius: 10px;
  background: #fff;
  font-size: 14px;
  font-weight: 700;
}

.gray-band {
  display: grid;
  place-items: center;
  min-height: 200px;
  text-align: center;
  background: #f2f5fa;
}

.gray-band.compact { min-height: 150px; }
.gray-band .section-title { margin: 0; color: #26313f; }

.reason-board {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  padding: 24px;
  border-radius: 16px;
  background: #f4f7fc;
}

.reason-left,
.reason-small {
  border-radius: 14px;
  background: #fff;
}

.reason-left {
  grid-row: span 2;
  min-height: 250px;
  padding: 28px;
}

.reason-small {
  min-height: 118px;
  padding: 24px;
}

.reason-small.blue { background: #eaf2ff; }
.reason-small.mint { background: #eefaf7; }

.reason-board span {
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  margin-bottom: 20px;
  border-radius: 50%;
  color: #fff;
  background: #344054;
  font-size: 12px;
  font-weight: 800;
}

.reason-board h3 {
  margin: 0 0 10px;
  font-size: 17px;
  line-height: 1.42;
  font-weight: 800;
}

.reason-board p {
  margin: 0;
  color: #667085;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 500;
}

.network {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 54px;
  color: var(--blue);
}

.network i,
.network b {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 16px;
  background: #eef5ff;
  font-size: 24px;
  font-style: normal;
}

.network b {
  width: 76px;
  color: #fff;
  background: var(--blue);
  font-size: 15px;
}

.ecosystem {
  grid-column: 1 / -1;
  display: block;
  width: 100%;
  border-radius: 18px;
  background: #dbeeff;
}

.benefit-calc { padding-top: 24px; }

.calc-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 270px;
  padding: 46px 72px;
  border-radius: 16px;
  background: #f3f6fb;
}

.calc-card h2 {
  margin: 0 0 18px;
  font-size: 20px;
  font-weight: 800;
}

.calc-card ol {
  margin: 0;
  padding-left: 22px;
  color: #667085;
  font-size: 15px;
  line-height: 1.9;
  font-weight: 500;
}

.slider {
  position: relative;
  width: 280px;
  height: 5px;
  margin: 34px 0;
  border-radius: 99px;
  background: #cfd8e6;
}

.slider span {
  position: absolute;
  left: 0;
  top: 0;
  width: 58%;
  height: 100%;
  border-radius: inherit;
  background: var(--blue);
}

.slider::after {
  position: absolute;
  left: 58%;
  top: 50%;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 4px 16px rgba(16,24,40,.2);
  transform: translate(-50%, -50%);
  content: "";
}

.calc-card button,
.form-card button {
  width: 300px;
  height: 52px;
  border: 0;
  border-radius: 10px;
  color: #fff;
  background: var(--blue);
  font-size: 15px;
  font-weight: 800;
}

.bag { font-size: 78px; }

.estimate-form-section { padding: 70px 0 130px; }

.form-card {
  padding: 38px;
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow);
}

.form-card h2 {
  margin: 0;
  font-size: 26px;
  font-weight: 800;
}

.form-card p {
  margin: 12px 0 28px;
  color: #667085;
  font-size: 15px;
  font-weight: 500;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.form-grid input,
.form-grid select,
.form-grid textarea {
  width: 100%;
  min-height: 48px;
  padding: 0 18px;
  border: 1px solid #d8e2f1;
  border-radius: 10px;
  background: #fff;
  outline: none;
  font-size: 15px;
  font-weight: 500;
}

.form-grid textarea {
  min-height: 118px;
  padding-top: 18px;
  resize: vertical;
}

.form-grid .full { grid-column: 1 / -1; }
.form-card button { display: block; margin: 24px auto 0; }

.floating-consult {
  position: fixed;
  top: 230px;
  right: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  filter: none;
  transition: transform .26s ease;
}

.consult-toggle {
  position: relative;
  z-index: 2;
  width: 30px;
  height: 56px;
  margin-right: -1px;
  border: 1px solid #edf1f7;
  border-right: 0;
  border-radius: 10px 0 0 10px;
  color: #9aa4b2;
  background: #fbfcff;
  box-shadow: none;
  font-size: 24px;
  line-height: 1;
  transition: color .2s ease, transform .2s ease;
}

.consult-toggle:hover {
  color: var(--blue);
}

.consult-panel {
  width: 198px;
  padding: 20px 18px;
  border-radius: 8px 0 0 8px;
  border: 1px solid #edf1f7;
  border-right: 0;
  background: #fbfcff;
  box-shadow: none;
}

.floating-consult strong {
  display: block;
  margin-bottom: 12px;
  font-size: 16px;
  font-weight: 760;
}

.consult {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  margin-bottom: 8px;
  border-radius: 8px;
  padding: 0 12px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
}

.consult.blue { color: var(--blue); background: #eaf1ff; }
.consult.yellow { color: #171b22; background: var(--yellow); }
.consult.light { color: #272d37; background: #edf1f6; }
.consult.dark { color: #fff; background: var(--blue); }

.consult.yellow::before,
.bottom-chat::before,
.rail.yellow::before {
  display: block;
  width: 22px;
  height: 20px;
  background: url("./assets/chat-bubble-icon.png") center / contain no-repeat;
  content: "";
}

.consult.yellow::before,
.bottom-chat::before {
  position: relative;
  top: 0;
  flex: 0 0 auto;
}

.consult.yellow::after,
.bottom-chat::after,
.rail.yellow::after {
  display: none;
}

.consult.yellow,
.bottom-chat,
.rail.yellow {
  position: relative;
}

.consult.yellow::after {
  content: none;
}

.consult-phone {
  margin-top: 12px;
  padding: 14px 8px 8px;
  border-radius: 8px;
  background: #eaf1ff;
  text-align: center;
}

.floating-consult p {
  margin: 0 0 8px;
  color: #7a8494;
  line-height: 1.35;
  font-size: 13px;
  font-weight: 500;
}

.floating-consult b {
  display: block;
  color: #202631;
  font-size: 24px;
  line-height: 1.05;
  font-weight: 760;
}

.floating-consult img {
  display: block;
  width: 66px;
  margin: 10px auto 0;
}

.consult-rail {
  display: none;
  width: 68px;
  padding: 18px 0;
  border-radius: 8px 0 0 8px;
  border: 1px solid #edf1f7;
  border-right: 0;
  background: #fbfcff;
  box-shadow: none;
}

.rail {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin: 0 auto 14px;
  border-radius: 8px;
  font-size: 18px;
}

.rail:last-child { margin-bottom: 0; }
.rail.blue { background: #eaf1ff; }
.rail.yellow { background: var(--yellow); }
.rail.yellow::before {
  width: 24px;
  height: 22px;
}

.rail.yellow::after {
  content: none;
}
.rail.light { background: #edf1f6; }
.rail.dark {
  color: #fff;
  background: var(--blue);
}

.rail-find-icon {
  display: block;
  width: 25px;
  height: 25px;
}

.floating-consult.collapsed .consult-panel {
  display: none;
}

.floating-consult.collapsed .consult-rail {
  display: block;
}

.floating-consult.collapsed .consult-toggle {
  transform: none;
}

.floating-consult.collapsed .consult-toggle::before {
  content: "‹";
}

.floating-consult:not(.collapsed) .consult-toggle::before {
  content: "›";
}

.consult-toggle {
  font-size: 0;
}

.consult-toggle::before {
  display: block;
  font-size: 24px;
  line-height: 1;
}

.bottom-chat {
  position: fixed;
  left: 50%;
  bottom: 18px;
  z-index: 28;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 330px;
  height: 50px;
  border-radius: 12px;
  background: var(--yellow);
  transform: translateX(-50%);
  color: #11151c;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0;
}

.bottom-chat::before {
  width: 22px;
  height: 20px;
}

.bottom-chat::after {
  content: none;
}

.footer {
  padding: 54px 0 90px;
  border-top: 1px solid var(--line);
  color: #667085;
}

.footer strong {
  display: block;
  color: var(--ink);
  font-size: 22px;
  font-weight: 800;
}

.footer span {
  display: block;
  margin-top: 6px;
  font-size: 15px;
  font-weight: 700;
}

.reveal {
  opacity: 1;
  transform: none;
  transition: none;
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1100px) {
  .floating-consult { display: none; }
}

@media (max-width: 1020px) {
  .mini-nav nav,
  .member-actions { display: none; }

  .main-nav { height: 70px; }

  .main-nav nav {
    overflow-x: visible;
    gap: 24px;
    min-width: 0;
    font-size: 19px;
    white-space: nowrap;
  }

  .nav-item,
  .nav-item > a,
  .main-nav nav > a {
    height: 70px;
  }

  .sub-nav {
    top: 126px;
    justify-content: flex-start;
    gap: 28px;
    overflow-x: auto;
    padding: 0 max(24px, calc((100vw - 1180px) / 2));
  }

  .hamburger {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
  }

  .menu-panel {
    top: 126px;
    right: 24px;
    width: min(332px, calc(100vw - 48px));
  }

  .hero h1 { font-size: 40px; }
  .hero-person { right: -160px; opacity: .72; }

  .shortcut-card {
    overflow-x: auto;
    padding-top: 18px;
  }

  .shortcut-group { min-width: 260px; }
  .shortcut-group.wide { min-width: 520px; }

  .review-grid,
  .reason-board { grid-template-columns: repeat(2, 1fr); }

  .reason-left { grid-row: auto; }
  .ecosystem { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .promo-bar {
    height: 40px;
    font-size: 13px;
  }

  .header { top: 40px; }

  .mini-nav,
  .main-nav,
  .hero-inner,
  .shortcut-wrap,
  .section,
  .support-card,
  .estimate-form-section,
  .footer {
    width: min(100% - 28px, 1180px);
  }

  .mini-nav { height: 60px; }
  .logo { margin-left: -6px; }
  .logo img { width: 126px; }

  .main-nav nav {
    font-size: 17px;
    gap: 18px;
  }

  .sub-nav {
    top: 130px;
    gap: 22px;
    min-height: 52px;
    font-size: 15px;
    padding: 0 14px;
  }

  .sub-nav a {
    height: 52px;
    font-size: 15px;
  }

  .hamburger {
    width: 46px;
    height: 46px;
    border-radius: 12px;
  }

  .hamburger i { width: 22px; }

  .menu-panel {
    top: 118px;
    right: 14px;
    width: calc(100vw - 28px);
    padding: 24px;
    border-radius: 22px;
  }

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

  .hero {
    height: 380px;
  }

  .hero-inner {
    align-items: flex-start;
    padding-top: 46px;
  }

  .hero h1 { font-size: 33px; }
  .hero p { font-size: 17px; }
  .hero-person { right: -260px; bottom: -72px; opacity: .55; }

  .support-card {
    margin-top: 70px;
    padding: 34px 18px;
  }

  .support-card h2 { font-size: 22px; }

  .estimate-mini,
  .estimate-row { flex-direction: column; }

  .estimate-row a {
    width: 100%;
    height: 50px;
  }

  .section-title { font-size: 25px; }

  .review-grid,
  .reason-board,
  .form-grid { grid-template-columns: 1fr; }

  .calc-card {
    display: block;
    padding: 34px 24px;
  }

  .calc-card button,
  .form-card button { width: 100%; }

  .bag {
    margin-top: 24px;
    text-align: center;
  }

  .bottom-chat { width: calc(100% - 32px); }
}

.cleaning-form .form-grid input,
.cleaning-form .form-grid select,
.cleaning-form .form-grid textarea {
  margin-top: 8px;
}

@media (max-width: 980px) {
  .cleaning-hero-inner,
  .landing-shell {
    grid-template-columns: 1fr;
  }

  .landing-aside {
    position: static;
  }

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

@media (max-width: 680px) {
  .cleaning-hero-inner,
  .landing-shell,
  .scope-section {
    width: min(100% - 28px, 980px);
  }

  .cleaning-hero-inner {
    min-height: 260px;
  }

  .cleaning-copy h1 {
    font-size: 31px;
  }

  .cleaning-form {
    padding: 24px 18px;
  }

  .form-grid,
  .extra-grid,
  .option-grid,
  .scope-grid {
    grid-template-columns: 1fr;
  }
}

.simple-page {
  width: min(980px, calc(100% - 48px));
  margin: 70px auto 120px;
}

.simple-page h1 {
  margin: 0;
  font-size: 34px;
  line-height: 1.25;
  font-weight: 800;
}

.simple-page p {
  color: #667085;
  font-size: 16px;
  line-height: 1.7;
}

.simple-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 28px;
}

.simple-card {
  min-height: 160px;
  padding: 24px;
  border-radius: 14px;
  background: #f4f7fc;
}

.simple-card h2 {
  margin: 0 0 10px;
  font-size: 19px;
  font-weight: 800;
}

@media (max-width: 760px) {
  .simple-card-grid {
    grid-template-columns: 1fr;
  }
}

/* Home index benchmark layout */
.promo-bar {
  font-size: 15px;
  font-weight: 500;
}

.promo-bar strong {
  font-weight: 500;
}

.home-main {
  padding-bottom: 0;
}

.home-hero {
  min-height: 410px;
  background: #eaf3ff;
  overflow: hidden;
}

.home-hero-inner,
.home-shortcuts,
.home-section,
.safe-card,
.support-promo,
.ecosystem-section,
.extra-benefit,
.final-home-cta > div,
.full-footer {
  width: min(1180px, calc(100% - 48px));
  margin-left: auto;
  margin-right: auto;
}

.home-hero-inner {
  position: relative;
  min-height: 410px;
  display: flex;
  align-items: center;
}

.home-hero-copy {
  position: relative;
  z-index: 2;
  padding-top: 8px;
}

.home-hero-copy h1 {
  margin: 0;
  color: #202631;
  font-size: 40px;
  line-height: 1.25;
  font-weight: 760;
  letter-spacing: 0;
}

.home-hero-copy p {
  margin: 18px 0 0;
  color: #5f6b7a;
  font-size: 17px;
  line-height: 1.55;
  font-weight: 450;
}

.home-hero-visual {
  position: absolute;
  right: -120px;
  bottom: -34px;
  width: 780px;
  height: 430px;
  overflow: visible;
  background: #eaf3ff;
}

.home-hero-visual::before {
  display: none;
}

.home-hero-visual img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 1;
  filter: none;
}

.home-shortcuts {
  display: flex;
  align-items: stretch;
  gap: 8px;
  margin-top: 34px;
  margin-bottom: 118px;
}

.shortcut-set {
  position: relative;
  min-height: 94px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  padding: 22px 28px 16px;
  border-radius: 13px;
  background: #f3f6fb;
}

.shortcut-set.compact {
  min-width: 220px;
  padding-left: 22px;
  padding-right: 22px;
}

.shortcut-set.wide {
  flex: 1;
}

.shortcut-set b {
  position: absolute;
  top: -10px;
  left: 0;
  padding: 5px 11px;
  border-radius: 7px;
  color: #fff;
  background: var(--blue);
  font-size: 13px;
  line-height: 1;
  font-weight: 650;
}

.shortcut-set.wide b {
  background: #8d97a3;
}

.shortcut-set a {
  min-width: 58px;
  display: grid;
  justify-items: center;
  gap: 9px;
  color: #2b3441;
  font-size: 14px;
  font-weight: 650;
  white-space: nowrap;
}

.shortcut-set span,
.menu-services span {
  display: block;
  width: auto;
  height: auto;
  background: transparent;
  font-size: 29px;
  line-height: 1;
}

.support-promo {
  min-height: 286px;
  margin-bottom: 108px;
  padding: 56px 48px 0;
  border-radius: 18px;
  background: #edf5ff;
  text-align: center;
  overflow: hidden;
}

.support-promo p {
  margin: 0 0 12px;
  color: #667085;
  font-size: 16px;
  font-weight: 500;
}

.support-promo h2 {
  margin: 0;
  color: #202631;
  font-size: 24px;
  line-height: 1.35;
  font-weight: 760;
}

.support-promo h2::first-letter {
  color: inherit;
}

.support-promo a,
.more-btn,
.extra-benefit a,
.final-home-cta a {
  display: grid;
  place-items: center;
  width: min(420px, 100%);
  height: 52px;
  margin: 28px auto 0;
  border: 1px solid #d6dee9;
  border-radius: 10px;
  background: #fff;
  color: #2b3441;
  font-size: 15px;
  font-weight: 650;
}

.support-graphic {
  margin: 34px auto 0;
  width: min(760px, 100%);
  height: auto;
  overflow: visible;
  border-radius: 0;
  background: #edf5ff;
}

.support-graphic img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
  filter: none;
}

.safe-section {
  padding: 78px 0 86px;
  background: #f3f6fb;
}

.safe-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
  padding: 38px 42px;
  border-radius: 18px;
  background: #fefdfd;
}

.safe-card h2,
.section-title,
.ecosystem-copy h2,
.extra-benefit h2,
.final-home-cta h2 {
  margin: 0;
  color: #202631;
  font-size: 27px;
  line-height: 1.35;
  font-weight: 760;
}

.safe-card p,
.ecosystem-copy p,
.final-home-cta p {
  margin: 10px 0 0;
  color: #667085;
  font-size: 16px;
  line-height: 1.55;
  font-weight: 450;
}

.safe-card ul {
  display: grid;
  justify-items: start;
  gap: 11px;
  margin: 76px 0 0;
  padding: 0;
  list-style: none;
}

.safe-card li {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  padding: 13px 46px 13px 42px;
  border: 1px solid #e5ecf6;
  border-radius: 10px;
  color: #4f5d73;
  background: #f7faff;
  font-size: 15px;
  font-weight: 650;
}

.safe-card li::before {
  position: absolute;
  left: 14px;
  color: var(--blue);
  font-weight: 760;
  content: "✓";
}

.safe-card li.active {
  border-color: #e5ecf6;
  color: #4f5d73;
  background: #f7faff;
}

.safe-visual {
  display: grid;
  place-items: center;
  align-content: center;
  min-height: 330px;
  border-radius: 0;
  background: #fefdfd;
  text-align: center;
  overflow: hidden;
}

.safe-visual img {
  width: min(118%, 660px);
  height: auto;
  min-height: 0;
  display: block;
  object-fit: contain;
  object-position: center;
  filter: none;
}

.home-section {
  padding: 94px 0 8px;
}

.section-title {
  margin-bottom: 24px;
}

.tabs {
  display: flex;
  gap: 10px;
  margin-bottom: 18px;
}

.tabs button {
  min-width: 76px;
  height: 40px;
  border: 1px solid #dbe3ee;
  border-radius: 999px;
  color: #667085;
  background: #fff;
  font-size: 14px;
  font-weight: 600;
}

.tabs button.active {
  border-color: #3f83ee;
  color: #1f6be8;
  background: #eef5ff;
}

.review-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.review {
  min-height: 126px;
  padding: 18px;
  border-radius: 12px;
  background: #f4f7fc;
}

.review em {
  color: #d8dee8;
  font-size: 28px;
  line-height: 1;
  font-style: normal;
}

.review p {
  margin: 2px 0 14px;
  color: #2b3441;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 600;
}

.review span {
  color: #7a8494;
  font-size: 12px;
  font-weight: 500;
}

.product-list {
  display: grid;
  gap: 13px;
}

.product-list a {
  min-height: 84px;
  display: grid;
  grid-template-columns: 58px 1fr auto 28px;
  align-items: center;
  column-gap: 16px;
  padding: 17px 22px;
  border-radius: 13px;
  background: #f4f7fc;
}

.product-list span {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 12px;
  background: #fff;
  font-size: 26px;
}

.product-list strong {
  font-size: 17px;
  line-height: 1.35;
  font-weight: 720;
}

.product-list em {
  color: #667085;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
}

.product-list b {
  color: #3f83ee;
  font-size: 16px;
  font-weight: 760;
}

.product-list a::after {
  color: #b0bac7;
  font-size: 28px;
  content: "›";
}

.reason-board {
  grid-template-columns: 1.05fr 1fr;
  grid-template-rows: repeat(2, 1fr);
  padding: 0;
  background: transparent;
}

.reason-left,
.reason-small {
  border-radius: 16px;
}

.reason-left {
  grid-row: 1 / 3;
}

.network {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 56px;
}

.network i,
.network b {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(31, 64, 128, .08);
  font-style: normal;
}

.network b {
  color: #fff;
  background: var(--blue);
  font-size: 14px;
}

.ecosystem-section {
  padding: 72px 0 42px;
}

.ecosystem-copy {
  margin-bottom: 24px;
}

.ecosystem {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  border-radius: 20px;
  background: transparent;
  box-shadow: none;
  filter: none;
  overflow: hidden;
}

.tip-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.tip-card {
  overflow: hidden;
  min-height: 214px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 22px;
  border-radius: 14px;
  color: #fff;
  background:
    linear-gradient(180deg, rgba(31, 38, 49, .08), rgba(31, 38, 49, .76)),
    linear-gradient(135deg, #78b6ff, #1f6be8);
}

.tip-card span {
  color: rgba(255,255,255,.82);
  font-size: 13px;
  font-weight: 650;
}

.tip-card strong {
  margin-top: 8px;
  font-size: 21px;
  line-height: 1.3;
  font-weight: 780;
}

.tip-card p {
  margin: 10px 0 0;
  color: rgba(255,255,255,.88);
  font-size: 14px;
  line-height: 1.5;
}

.extra-benefit {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 300px;
  margin-top: 88px;
  margin-bottom: 72px;
  padding: 44px 58px;
  border-radius: 18px;
  background: #f3f6fb;
}

.extra-benefit ol {
  display: grid;
  gap: 8px;
  margin: 18px 0 0;
  padding-left: 18px;
  color: #667085;
  font-size: 15px;
  font-weight: 550;
}

.extra-benefit > span {
  font-size: 84px;
}

.extra-benefit a {
  margin-left: 0;
  color: #fff;
  border-color: var(--blue);
  background: var(--blue);
}

.final-home-cta {
  position: relative;
  min-height: 300px;
  display: grid;
  align-items: center;
  background: #dceafc;
  overflow: hidden;
  text-align: left;
}

.final-home-cta > div {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  column-gap: 70px;
  row-gap: 12px;
  align-items: center;
  z-index: 1;
}

.final-home-cta img {
  position: static;
  grid-column: 2;
  grid-row: 1 / 4;
  justify-self: end;
  width: min(420px, 100%);
  max-height: 260px;
  margin-bottom: 0;
  object-fit: contain;
  opacity: 1;
  filter: none;
}

.final-home-cta a {
  margin-left: 0;
  margin-right: 0;
}

.full-footer {
  width: 100%;
  margin: 0;
  padding: 46px 0 104px;
  border-top: 0;
  color: #8a94a3;
  background: #edf2f7;
}

.footer-layout {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 48px;
}

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

.footer-social {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 32px;
}

.footer-social a {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  color: #a6afb9;
  background: #f7f9fc;
  font-size: 24px;
  line-height: 1;
  font-weight: 820;
}

.footer-links,
.footer-legal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  color: #75808d;
  font-size: 14px;
  font-weight: 650;
}

.full-footer .footer-links {
  margin: 0 0 18px;
}

.footer-intro {
  margin: 0 0 14px;
  color: #7c8794;
  font-size: 14px;
  line-height: 1.7;
  font-weight: 520;
}

.full-footer .footer-legal {
  gap: 0;
  margin-top: 28px;
  color: #7f8995;
  font-size: 15px;
  font-weight: 720;
}

.footer-legal a + a::before {
  display: inline-block;
  margin: 0 12px;
  color: #b5bdc7;
  content: "|";
  font-weight: 500;
}

.footer-copy {
  margin: 22px 0 0;
  color: #9aa3ad;
  font-size: 15px;
  font-weight: 520;
}

.footer-award {
  align-self: flex-end;
  display: grid;
  justify-items: center;
  gap: 12px;
  min-width: 150px;
  margin-bottom: 12px;
  color: #a0a9b4;
  text-align: center;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 550;
}

.footer-award p {
  margin: 0;
}

.award-medal {
  position: relative;
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  color: #8d6420;
  background:
    radial-gradient(circle at 50% 50%, #fff8d7 0 36%, #e0b35b 37% 45%, #fff3c0 46% 54%, #b8822f 55% 68%, #f6d58b 69% 100%);
  box-shadow: inset 0 0 0 4px rgba(255,255,255,.72), 0 8px 18px rgba(91, 105, 125, .12);
  font-size: 24px;
  font-weight: 900;
}

@media (max-width: 760px) {
  .full-footer {
    padding: 38px 0 104px;
  }

  .footer-layout {
    width: min(100% - 28px, 1180px);
    display: grid;
    gap: 28px;
  }

  .footer-social {
    gap: 12px;
    margin-bottom: 24px;
  }

  .footer-social a {
    width: 42px;
    height: 42px;
    font-size: 21px;
  }

  .footer-award {
    justify-self: start;
    align-self: start;
    display: flex;
    align-items: center;
    text-align: left;
  }
}

/* Final footer layout */
.full-footer {
  width: 100%;
  margin: 0;
  padding: 44px 0 104px;
  border-top: 0;
  color: #89939f;
  background: #edf2f7;
}

.footer-layout {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  display: block;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 30px;
  margin: 0 0 26px;
  color: #56616e;
  font-size: 16px;
  font-weight: 650;
}

.footer-divider {
  height: 1px;
  margin-bottom: 20px;
  background: #dce3eb;
}

.footer-intro,
.footer-company,
.footer-contact,
.footer-note {
  margin: 0;
  color: #89939f;
  font-size: 14px;
  line-height: 1.85;
  font-weight: 520;
}

.footer-company {
  margin-top: 2px;
}

.footer-company b,
.footer-contact b {
  color: #7a8490;
  font-weight: 650;
}

.footer-note {
  margin-top: 24px;
}

.footer-bottom-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 36px;
  margin-top: 26px;
}

.footer-social {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 28px;
}

.footer-social a {
  position: relative;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  color: #a6afb9;
  background: #f8fafc;
  line-height: 1;
}

.footer-social img {
  display: block;
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.full-footer .footer-legal {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-top: 0;
  color: #7f8995;
  font-size: 15px;
  font-weight: 720;
}

.footer-legal a + a::before {
  display: inline-block;
  margin: 0 12px;
  color: #b5bdc7;
  content: "|";
  font-weight: 500;
}

.footer-copy {
  margin: 20px 0 0;
  color: #89939f;
  font-size: 15px;
  font-weight: 520;
}

.footer-award {
  display: grid;
  justify-items: center;
  gap: 10px;
  min-width: 120px;
  margin: 0;
  color: #a0a9b4;
  text-align: center;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 550;
}

.footer-award img {
  display: block;
  width: 82px;
  height: 82px;
  object-fit: contain;
  border-radius: 50%;
}

.footer-award p {
  margin: 0;
}

@media (max-width: 760px) {
  .full-footer {
    padding: 38px 0 104px;
  }

  .footer-layout {
    width: min(100% - 28px, 1180px);
  }

  .footer-bottom-row {
    display: grid;
    gap: 24px;
  }

  .footer-links {
    gap: 18px;
    font-size: 15px;
  }

  .footer-social {
    gap: 10px;
  }

  .footer-social a {
    width: 42px;
    height: 42px;
  }

  .footer-social img {
    width: 25px;
    height: 25px;
  }

  .footer-award {
    justify-items: start;
    text-align: left;
  }
}

.floating-consult {
  top: 244px;
}

.consult-panel {
  width: 188px;
  padding: 18px 16px;
  border-color: #edf1f7;
  background: #fbfcff;
}

.consult {
  height: 38px;
  font-size: 13px;
}

.consult-phone {
  padding: 14px 8px 10px;
}

.floating-consult b {
  font-size: 22px;
}

.consult-phone img {
  display: none;
}

.home-main img {
  animation: none !important;
  filter: none !important;
}

.support-promo.reveal,
.safe-card.reveal,
.ecosystem-copy.reveal,
.ecosystem.reveal,
.extra-benefit.reveal {
  opacity: 1 !important;
  transform: none !important;
}

.bottom-chat {
  width: min(372px, calc(100% - 36px));
  height: 54px;
  bottom: 24px;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 720;
}

.page-main {
  background: #fff;
}

.page-hero {
  min-height: 292px;
  display: flex;
  align-items: center;
  background: linear-gradient(90deg, #edf4ff 0%, #f5f9ff 100%);
}

.page-hero-inner,
.page-section,
.page-cta {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.page-hero p {
  margin: 0 0 10px;
  color: var(--blue);
  font-size: 15px;
  font-weight: 700;
}

.page-hero h1 {
  margin: 0;
  font-size: 38px;
  line-height: 1.25;
  font-weight: 760;
}

.page-hero span {
  display: block;
  max-width: 560px;
  margin-top: 16px;
  color: #667085;
  font-size: 17px;
  line-height: 1.62;
}

.page-section {
  padding: 76px 0 10px;
}

.page-section h2 {
  margin: 0 0 24px;
  font-size: 27px;
  line-height: 1.35;
  font-weight: 760;
}

.page-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.page-card {
  min-height: 190px;
  padding: 26px 24px;
  border-radius: 14px;
  background: #f4f7fc;
}

.page-card strong {
  display: block;
  font-size: 19px;
  line-height: 1.35;
  font-weight: 760;
}

.page-card p {
  margin: 12px 0 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.62;
}

.page-cta {
  display: grid;
  place-items: center;
  min-height: 216px;
  margin-top: 60px;
  margin-bottom: 44px;
  border-radius: 18px;
  background: #eef5ff;
  text-align: center;
}

.page-cta h2 {
  margin: 0 0 18px;
  font-size: 25px;
  font-weight: 760;
}

.page-cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 210px;
  height: 48px;
  padding: 0 24px;
  border: 1px solid #1f6be8;
  border-radius: 999px;
  color: #1f6be8;
  background: #fff;
  font-size: 16px;
  font-weight: 680;
  box-shadow: 0 10px 22px rgba(31, 107, 232, .08);
}

.footer-company {
  margin: 18px 0 0;
  color: #7a8494;
  font-size: 13px;
  line-height: 1.8;
  font-weight: 450;
}

.footer-company b {
  color: #4b5565;
  font-weight: 650;
}

.footer-contact {
  margin-top: 8px;
  color: #7a8494;
  font-size: 13px;
  line-height: 1.8;
}

@media (max-width: 1020px) {
  .home-shortcuts {
    overflow-x: auto;
    padding: 10px 0 2px;
  }

  .shortcut-set,
  .shortcut-set.wide {
    flex: 0 0 auto;
  }

  .shortcut-set.wide {
    min-width: 650px;
  }

  .home-hero-visual {
    right: -10px;
    opacity: .72;
  }

}

@media (max-width: 760px) {
  .home-hero-inner,
  .home-shortcuts,
  .home-section,
  .safe-card,
  .support-promo,
  .ecosystem-section,
  .extra-benefit,
  .final-home-cta > div,
  .full-footer,
  .page-hero-inner,
  .page-section,
  .page-cta {
    width: min(100% - 28px, 1180px);
  }

  .home-hero,
  .home-hero-inner {
    min-height: 360px;
  }

  .home-hero-copy h1,
  .page-hero h1 {
    font-size: 31px;
  }

  .home-hero-copy p,
  .page-hero span {
    font-size: 15px;
  }

  .home-hero-visual {
    right: -150px;
    bottom: -30px;
    opacity: .38;
  }

  .home-shortcuts {
    margin-bottom: 70px;
  }

  .support-promo,
  .extra-benefit {
    padding: 34px 20px;
  }

  .safe-card,
  .page-grid,
  .tip-grid {
    grid-template-columns: 1fr;
  }

  .review-grid {
    grid-template-columns: 1fr;
  }

  .product-list a {
    grid-template-columns: 52px 1fr;
    row-gap: 6px;
  }

  .product-list em,
  .product-list b,
  .product-list a::after {
    grid-column: 2;
  }

  .extra-benefit {
    display: block;
  }

  .extra-benefit > span {
    display: block;
    margin-top: 22px;
    text-align: center;
  }

  .final-home-cta {
    text-align: center;
  }

  .final-home-cta > div {
    grid-template-columns: 1fr;
  }

  .final-home-cta img {
    grid-column: 1;
    grid-row: auto;
    justify-self: center;
    width: min(280px, 82%);
    opacity: 1;
  }

  .final-home-cta a {
    margin-left: auto;
    margin-right: auto;
  }
}


/* Footer width correction: keep background full, content centered */
.full-footer {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.full-footer .footer-layout {
  width: min(1180px, calc(100% - 48px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 760px) {
  .full-footer .footer-layout {
    width: min(100% - 28px, 1180px) !important;
  }
}

/* Footer menu removal cleanup */
.full-footer {
  padding-top: 38px !important;
}

.footer-links,
.footer-divider,
.footer-legal {
  display: none !important;
}

/* Hamburger menu final correction */
.hamburger {
  width: 46px;
  height: 46px;
  border-radius: 14px;
}

.hamburger.active {
  background: #eef2f7;
}

.hamburger-icon {
  width: 28px;
  height: 28px;
  stroke-width: 2;
}

.menu-panel {
  top: 124px;
  right: max(24px, calc((100vw - 1180px) / 2 + 24px));
  width: min(420px, calc(100vw - 48px));
}

.menu-panel.open {
  transform: translateY(-4px);
}

.menu-services {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1020px) {
  .menu-panel {
    top: 128px;
    right: 24px;
    width: min(420px, calc(100vw - 48px));
  }
}

@media (max-width: 680px) {
  .menu-panel {
    top: 112px;
    right: 14px;
    width: calc(100vw - 28px);
  }

  .menu-services {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Full page service templates */
.service-page {
  background: #fff;
}

.service-hero {
  min-height: 430px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #eaf4ff;
}

.service-hero-inner {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  align-items: center;
  gap: 38px;
}

.service-hero p,
.service-copy > p {
  margin: 0 0 12px;
  color: var(--blue);
  font-size: 15px;
  font-weight: 720;
}

.service-hero h1 {
  margin: 0;
  font-size: 48px;
  line-height: 1.18;
  font-weight: 780;
}

.service-hero span,
.service-copy > span {
  display: block;
  margin-top: 16px;
  color: #667085;
  font-size: 17px;
  line-height: 1.65;
}

.service-hero a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  margin-top: 26px;
  padding: 0 24px;
  border-radius: 999px;
  color: #fff;
  background: var(--blue);
  font-size: 16px;
  font-weight: 720;
}

.service-hero-visual {
  justify-self: end;
  width: min(650px, 100%);
  background: #eaf4ff;
}

.service-hero-visual img,
.service-image img {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  box-shadow: none;
  filter: none;
  animation: none !important;
}

.service-detail {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 44px;
  align-items: center;
  margin-top: 74px;
  padding: 52px;
  border-radius: 20px;
  background: #fefdfd;
}

.service-copy h2 {
  margin: 0;
  font-size: 31px;
  line-height: 1.35;
  font-weight: 780;
}

.service-copy ul {
  display: grid;
  gap: 12px;
  margin: 40px 0 0;
  padding: 0;
  list-style: none;
}

.service-copy li {
  position: relative;
  width: fit-content;
  max-width: 100%;
  padding: 12px 18px 12px 38px;
  border-radius: 10px;
  color: #4f5d73;
  background: #eef5ff;
  font-size: 15px;
  font-weight: 680;
}

.service-copy li::before {
  position: absolute;
  left: 16px;
  color: var(--blue);
  content: "✓";
}

.service-image {
  align-self: stretch;
  display: flex;
  align-items: center;
  background: #fefdfd;
}

.service-process {
  padding-top: 62px;
}

.process-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.process-row article {
  min-height: 172px;
  padding: 25px 24px;
  border-radius: 14px;
  background: #eef5ff;
}

.process-row b {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin-bottom: 18px;
  border-radius: 50%;
  color: #fff;
  background: #2f3b4c;
  font-size: 14px;
}

.process-row strong {
  display: block;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 760;
}

.process-row p {
  margin: 10px 0 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.58;
}

/* Auth and board pages */
.auth-modal {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(15, 23, 42, .32);
}

.auth-modal.open {
  display: flex;
}

.auth-card {
  width: min(440px, 100%);
  max-height: calc(100vh - 24px);
  overflow-y: auto;
  padding: 28px;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 30px 90px rgba(15, 23, 42, .24);
}

.auth-card header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
}

.auth-card h2 {
  margin: 0;
  font-size: 24px;
  font-weight: 780;
}

.auth-close {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: #f2f5f9;
  color: #667085;
  font-size: 20px;
}

.auth-tabs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-bottom: 16px;
}

.auth-tabs button {
  height: 42px;
  border: 1px solid #dbe4f0;
  border-radius: 10px;
  background: #fff;
  font-weight: 700;
}

.auth-tabs button.active {
  border-color: #1f6be8;
  color: #1f6be8;
  background: #eef5ff;
}

.auth-form {
  display: grid;
  gap: 12px;
}

.auth-form .join-only[hidden] {
  display: none !important;
}

.auth-form label,
.board-form label {
  display: grid;
  gap: 8px;
  color: #4f5d73;
  font-size: 14px;
  font-weight: 650;
}

.auth-form input,
.board-form input,
.board-form textarea {
  width: 100%;
  border: 1px solid #dbe4f0;
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  outline: none;
}

.auth-form input {
  height: 46px;
  padding: 0 14px;
}

.auth-form button[type="submit"],
.board-form button,
.board-write-btn,
.auth-open {
  height: 46px;
  border: 0;
  border-radius: 12px;
  color: #fff;
  background: var(--blue);
  font-weight: 760;
}

.auth-message {
  min-height: 22px;
  margin: 2px 0 0;
  color: #667085;
  font-size: 13px;
  line-height: 1.5;
}

.board-shell {
  padding-top: 76px;
  padding-bottom: 96px;
}

.board-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}

.board-head h2 {
  margin: 0 0 8px;
  font-size: 28px;
  font-weight: 780;
}

.board-head p {
  margin: 0;
  color: #667085;
  font-size: 16px;
  line-height: 1.6;
}

.board-write-btn {
  flex: 0 0 auto;
  padding: 0 24px;
}

.auth-notice {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px 18px;
  margin-bottom: 18px;
  padding: 18px 20px;
  border-radius: 14px;
  background: #eef5ff;
}

.auth-notice strong {
  font-size: 17px;
  font-weight: 760;
}

.auth-notice span {
  grid-column: 1;
  color: #667085;
  font-size: 14px;
  line-height: 1.55;
}

.auth-open {
  grid-row: 1 / span 2;
  grid-column: 2;
  padding: 0 18px;
}

.board-form {
  display: grid;
  gap: 12px;
  margin-bottom: 20px;
  padding: 20px;
  border: 1px solid #dbe4f0;
  border-radius: 16px;
  background: #fff;
}

.board-form[hidden] {
  display: none !important;
}

.board-form input {
  height: 46px;
  padding: 0 14px;
}

.board-form textarea {
  resize: vertical;
  padding: 14px;
  line-height: 1.6;
}

.board-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.board-more-slot {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 18px;
  padding: 6px 0 0;
  background: #fff;
}

.board-post {
  grid-column: 1 / -1;
  padding: 22px 24px;
  border: 1px solid #e4ebf5;
  border-radius: 16px;
  background: #f7faff;
}

.board-post header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.board-post h3 {
  margin: 0 0 8px;
  font-size: 19px;
  line-height: 1.4;
  font-weight: 760;
}

.board-meta,
.board-status {
  color: #7d8794;
  font-size: 13px;
  font-weight: 600;
}

.board-status {
  flex: 0 0 auto;
  padding: 6px 10px;
  border-radius: 999px;
  color: #1f6be8;
  background: #e8f0ff;
}

.board-post p {
  margin: 0;
  color: #4f5d73;
  font-size: 15px;
  line-height: 1.66;
}

.board-post-tools {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.board-post-tools button {
  height: 32px;
  padding: 0 12px;
  border: 1px solid #d9e4f5;
  border-radius: 10px;
  background: #fff;
  color: #64748b;
  font-weight: 700;
  cursor: pointer;
}

.board-post-tools button:hover {
  border-color: #2b72e8;
  color: #2b72e8;
}

.board-admin-write[hidden] {
  display: none;
}

.site-modal {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 14px;
  background: rgba(12, 20, 34, 0.36);
  backdrop-filter: blur(8px);
}

.site-modal.open {
  display: flex;
}

.site-modal-card {
  position: relative;
  width: min(520px, 100%);
  max-height: calc(100vh - 24px);
  overflow: auto;
  padding: 34px;
  border: 1px solid #e3ebf7;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 28px 70px rgba(24, 40, 68, 0.22);
}

.site-modal-card.wide {
  width: min(760px, 100%);
}

.site-modal-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: #f1f5f9;
  color: #758195;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.site-modal h2 {
  margin: 8px 0 18px;
  color: #202631;
  font-size: 28px;
  line-height: 1.3;
  font-weight: 780;
}

.site-modal p {
  color: #5f6c80;
  line-height: 1.65;
}

.modal-eyebrow {
  display: inline-flex;
  color: #226de8;
  font-size: 15px;
  font-weight: 760;
}

.modal-grid,
.service-modal-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 20px 0;
}

.modal-grid article,
.service-modal-list span {
  padding: 18px;
  border: 1px solid #e1eaf6;
  border-radius: 16px;
  background: #f6f9fe;
}

.modal-grid b {
  display: block;
  margin-bottom: 6px;
  color: #202631;
  font-size: 18px;
}

.modal-grid p {
  margin: 0;
  font-size: 14px;
}

.service-modal-list span {
  color: #263242;
  font-weight: 760;
  text-align: center;
}

.modal-primary,
.finder-result button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  margin-top: 14px;
  border: 0;
  border-radius: 14px;
  background: #226de8;
  color: #fff;
  font-size: 16px;
  font-weight: 780;
  cursor: pointer;
}

.modal-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.consult-form-modal label,
.finder-modal label {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
  color: #263242;
  font-size: 14px;
  font-weight: 760;
}

.consult-form-modal input,
.consult-form-modal select,
.consult-form-modal textarea,
.finder-modal select {
  width: 100%;
  border: 1px solid #dbe6f5;
  border-radius: 13px;
  background: #f8fbff;
  color: #202631;
  font: inherit;
  font-weight: 600;
  padding: 14px 15px;
}

.consult-form-modal select,
.finder-modal select {
  appearance: none;
  padding-right: 48px;
  background-color: #f8fbff;
  background-image:
    linear-gradient(45deg, transparent 50%, #273244 50%),
    linear-gradient(135deg, #273244 50%, transparent 50%);
  background-position:
    calc(100% - 24px) 50%,
    calc(100% - 17px) 50%;
  background-size: 7px 7px, 7px 7px;
  background-repeat: no-repeat;
}

.consult-form-modal textarea {
  min-height: 96px;
  resize: vertical;
}

.modal-help {
  margin: 12px 0 0;
  color: #8a96a8;
  font-size: 13px;
}

.finder-result {
  margin-top: 16px;
  padding: 18px;
  border-radius: 16px;
  background: #edf5ff;
  color: #243246;
  line-height: 1.6;
}

.finder-result:empty {
  display: none;
}

.finder-result {
  display: grid;
  gap: 14px;
  padding: 22px;
}

.finder-result-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.finder-result-head span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: #e1efff;
  color: #226de8;
  font-size: 13px;
  font-weight: 680;
}

.finder-result-head strong {
  color: #202631;
  font-size: 22px;
  font-weight: 700;
}

.finder-result p {
  margin: 0;
}

.finder-mini-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 15px;
  border: 1px solid #dce9fb;
  border-radius: 14px;
  background: #fff;
}

.finder-mini-card b,
.finder-checks b {
  color: #202631;
  font-weight: 680;
}

.finder-mini-card span {
  color: #5f6c80;
  text-align: right;
}

.finder-checks {
  padding: 16px;
  border-radius: 14px;
  background: #fff;
}

.finder-checks ul {
  display: grid;
  gap: 8px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.finder-checks li {
  position: relative;
  padding-left: 22px;
  color: #526176;
  line-height: 1.5;
}

.finder-checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #226de8;
}

.finder-bundle {
  padding: 14px 16px;
  border-radius: 14px;
  background: #f4f8ff;
  color: #3b4a60;
}

/* Refined modal tone */
.auth-card,
.site-modal-card {
  border: 1px solid #e5edf7;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 54px rgba(28, 42, 68, 0.16);
}

.auth-card {
  padding: 30px;
}

.site-modal-card {
  padding: 32px;
}

.auth-card,
.site-modal-card {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.auth-card::-webkit-scrollbar,
.site-modal-card::-webkit-scrollbar {
  display: none;
}

.auth-card h2,
.site-modal h2 {
  color: #202631;
  font-size: 26px;
  line-height: 1.35;
  font-weight: 680;
  letter-spacing: 0;
}

.site-modal h2 {
  margin: 8px 0 20px;
}

.site-modal p,
.auth-message,
.modal-help {
  color: #657287;
  font-weight: 500;
}

.modal-eyebrow {
  color: #226de8;
  font-size: 14px;
  font-weight: 680;
}

.auth-close,
.site-modal-close {
  width: 36px;
  height: 36px;
  background: #f3f6fa;
  color: #7d8898;
  font-size: 22px;
  font-weight: 400;
  transition: background .18s ease, color .18s ease;
}

.auth-close:hover,
.site-modal-close:hover {
  background: #e9eef6;
  color: #4c5868;
}

.auth-tabs button {
  border-radius: 12px;
  color: #5f6c80;
  font-weight: 620;
}

.auth-tabs button.active {
  border-color: #b8d2ff;
  background: #f3f8ff;
  color: #226de8;
}

.auth-form label,
.board-form label,
.consult-form-modal label,
.finder-modal label {
  color: #2d3748;
  font-size: 14px;
  font-weight: 620;
}

.auth-form input,
.consult-form-modal input,
.consult-form-modal select,
.consult-form-modal textarea,
.finder-modal select {
  border-color: #dce7f5;
  border-radius: 14px;
  background-color: #f9fbfe;
  color: #202631;
  font-weight: 540;
}

.consult-form-modal select,
.finder-modal select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 42px;
  background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10l5 5 5-5' stroke='%23263242' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right 15px center;
  background-size: 18px 18px;
  background-repeat: no-repeat;
}

.modal-primary,
.finder-result button,
.auth-form button[type="submit"] {
  min-height: 50px;
  border-radius: 14px;
  background: #226de8;
  font-size: 16px;
  font-weight: 680;
  box-shadow: none;
}

.modal-primary:hover,
.finder-result button:hover,
.auth-form button[type="submit"]:hover {
  background: #1d62d5;
}

.modal-grid article,
.service-modal-list span,
.finder-result {
  border-color: #e3ecf7;
  background: #f7faff;
}

.modal-grid b,
.service-modal-list span {
  font-weight: 680;
}

.board-reply {
  margin-top: 16px;
  padding: 16px 18px;
  border-radius: 12px;
  background: #fff;
}

.board-reply strong {
  display: block;
  margin-bottom: 8px;
  color: #1f6be8;
  font-size: 14px;
}

.review-upload-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.review-photos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.review-photos figure {
  margin: 0;
  overflow: hidden;
  border: 1px solid #e2eaf5;
  border-radius: 14px;
  background: #fff;
}

.review-photos img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.review-photos figcaption {
  padding: 9px 12px;
  color: #1f6be8;
  font-size: 13px;
  font-weight: 760;
}

@media (max-width: 900px) {
  .service-hero-inner,
  .service-detail,
  .process-row {
    grid-template-columns: 1fr;
  }

  .service-hero {
    min-height: auto;
    padding: 52px 0;
  }

  .service-hero h1 {
    font-size: 38px;
  }

  .service-detail {
    padding: 30px 20px;
  }

  .auth-notice,
  .board-head {
    display: block;
  }

  .auth-open,
  .board-write-btn {
    margin-top: 14px;
  }
}

/* Page-specific richer layouts */
.service-hero .hero-action,
.service-hero a.hero-action {
  display: none !important;
}

.service-hero.seamless-blue,
.service-hero.seamless-blue .service-hero-visual {
  background: #eaf4ff;
}

.service-hero-visual img,
.service-image img,
.board-hero-image img {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  box-shadow: none;
  filter: none;
  animation: none !important;
}

.service-detail.seamless-white,
.service-detail.seamless-white .service-image {
  background: #fefdfd;
}

.service-detail.seamless-blue,
.service-detail.seamless-blue .service-image {
  background: #eaf4ff;
}

.service-feature-band {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 26px;
}

.service-feature-band article,
.mini-faq article {
  padding: 22px 24px;
  border-radius: 15px;
  background: #eef5ff;
}

.service-feature-band strong,
.scope-list strong,
.mini-faq strong {
  display: block;
  color: #202631;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 760;
}

.service-feature-band p,
.scope-list p,
.mini-faq p {
  margin: 9px 0 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.6;
}

.service-split {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 34px;
  align-items: start;
}

.scope-list {
  display: grid;
  gap: 12px;
}

.scope-list article {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 16px;
  align-items: center;
  padding: 18px;
  border-radius: 14px;
  background: #f4f7fc;
}

.scope-list em {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #fff;
  font-style: normal;
  font-size: 22px;
}

.service-panel {
  padding: 28px;
  border-radius: 18px;
  background: #eef5ff;
}

.service-panel h3 {
  margin: 0 0 16px;
  font-size: 22px;
  font-weight: 780;
}

.service-panel ol {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: item;
}

.service-panel li {
  position: relative;
  padding-left: 34px;
  color: #4f5d73;
  font-size: 15px;
  line-height: 1.6;
  counter-increment: item;
}

.service-panel li::before {
  position: absolute;
  left: 0;
  top: 1px;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  color: #fff;
  background: var(--blue);
  font-size: 12px;
  font-weight: 800;
  content: counter(item);
}

.mini-faq {
  display: grid;
  gap: 12px;
}

.board-page .page-hero-inner {
  display: grid;
  grid-template-columns: 1fr 280px;
  align-items: center;
  gap: 34px;
}

.board-page .page-hero {
  background: #eaf4ff;
}

.board-hero-image {
  justify-self: end;
  width: 280px;
  background: #eaf4ff;
}

.board-more {
  min-width: 210px;
  height: 48px;
  margin: 0;
  padding: 0 28px;
  border: 1px solid #d8e3f2;
  border-radius: 999px;
  color: var(--blue);
  background: #fff;
  font-size: 16px;
  font-weight: 760;
  box-shadow: 0 10px 22px rgba(24, 45, 76, .06);
}

.board-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
}

.board-chips span {
  display: inline-flex;
  align-items: center;
  height: 34px;
  padding: 0 13px;
  border-radius: 999px;
  color: #1f6be8;
  background: #fff;
  font-size: 14px;
  font-weight: 700;
}

/* Cleaning hub page */
.cleaning-page .service-hero {
  min-height: 410px;
  background: #e3f0fe;
}

.cleaning-page .service-hero-inner {
  position: relative;
  min-height: 410px;
  display: flex;
  align-items: center;
  gap: 0;
}

.cleaning-page .service-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 460px;
}

.cleaning-page .service-hero h1 {
  font-size: 40px;
  line-height: 1.25;
  font-weight: 760;
}

.cleaning-page .service-hero span {
  max-width: 460px;
  font-size: 17px;
  line-height: 1.58;
}

.cleaning-hub-hero .service-hero-visual {
  position: absolute;
  right: -92px;
  bottom: -70px;
  width: 680px;
  background: #e3f0fe;
}

.cleaning-hub-hero .service-hero-visual img {
  width: 100%;
}

.section-title p,
.guide-copy p,
.final-copy p {
  margin: 0 0 10px;
  color: var(--blue);
  font-size: 15px;
  font-weight: 720;
}

.section-title h2,
.guide-copy h2,
.final-copy h2 {
  margin: 0;
  color: #202631;
  font-size: 29px;
  line-height: 1.35;
  font-weight: 760;
}

.cleaning-picker {
  padding-top: 70px;
}

.cleaning-type-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.cleaning-type-card {
  display: grid;
  grid-template-rows: 168px auto auto;
  gap: 10px;
  padding: 16px 16px 20px;
  border-radius: 18px;
  color: #202631;
  background: #e3f0fe;
  transition: transform .18s ease, box-shadow .18s ease;
}

.cleaning-type-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 38px rgba(31, 107, 232, .11);
}

.cleaning-type-card img {
  width: 100%;
  height: 168px;
  object-fit: contain;
  background: #e3f0fe;
}

.cleaning-type-card strong {
  font-size: 19px;
  line-height: 1.35;
  font-weight: 760;
}

.cleaning-type-card span {
  color: #667085;
  font-size: 15px;
  line-height: 1.52;
}

.cleaning-guide {
  display: grid;
  grid-template-columns: .72fr .82fr 1fr;
  gap: 18px;
  align-items: center;
  margin-top: 64px;
  padding: 38px;
  border-radius: 22px;
  background: #ecf4fe;
}

.guide-copy span,
.final-copy span {
  display: block;
  margin-top: 15px;
  color: #667085;
  font-size: 16px;
  line-height: 1.62;
}

.guide-checks {
  display: grid;
  gap: 12px;
}

.guide-checks article {
  display: grid;
  grid-template-columns: 42px 1fr;
  column-gap: 14px;
  align-items: center;
  min-height: 78px;
  padding: 16px;
  border-radius: 15px;
  background: rgba(255, 255, 255, .58);
}

.guide-checks b {
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: #fff;
  background: var(--blue);
  font-size: 13px;
}

.guide-checks strong {
  grid-column: 2;
  display: block;
  font-size: 17px;
  font-weight: 760;
}

.guide-checks p {
  grid-column: 2;
  margin: 5px 0 0;
  color: #667085;
  font-size: 14px;
  line-height: 1.5;
}

.guide-image,
.guide-image img {
  background: #ecf4fe;
}

.guide-image img {
  display: block;
  width: 100%;
}

.cleaning-recommend {
  padding-top: 74px;
}

.recommend-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 26px;
}

.recommend-main {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 22px;
  align-items: center;
  padding: 26px;
  border-radius: 20px;
  background: #fdfefe;
}

.recommend-main img {
  width: 220px;
  background: #fdfefe;
}

.recommend-main strong {
  display: block;
  font-size: 22px;
  line-height: 1.35;
  font-weight: 780;
}

.recommend-main p {
  margin: 12px 0 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.62;
}

.recommend-list {
  display: grid;
  gap: 12px;
}

.recommend-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 86px;
  padding: 18px 22px;
  border-radius: 16px;
  color: #202631;
  background: #f4f7fc;
}

.recommend-list span {
  flex: 0 0 90px;
  color: var(--blue);
  font-size: 18px;
  font-weight: 780;
}

.recommend-list em {
  color: #667085;
  font-style: normal;
  font-size: 15px;
  line-height: 1.55;
}

.cleaning-flow {
  padding-top: 76px;
}

.flow-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 24px;
}

.flow-steps article {
  min-height: 168px;
  padding: 24px 22px;
  border-radius: 16px;
  background: #eef5ff;
}

.flow-steps b {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  margin-bottom: 18px;
  border-radius: 50%;
  color: #fff;
  background: #2f3b4c;
  font-size: 14px;
}

.flow-steps strong {
  display: block;
  font-size: 18px;
  font-weight: 760;
}

.flow-steps p {
  margin: 10px 0 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.58;
}

.cleaning-final {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 28px;
  align-items: center;
  margin-top: 62px;
  margin-bottom: 64px;
  padding: 42px 48px;
  border-radius: 22px;
  background: #e3f0fe;
}

.final-copy a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  margin-top: 24px;
  padding: 0 24px;
  border-radius: 999px;
  color: #fff;
  background: var(--blue);
  font-size: 16px;
  font-weight: 740;
}

.final-image,
.final-image img {
  background: #e3f0fe;
}

.final-image img {
  display: block;
  width: 100%;
}

@media (max-width: 980px) {
  .cleaning-hub-hero .service-hero-visual {
    right: -220px;
    opacity: .62;
  }

  .cleaning-type-grid,
  .flow-steps {
    grid-template-columns: repeat(2, 1fr);
  }

  .cleaning-guide,
  .recommend-layout,
  .cleaning-final {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .cleaning-page .service-hero,
  .cleaning-page .service-hero-inner {
    min-height: 380px;
  }

  .cleaning-page .service-hero h1 {
    font-size: 33px;
  }

  .cleaning-hub-hero .service-hero-visual {
    right: -310px;
    bottom: -48px;
    width: 620px;
    opacity: .34;
  }

  .cleaning-type-grid,
  .flow-steps {
    grid-template-columns: 1fr;
  }

  .cleaning-guide,
  .cleaning-final {
    padding: 28px 22px;
  }

  .recommend-main {
    grid-template-columns: 1fr;
  }
}

/* Move-in cleaning detail page */
.movein-page .service-hero {
  min-height: 410px;
  background: #e3f0fe;
  overflow: hidden;
}

.movein-page .service-hero-inner {
  position: relative;
  min-height: 410px;
  display: flex;
  align-items: center;
}

.movein-page .service-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 470px;
}

.movein-page .service-hero h1 {
  font-size: 40px;
  line-height: 1.25;
}

.movein-page .service-hero span {
  max-width: 440px;
  font-size: 17px;
}

.movein-hero .service-hero-visual {
  position: absolute;
  right: -36px;
  bottom: 0;
  width: min(720px, 60vw);
  background: #e3f0fe;
}

.movein-hero .service-hero-visual img {
  width: 100%;
}

.movein-section-title {
  margin-bottom: 24px;
}

.movein-section-title p,
.movein-price-card > div > p,
.movein-report-copy p,
.movein-final p {
  margin: 0 0 10px;
  color: #1f6fea;
  font-size: 15px;
  font-weight: 760;
}

.movein-section-title h2,
.movein-price-card h2,
.movein-report-copy h2,
.movein-final h2 {
  margin: 0;
  color: #202631;
  font-size: 29px;
  line-height: 1.36;
  font-weight: 780;
}

.movein-check {
  padding-top: 72px;
}

.movein-check-layout {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 24px;
  align-items: stretch;
}

.movein-check-list {
  display: grid;
  gap: 12px;
}

.movein-check-list article {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 16px;
  align-items: center;
  min-height: 112px;
  padding: 20px;
  border-radius: 16px;
  background: #f4f7fc;
}

.movein-check-list b {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: #e9f2ff;
  color: #1f6fea;
  font-size: 15px;
  font-weight: 800;
}

.movein-check-list strong,
.movein-price-points strong,
.movein-scope-grid strong,
.movein-mini-cards strong,
.movein-flow-row strong {
  display: block;
  color: #202631;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 760;
}

.movein-check-list p,
.movein-price-points p,
.movein-scope-grid p,
.movein-mini-cards p,
.movein-flow-row p {
  margin: 8px 0 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.58;
}

.movein-check-list p {
  grid-column: 2;
  max-width: none;
}

.movein-check-image {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 380px;
  padding: 22px;
  border-radius: 22px;
  background: #fdfefe;
  border: 1px solid #d9e7f6;
}

.movein-check-image img {
  display: block;
  width: min(560px, 100%);
  background: #fdfefe;
}

.movein-price {
  display: grid;
  grid-template-columns: 1fr .82fr;
  gap: 22px;
  align-items: stretch;
}

.movein-price-card {
  display: grid;
  gap: 26px;
  padding: 34px;
  border-radius: 22px;
  background: #ecf4fe;
}

.movein-price-card span,
.movein-report-copy span,
.movein-final span {
  display: block;
  max-width: 520px;
  margin-top: 14px;
  color: #667085;
  font-size: 16px;
  line-height: 1.65;
}

.movein-price-points {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.movein-price-points article {
  min-height: 132px;
  padding: 20px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .64);
}

.movein-price-image {
  display: grid;
  place-items: center;
  min-height: 360px;
  padding: 20px;
  border-radius: 22px;
  background: #ecf4fe;
}

.movein-price-image img {
  width: min(430px, 100%);
  background: #ecf4fe;
}

.movein-scope-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.movein-scope-grid article {
  min-height: 190px;
  padding: 24px;
  border-radius: 18px;
  background: #f4f7fc;
}

.movein-scope-grid span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 54px;
  height: 30px;
  margin-bottom: 42px;
  border-radius: 999px;
  background: #e8f1ff;
  color: #1f6fea;
  font-size: 14px;
  font-weight: 760;
}

.movein-report {
  display: grid;
  grid-template-columns: .92fr 1fr;
  gap: 30px;
  align-items: center;
  padding: 34px;
  border-radius: 24px;
  background: #e3f0fe;
}

.movein-report-image {
  display: grid;
  place-items: center;
  min-height: 330px;
  background: #e3f0fe;
}

.movein-report-image img {
  width: min(470px, 100%);
  background: #e3f0fe;
  transform: translateY(-18px);
}

.movein-mini-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 24px;
}

.movein-mini-cards article {
  padding: 20px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .72);
}

.movein-flow-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.movein-flow-row article {
  min-height: 188px;
  padding: 24px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid #dbe5f2;
}

.movein-flow-row b {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-bottom: 30px;
  border-radius: 50%;
  background: #1f6fea;
  color: #fff;
  font-size: 14px;
}

.movein-final {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 30px;
  align-items: center;
  margin-bottom: 72px;
  padding: 34px 40px 0;
  border-radius: 24px;
  background: #e3f0fe;
  overflow: hidden;
}

.movein-final a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  height: 52px;
  margin-top: 24px;
  border-radius: 12px;
  background: #1f6fea;
  color: #fff;
  font-size: 16px;
  font-weight: 760;
}

.movein-final img {
  justify-self: end;
  width: min(560px, 100%);
  background: transparent;
}

@media (max-width: 980px) {
  .movein-hero .service-hero-visual {
    right: -210px;
    opacity: .66;
  }

  .movein-check-layout,
  .movein-price,
  .movein-report,
  .movein-final {
    grid-template-columns: 1fr;
  }

  .movein-price-points,
  .movein-scope-grid,
  .movein-flow-row {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .movein-page .service-hero,
  .movein-page .service-hero-inner {
    min-height: 380px;
  }

  .movein-page .service-hero h1 {
    font-size: 33px;
  }

  .movein-hero .service-hero-visual {
    right: -310px;
    bottom: -36px;
    width: 700px;
  }

  .movein-check-list article,
  .movein-price-points,
  .movein-scope-grid,
  .movein-mini-cards,
  .movein-flow-row {
    grid-template-columns: 1fr;
  }

  .movein-price-card,
  .movein-report,
  .movein-final {
    padding: 28px 20px;
  }
}

/* Moving cleaning detail page */
.moving-clean-page .service-hero {
  min-height: 410px;
  background: #e3f0fe;
  overflow: hidden;
}

.moving-clean-page .service-hero-inner {
  position: relative;
  min-height: 410px;
  display: flex;
  align-items: center;
}

.moving-clean-page .service-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 500px;
}

.moving-clean-page .service-hero h1 {
  font-size: 40px;
  line-height: 1.25;
}

.moving-clean-page .service-hero span {
  max-width: 460px;
  font-size: 17px;
}

.moving-clean-hero .service-hero-visual {
  position: absolute;
  right: -20px;
  bottom: 0;
  width: min(710px, 58vw);
  background: #e3f0fe;
}

.moving-clean-hero .service-hero-visual img {
  width: 100%;
  clip-path: inset(0 28px 0 0);
}

.moving-section-title,
.moving-time-card > p,
.moving-photo-copy p,
.moving-match-copy p,
.moving-final p {
  margin: 0 0 10px;
}

.moving-section-title p,
.moving-time-card > p,
.moving-photo-copy p,
.moving-match-copy p,
.moving-final p {
  color: #1f6fea;
  font-size: 15px;
  font-weight: 760;
}

.moving-section-title h2,
.moving-time-card h2,
.moving-photo-copy h2,
.moving-match-copy h2,
.moving-final h2 {
  margin: 0;
  color: #202631;
  font-size: 29px;
  line-height: 1.36;
  font-weight: 780;
}

.moving-time {
  display: grid;
  grid-template-columns: 1fr .86fr;
  gap: 24px;
  align-items: stretch;
  padding-top: 72px;
}

.moving-time-card {
  padding: 36px;
  border-radius: 24px;
  background: #ecf4fe;
}

.moving-time-card span,
.moving-photo-copy span,
.moving-match-copy span,
.moving-final span {
  display: block;
  max-width: 540px;
  margin-top: 14px;
  color: #667085;
  font-size: 16px;
  line-height: 1.65;
}

.moving-time-line {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 34px;
}

.moving-time-line article {
  min-height: 116px;
  padding: 18px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.68);
}

.moving-time-line b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  color: #1f6fea;
  background: #e8f1ff;
  font-size: 13px;
}

.moving-time-line strong {
  display: block;
  margin-top: 22px;
  color: #202631;
  font-size: 16px;
  line-height: 1.38;
}

.moving-time-image {
  display: grid;
  place-items: center;
  min-height: 360px;
  padding: 20px;
  border-radius: 24px;
  background: #e3f0fe;
}

.moving-time-image img {
  width: min(440px, 100%);
  background: #e3f0fe;
}

.moving-dirt {
  padding-top: 76px;
}

.moving-dirt-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.moving-dirt-grid article {
  min-height: 188px;
  padding: 24px;
  border-radius: 18px;
  background: #f4f7fc;
}

.moving-dirt-grid span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 54px;
  height: 30px;
  margin-bottom: 38px;
  border-radius: 999px;
  color: #1f6fea;
  background: #e8f1ff;
  font-size: 14px;
  font-weight: 760;
}

.moving-dirt-grid strong,
.moving-photo-points strong,
.moving-match-grid strong,
.moving-flow-layout strong {
  display: block;
  color: #202631;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 760;
}

.moving-dirt-grid p,
.moving-photo-points p,
.moving-match-grid p,
.moving-flow-layout p {
  margin: 8px 0 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.58;
}

.moving-photo {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 30px;
  align-items: center;
  padding: 34px;
  border-radius: 24px;
  background: #e3f0fe;
}

.moving-photo-image {
  display: grid;
  place-items: center;
  min-height: 330px;
  background: #e3f0fe;
}

.moving-photo-image img {
  width: min(460px, 100%);
  background: #e3f0fe;
}

.moving-photo-points {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 24px;
}

.moving-photo-points article {
  min-height: 122px;
  padding: 20px;
  border-radius: 16px;
  background: rgba(255,255,255,.72);
}

.moving-match {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 28px;
  align-items: center;
}

.moving-match-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.moving-match-grid a {
  display: grid;
  min-height: 260px;
  padding: 18px;
  border-radius: 18px;
  background: #f4f7fc;
}

.moving-match-grid img {
  width: 100%;
  height: 132px;
  object-fit: contain;
  margin-bottom: 18px;
  background: #f4f7fc;
}

.moving-flow-layout {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 24px;
}

.moving-flow-layout article {
  min-height: 188px;
  padding: 24px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid #dbe5f2;
}

.moving-flow-layout b {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-bottom: 30px;
  border-radius: 50%;
  background: #1f6fea;
  color: #fff;
  font-size: 14px;
}

.moving-final {
  display: grid;
  grid-template-columns: .92fr 1fr;
  gap: 28px;
  align-items: center;
  margin-bottom: 72px;
  padding: 34px 40px;
  border-radius: 24px;
  background: #ecf4fe;
}

.moving-final img {
  width: min(460px, 100%);
  background: #ecf4fe;
}

.moving-final a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  height: 52px;
  margin-top: 24px;
  border-radius: 12px;
  background: #1f6fea;
  color: #fff;
  font-size: 16px;
  font-weight: 760;
}

@media (max-width: 980px) {
  .moving-clean-hero .service-hero-visual {
    right: -210px;
    opacity: .66;
  }

  .moving-time,
  .moving-photo,
  .moving-match,
  .moving-final {
    grid-template-columns: 1fr;
  }

  .moving-time-line,
  .moving-dirt-grid,
  .moving-flow-layout {
    grid-template-columns: repeat(2, 1fr);
  }

  .moving-match-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .moving-clean-page .service-hero,
  .moving-clean-page .service-hero-inner {
    min-height: 380px;
  }

  .moving-clean-page .service-hero h1 {
    font-size: 33px;
  }

  .moving-clean-hero .service-hero-visual {
    right: -310px;
    bottom: -36px;
    width: 700px;
  }

  .moving-time-line,
  .moving-dirt-grid,
  .moving-photo-points,
  .moving-flow-layout {
    grid-template-columns: 1fr;
  }

  .moving-time-card,
  .moving-photo,
  .moving-final {
    padding: 28px 20px;
  }
}

/* Lived-in cleaning detail page */
.lived-clean-page .service-hero {
  min-height: 410px;
  background: #e3f0fe;
  overflow: hidden;
}

.lived-clean-page .service-hero-inner {
  position: relative;
  min-height: 410px;
  display: flex;
  align-items: center;
}

.lived-clean-page .service-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 500px;
}

.lived-clean-page .service-hero h1 {
  font-size: 40px;
  line-height: 1.25;
}

.lived-clean-page .service-hero span {
  max-width: 460px;
  font-size: 17px;
}

.lived-clean-hero .service-hero-visual {
  position: absolute;
  right: -36px;
  bottom: 0;
  width: min(700px, 58vw);
  background: #e3f0fe;
}

.lived-clean-hero .service-hero-visual img {
  width: 100%;
  background: #e3f0fe;
}

.lived-section-title p,
.lived-focus-copy p,
.lived-life-card > div > p,
.lived-final p {
  margin: 0 0 10px;
  color: #1f6fea;
  font-size: 15px;
  font-weight: 760;
}

.lived-section-title h2,
.lived-focus-copy h2,
.lived-life-card h2,
.lived-final h2 {
  margin: 0;
  color: #202631;
  font-size: 29px;
  line-height: 1.36;
  font-weight: 780;
}

.lived-focus {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 28px;
  align-items: center;
  padding-top: 72px;
}

.lived-focus-copy span,
.lived-life-card span,
.lived-final span {
  display: block;
  max-width: 520px;
  margin-top: 14px;
  color: #667085;
  font-size: 16px;
  line-height: 1.65;
}

.lived-focus-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.lived-focus-grid article {
  min-height: 230px;
  padding: 24px;
  border-radius: 20px;
  background: #f4f7fc;
}

.lived-focus-grid b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  color: #1f6fea;
  background: #e8f1ff;
  font-size: 14px;
}

.lived-focus-grid strong,
.lived-zone-list strong,
.lived-life-points strong,
.lived-plan-grid strong,
.lived-flow-row strong {
  display: block;
  color: #202631;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 760;
}

.lived-focus-grid strong {
  margin-top: 54px;
}

.lived-focus-grid p,
.lived-zone-list p,
.lived-life-points p,
.lived-plan-grid p,
.lived-flow-row p {
  margin: 8px 0 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.58;
}

.lived-zones {
  padding-top: 76px;
}

.lived-zone-layout {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 24px;
  align-items: stretch;
  margin-top: 26px;
}

.lived-zone-image {
  display: grid;
  place-items: center;
  min-height: 420px;
  padding: 24px;
  border-radius: 24px;
  background: #fdfefe;
}

.lived-zone-image img {
  width: min(520px, 100%);
  background: #fdfefe;
}

.lived-zone-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.lived-zone-list article {
  min-height: 204px;
  padding: 22px;
  border-radius: 18px;
  background: #f4f7fc;
}

.lived-zone-list span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 54px;
  height: 30px;
  margin-bottom: 38px;
  border-radius: 999px;
  color: #1f6fea;
  background: #e8f1ff;
  font-size: 14px;
  font-weight: 760;
}

.lived-life {
  display: grid;
  grid-template-columns: 1fr .82fr;
  gap: 22px;
  align-items: stretch;
}

.lived-life-card {
  display: grid;
  gap: 26px;
  padding: 34px;
  border-radius: 24px;
  background: #ecf4fe;
}

.lived-life-points {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.lived-life-points article {
  min-height: 132px;
  padding: 20px;
  border-radius: 16px;
  background: rgba(255,255,255,.66);
}

.lived-life-image {
  display: grid;
  place-items: center;
  min-height: 360px;
  padding: 20px;
  border-radius: 24px;
  background: #f4f7fc;
}

.lived-life-image img {
  width: min(420px, 100%);
  background: #f4f7fc;
}

.lived-plan-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.lived-plan-grid article {
  min-height: 320px;
  padding: 20px;
  border-radius: 20px;
  background: #f4f7fc;
}

.lived-plan-grid img {
  width: 100%;
  height: 150px;
  object-fit: contain;
  margin-bottom: 18px;
  background: #f4f7fc;
}

.lived-flow-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 24px;
}

.lived-flow-row article {
  min-height: 188px;
  padding: 24px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid #dbe5f2;
}

.lived-flow-row b {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-bottom: 30px;
  border-radius: 50%;
  background: #1f6fea;
  color: #fff;
  font-size: 14px;
}

.lived-final {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 30px;
  align-items: center;
  margin-bottom: 72px;
  padding: 34px 40px 0;
  border-radius: 24px;
  background: #e3f0fe;
  overflow: hidden;
}

.lived-final a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  height: 52px;
  margin-top: 24px;
  border-radius: 12px;
  background: #1f6fea;
  color: #fff;
  font-size: 16px;
  font-weight: 760;
}

.lived-final img {
  justify-self: end;
  width: min(560px, 100%);
  background: #e3f0fe;
}

@media (max-width: 980px) {
  .lived-clean-hero .service-hero-visual {
    right: -210px;
    opacity: .66;
  }

  .lived-focus,
  .lived-zone-layout,
  .lived-life,
  .lived-final {
    grid-template-columns: 1fr;
  }

  .lived-focus-grid,
  .lived-life-points,
  .lived-plan-grid,
  .lived-flow-row {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .lived-clean-page .service-hero,
  .lived-clean-page .service-hero-inner {
    min-height: 380px;
  }

  .lived-clean-page .service-hero h1 {
    font-size: 33px;
  }

  .lived-clean-hero .service-hero-visual {
    right: -310px;
    bottom: -36px;
    width: 700px;
  }

  .lived-focus-grid,
  .lived-zone-list,
  .lived-life-points,
  .lived-plan-grid,
  .lived-flow-row {
    grid-template-columns: 1fr;
  }

  .lived-life-card,
  .lived-final {
    padding: 28px 20px;
  }
}

/* Store cleaning detail page */
.store-clean-page .service-hero {
  min-height: 410px;
  background: #e3f0fe;
  overflow: hidden;
}

.store-clean-page .service-hero-inner {
  position: relative;
  min-height: 410px;
  display: flex;
  align-items: center;
}

.store-clean-page .service-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 500px;
}

.store-clean-page .service-hero h1 {
  font-size: 40px;
  line-height: 1.25;
}

.store-clean-page .service-hero span {
  max-width: 460px;
  font-size: 17px;
}

.store-clean-hero .service-hero-visual {
  position: absolute;
  right: -32px;
  bottom: 0;
  width: min(690px, 57vw);
  background: #e3f0fe;
}

.store-clean-hero .service-hero-visual img {
  width: 100%;
  background: #e3f0fe;
}

.store-section-title p,
.store-open-card > p,
.store-type-copy p,
.store-maintain-copy p,
.store-final p {
  margin: 0 0 10px;
  color: #1f6fea;
  font-size: 15px;
  font-weight: 760;
}

.store-section-title h2,
.store-open-card h2,
.store-type-copy h2,
.store-maintain-copy h2,
.store-final h2 {
  margin: 0;
  color: #202631;
  font-size: 29px;
  line-height: 1.36;
  font-weight: 780;
}

.store-open {
  display: grid;
  grid-template-columns: 1fr .82fr;
  gap: 22px;
  align-items: stretch;
  padding-top: 72px;
}

.store-open-card {
  padding: 36px;
  border-radius: 24px;
  background: #ecf4fe;
}

.store-open-card span,
.store-type-copy span,
.store-maintain-copy span,
.store-final span {
  display: block;
  max-width: 540px;
  margin-top: 14px;
  color: #667085;
  font-size: 16px;
  line-height: 1.65;
}

.store-open-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 34px;
}

.store-open-steps article {
  min-height: 144px;
  padding: 20px;
  border-radius: 16px;
  background: rgba(255,255,255,.66);
}

.store-open-steps b {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin-bottom: 28px;
  border-radius: 50%;
  color: #fff;
  background: #1f6fea;
  font-size: 14px;
}

.store-open-steps strong,
.store-impact-grid strong,
.store-type-list strong,
.store-schedule-layout strong {
  display: block;
  color: #202631;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 760;
}

.store-open-steps p,
.store-impact-grid p,
.store-type-list p,
.store-schedule-layout p {
  margin: 8px 0 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.58;
}

.store-open-image {
  display: grid;
  place-items: center;
  min-height: 360px;
  padding: 20px;
  border-radius: 24px;
  background: #f4f7fc;
}

.store-open-image img {
  width: min(430px, 100%);
  background: #f4f7fc;
}

.store-impact {
  padding-top: 76px;
}

.store-impact-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.store-impact-grid article {
  min-height: 190px;
  padding: 24px;
  border-radius: 18px;
  background: #f4f7fc;
}

.store-impact-grid span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 54px;
  height: 30px;
  margin-bottom: 38px;
  border-radius: 999px;
  color: #1f6fea;
  background: #e8f1ff;
  font-size: 14px;
  font-weight: 760;
}

.store-type {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 30px;
  align-items: center;
  padding: 34px;
  border-radius: 24px;
  background: #fdfefe;
}

.store-type-image {
  display: grid;
  place-items: center;
  min-height: 330px;
  background: #fdfefe;
}

.store-type-image img {
  width: min(500px, 100%);
  background: #fdfefe;
}

.store-type-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 24px;
}

.store-type-list article {
  min-height: 132px;
  padding: 20px;
  border-radius: 16px;
  background: #f4f7fc;
}

.store-schedule-layout {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 24px;
}

.store-schedule-layout article {
  min-height: 188px;
  padding: 24px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid #dbe5f2;
}

.store-schedule-layout b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 34px;
  margin-bottom: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: #1f6fea;
  color: #fff;
  font-size: 14px;
}

.store-maintain {
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  gap: 28px;
  align-items: center;
}

.store-maintain-copy a,
.store-final a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  height: 52px;
  margin-top: 24px;
  border-radius: 12px;
  background: #1f6fea;
  color: #fff;
  font-size: 16px;
  font-weight: 760;
}

.store-maintain-images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.store-maintain-images img {
  width: 100%;
  height: 240px;
  object-fit: contain;
  padding: 18px;
  border-radius: 20px;
  background: #f4f7fc;
}

.store-final {
  display: grid;
  grid-template-columns: .92fr 1fr;
  gap: 28px;
  align-items: center;
  margin-bottom: 72px;
  padding: 34px 40px;
  border-radius: 24px;
  background: #ecf4fe;
}

.store-final img {
  width: min(460px, 100%);
  background: #ecf4fe;
}

@media (max-width: 980px) {
  .store-clean-hero .service-hero-visual {
    right: -210px;
    opacity: .66;
  }

  .store-open,
  .store-type,
  .store-maintain,
  .store-final {
    grid-template-columns: 1fr;
  }

  .store-open-steps,
  .store-impact-grid,
  .store-type-list,
  .store-schedule-layout {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .store-clean-page .service-hero,
  .store-clean-page .service-hero-inner {
    min-height: 380px;
  }

  .store-clean-page .service-hero h1 {
    font-size: 33px;
  }

  .store-clean-hero .service-hero-visual {
    right: -310px;
    bottom: -36px;
    width: 700px;
  }

  .store-open-steps,
  .store-impact-grid,
  .store-type-list,
  .store-schedule-layout,
  .store-maintain-images {
    grid-template-columns: 1fr;
  }

  .store-open-card,
  .store-type,
  .store-final {
    padding: 28px 20px;
  }
}

/* Appliance cleaning detail page */
.appliance-clean-page .service-hero {
  min-height: 410px;
  background: #e3f0fe;
  overflow: hidden;
}

.appliance-clean-page .service-hero-inner {
  position: relative;
  min-height: 410px;
  display: flex;
  align-items: center;
}

.appliance-clean-page .service-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 510px;
}

.appliance-clean-page .service-hero h1 {
  font-size: 40px;
  line-height: 1.25;
}

.appliance-clean-page .service-hero span {
  max-width: 500px;
  font-size: 17px;
}

.appliance-clean-hero .service-hero-visual {
  position: absolute;
  right: -24px;
  bottom: 0;
  width: min(660px, 55vw);
  background: #e3f0fe;
}

.appliance-clean-hero .service-hero-visual img {
  width: 100%;
  background: #e3f0fe;
}

.appliance-section-title p,
.appliance-model-card > p,
.appliance-inside-copy p,
.appliance-safety-card p,
.appliance-final p {
  margin: 0 0 10px;
  color: #1f6fea;
  font-size: 15px;
  font-weight: 760;
}

.appliance-section-title h2,
.appliance-model-card h2,
.appliance-inside-copy h2,
.appliance-safety-card h2,
.appliance-final h2 {
  margin: 0;
  color: #202631;
  font-size: 29px;
  line-height: 1.36;
  font-weight: 780;
}

.appliance-model {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 24px;
  align-items: stretch;
  padding-top: 72px;
}

.appliance-model-card {
  padding: 36px;
  border-radius: 24px;
  background: #ecf4fe;
}

.appliance-model-card > span,
.appliance-inside-copy > span,
.appliance-final span {
  display: block;
  max-width: 580px;
  margin-top: 14px;
  color: #667085;
  font-size: 16px;
  line-height: 1.65;
}

.appliance-model-points {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 34px;
}

.appliance-model-points article {
  min-height: 138px;
  padding: 20px;
  border-radius: 16px;
  background: rgba(255,255,255,.7);
}

.appliance-model-points b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 30px;
  margin-bottom: 26px;
  border-radius: 999px;
  background: #1f6fea;
  color: #fff;
  font-size: 13px;
}

.appliance-model-points strong,
.appliance-type-grid strong,
.appliance-mini-cards strong,
.appliance-flow-row strong,
.appliance-bundle-grid strong {
  display: block;
  color: #202631;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 760;
}

.appliance-model-points em,
.appliance-mini-cards em,
.appliance-bundle-grid span {
  display: block;
  margin-top: 8px;
  color: #667085;
  font-size: 15px;
  line-height: 1.55;
  font-style: normal;
}

.appliance-model-image {
  display: grid;
  place-items: center;
  min-height: 360px;
  padding: 20px;
  border-radius: 24px;
  background: #fdfefe;
}

.appliance-model-image img {
  width: min(430px, 100%);
  background: #fdfefe;
}

.appliance-types {
  padding-top: 76px;
}

.appliance-type-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.appliance-type-grid article {
  min-height: 214px;
  padding: 24px;
  border-radius: 18px;
  background: #f4f7fc;
}

.appliance-type-grid span {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 32px;
  border-radius: 18px;
  background: #fff;
  font-size: 27px;
}

.appliance-type-grid p,
.appliance-flow-row p {
  margin: 9px 0 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.58;
}

.appliance-inside {
  display: grid;
  grid-template-columns: .96fr 1.04fr;
  gap: 30px;
  align-items: center;
  padding: 34px;
  border-radius: 24px;
  background: #e3f0fe;
}

.appliance-inside-image {
  display: grid;
  place-items: center;
  min-height: 330px;
  background: #e3f0fe;
}

.appliance-inside-image img {
  width: min(500px, 100%);
  background: #e3f0fe;
}

.appliance-mini-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 24px;
}

.appliance-mini-cards article {
  min-height: 126px;
  padding: 22px;
  border-radius: 16px;
  background: rgba(255,255,255,.68);
}

.appliance-safety-card {
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 26px;
  align-items: center;
  padding: 36px 40px;
  border-radius: 24px;
  background: #ecf4fe;
}

.appliance-safety-card ul {
  display: grid;
  gap: 14px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.appliance-safety-card li {
  position: relative;
  padding-left: 30px;
  color: #4f5f73;
  font-size: 16px;
  line-height: 1.5;
}

.appliance-safety-card li::before {
  position: absolute;
  left: 0;
  top: 1px;
  content: "✓";
  color: #1f6fea;
  font-weight: 800;
}

.appliance-safety-image {
  display: grid;
  place-items: center;
  min-height: 300px;
  background: #ecf4fe;
}

.appliance-safety-image img {
  width: min(400px, 100%);
  background: #ecf4fe;
}

.appliance-bundle-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.appliance-bundle-grid a {
  display: block;
  min-height: 286px;
  padding: 20px;
  border-radius: 20px;
  background: #f4f7fc;
}

.appliance-bundle-grid img {
  display: block;
  width: 100%;
  height: 150px;
  margin-bottom: 18px;
  object-fit: contain;
  border-radius: 16px;
  background: #f4f7fc;
}

.appliance-flow h2 {
  margin: 0 0 24px;
  color: #202631;
  font-size: 29px;
  font-weight: 780;
}

.appliance-flow-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.appliance-flow-row article {
  min-height: 188px;
  padding: 24px;
  border-radius: 18px;
  border: 1px solid #dbe5f2;
  background: #fff;
}

.appliance-flow-row b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 34px;
  margin-bottom: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: #1f6fea;
  color: #fff;
  font-size: 14px;
}

.appliance-final {
  display: grid;
  grid-template-columns: .92fr 1fr;
  gap: 28px;
  align-items: center;
  margin-bottom: 72px;
  padding: 34px 40px;
  border-radius: 24px;
  background: #e3f0fe;
}

.appliance-final a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  height: 52px;
  margin-top: 24px;
  border-radius: 12px;
  background: #1f6fea;
  color: #fff;
  font-size: 16px;
  font-weight: 760;
}

.appliance-final img {
  width: min(500px, 100%);
  background: #e3f0fe;
}

@media (max-width: 980px) {
  .appliance-clean-hero .service-hero-visual {
    right: -220px;
    opacity: .66;
  }

  .appliance-model,
  .appliance-inside,
  .appliance-safety-card,
  .appliance-final {
    grid-template-columns: 1fr;
  }

  .appliance-model-points,
  .appliance-type-grid,
  .appliance-flow-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .appliance-bundle-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .appliance-clean-page .service-hero,
  .appliance-clean-page .service-hero-inner {
    min-height: 380px;
  }

  .appliance-clean-page .service-hero h1 {
    font-size: 33px;
  }

  .appliance-clean-hero .service-hero-visual {
    right: -310px;
    bottom: -34px;
    width: 690px;
  }

  .appliance-model-points,
  .appliance-type-grid,
  .appliance-mini-cards,
  .appliance-flow-row {
    grid-template-columns: 1fr;
  }

  .appliance-model-card,
  .appliance-inside,
  .appliance-safety-card,
  .appliance-final {
    padding: 28px 20px;
  }
}

/* Recurring cleaning detail page */
.recurring-clean-page .service-hero {
  min-height: 410px;
  background: #e3f0fe;
  overflow: hidden;
}

.recurring-clean-page .service-hero-inner {
  position: relative;
  min-height: 410px;
  display: flex;
  align-items: center;
}

.recurring-clean-page .service-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 520px;
}

.recurring-clean-page .service-hero h1 {
  font-size: 40px;
  line-height: 1.25;
}

.recurring-clean-page .service-hero span {
  max-width: 500px;
  font-size: 17px;
}

.recurring-clean-hero .service-hero-visual {
  position: absolute;
  right: -26px;
  bottom: 0;
  width: min(650px, 54vw);
  background: #e3f0fe;
}

.recurring-clean-hero .service-hero-visual img {
  width: 100%;
  background: #e3f0fe;
}

.recurring-section-title p,
.recurring-plan-copy > p,
.recurring-check-copy p,
.recurring-rhythm-card p,
.recurring-final p {
  margin: 0 0 10px;
  color: #1f6fea;
  font-size: 15px;
  font-weight: 760;
}

.recurring-section-title h2,
.recurring-plan-copy h2,
.recurring-check-copy h2,
.recurring-rhythm-card h2,
.recurring-final h2 {
  margin: 0;
  color: #202631;
  font-size: 29px;
  line-height: 1.36;
  font-weight: 780;
}

.recurring-plan {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 24px;
  align-items: stretch;
  padding-top: 72px;
}

.recurring-plan-copy {
  padding: 36px;
  border-radius: 24px;
  background: #ecf4fe;
}

.recurring-plan-copy > span,
.recurring-check-copy > span,
.recurring-rhythm-card span,
.recurring-final span {
  display: block;
  max-width: 580px;
  margin-top: 14px;
  color: #667085;
  font-size: 16px;
  line-height: 1.65;
}

.recurring-cycle {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 34px;
}

.recurring-cycle article {
  min-height: 142px;
  padding: 22px 20px;
  border-radius: 16px;
  background: rgba(255,255,255,.7);
}

.recurring-cycle strong,
.recurring-space-grid strong,
.recurring-check-list strong,
.recurring-compare-grid strong,
.recurring-flow-row strong {
  display: block;
  color: #202631;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 760;
}

.recurring-cycle em,
.recurring-check-list em {
  display: block;
  margin-top: 10px;
  color: #667085;
  font-size: 15px;
  line-height: 1.55;
  font-style: normal;
}

.recurring-plan-image {
  display: grid;
  place-items: center;
  min-height: 360px;
  padding: 20px;
  border-radius: 24px;
  background: #ecf4fe;
}

.recurring-plan-image img {
  width: min(430px, 100%);
  background: #ecf4fe;
}

.recurring-space {
  padding-top: 76px;
}

.recurring-space-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.recurring-space-grid article {
  min-height: 216px;
  padding: 24px;
  border-radius: 18px;
  background: #f4f7fc;
}

.recurring-space-grid span {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 32px;
  border-radius: 18px;
  background: #fff;
  font-size: 27px;
}

.recurring-space-grid p,
.recurring-compare-grid p,
.recurring-flow-row p {
  margin: 9px 0 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.58;
}

.recurring-check {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 30px;
  align-items: center;
  padding: 34px;
  border-radius: 24px;
  background: #fdfefe;
}

.recurring-check-image {
  display: grid;
  place-items: center;
  min-height: 330px;
  background: #fdfefe;
}

.recurring-check-image img {
  width: min(480px, 100%);
  background: #fdfefe;
}

.recurring-check-list {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

.recurring-check-list article {
  display: grid;
  grid-template-columns: 36px 1fr;
  column-gap: 14px;
  align-items: center;
  padding: 18px 20px;
  border-radius: 16px;
  background: #f4f7fc;
}

.recurring-check-list b {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #e8f1ff;
  color: #1f6fea;
  font-size: 17px;
}

.recurring-check-list em {
  grid-column: 2;
  margin-top: 4px;
}

.recurring-rhythm-card {
  display: grid;
  grid-template-columns: .96fr 1.04fr;
  gap: 30px;
  align-items: center;
  padding: 34px 40px;
  border-radius: 24px;
  background: #e3f0fe;
}

.recurring-rhythm-card img {
  width: min(500px, 100%);
  justify-self: center;
  background: #e3f0fe;
}

.recurring-compare {
  padding-top: 72px;
}

.recurring-compare-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.recurring-compare-grid article {
  min-height: 176px;
  padding: 24px;
  border-radius: 18px;
  border: 1px solid #dbe5f2;
  background: #fff;
}

.recurring-flow h2 {
  margin: 0 0 24px;
  color: #202631;
  font-size: 29px;
  font-weight: 780;
}

.recurring-flow-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.recurring-flow-row article {
  min-height: 188px;
  padding: 24px;
  border-radius: 18px;
  background: #f4f7fc;
}

.recurring-flow-row b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 34px;
  margin-bottom: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: #1f6fea;
  color: #fff;
  font-size: 14px;
}

.recurring-final {
  display: grid;
  grid-template-columns: .92fr 1fr;
  gap: 28px;
  align-items: center;
  margin-bottom: 72px;
  padding: 34px 40px;
  border-radius: 24px;
  background: #e3f0fe;
}

.recurring-final a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  height: 52px;
  margin-top: 24px;
  border-radius: 12px;
  background: #1f6fea;
  color: #fff;
  font-size: 16px;
  font-weight: 760;
}

.recurring-final img {
  width: min(500px, 100%);
  background: #e3f0fe;
}

@media (max-width: 980px) {
  .recurring-clean-hero .service-hero-visual {
    right: -220px;
    opacity: .66;
  }

  .recurring-plan,
  .recurring-check,
  .recurring-rhythm-card,
  .recurring-final {
    grid-template-columns: 1fr;
  }

  .recurring-cycle,
  .recurring-space-grid,
  .recurring-flow-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .recurring-compare-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .recurring-clean-page .service-hero,
  .recurring-clean-page .service-hero-inner {
    min-height: 380px;
  }

  .recurring-clean-page .service-hero h1 {
    font-size: 33px;
  }

  .recurring-clean-hero .service-hero-visual {
    right: -300px;
    bottom: -34px;
    width: 680px;
  }

  .recurring-cycle,
  .recurring-space-grid,
  .recurring-flow-row {
    grid-template-columns: 1fr;
  }

  .recurring-plan-copy,
  .recurring-check,
  .recurring-rhythm-card,
  .recurring-final {
    padding: 28px 20px;
  }
}

/* Special cleaning detail page */
.special-clean-page .service-hero {
  min-height: 410px;
  background: #e3f0fe;
  overflow: hidden;
}

.special-clean-page .service-hero-inner {
  position: relative;
  min-height: 410px;
  display: flex;
  align-items: center;
}

.special-clean-page .service-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 540px;
}

.special-clean-page .service-hero h1 {
  font-size: 40px;
  line-height: 1.25;
}

.special-clean-page .service-hero span {
  max-width: 520px;
  font-size: 17px;
}

.special-clean-hero .service-hero-visual {
  position: absolute;
  right: -24px;
  bottom: 0;
  width: min(650px, 54vw);
  background: #e3f0fe;
}

.special-clean-hero .service-hero-visual img {
  width: 100%;
  background: #e3f0fe;
}

.special-section-title p,
.special-diagnosis-card > p,
.special-photo-copy p,
.special-standard-card p,
.special-final p {
  margin: 0 0 10px;
  color: #1f6fea;
  font-size: 15px;
  font-weight: 760;
}

.special-section-title h2,
.special-diagnosis-card h2,
.special-photo-copy h2,
.special-standard-card h2,
.special-final h2 {
  margin: 0;
  color: #202631;
  font-size: 29px;
  line-height: 1.36;
  font-weight: 780;
}

.special-diagnosis {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 24px;
  align-items: stretch;
  padding-top: 72px;
}

.special-diagnosis-card {
  padding: 36px;
  border-radius: 24px;
  background: #ecf4fe;
}

.special-diagnosis-card > span,
.special-photo-copy > span,
.special-standard-card span,
.special-final span {
  display: block;
  max-width: 580px;
  margin-top: 14px;
  color: #667085;
  font-size: 16px;
  line-height: 1.65;
}

.special-alerts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 34px;
}

.special-alerts article {
  min-height: 146px;
  padding: 20px;
  border-radius: 16px;
  background: rgba(255,255,255,.7);
}

.special-alerts strong,
.special-case-grid strong,
.special-photo-list strong,
.special-standard-rules strong,
.special-connect-grid strong,
.special-flow-row strong {
  display: block;
  color: #202631;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 760;
}

.special-alerts em,
.special-photo-list em,
.special-connect-grid span {
  display: block;
  margin-top: 9px;
  color: #667085;
  font-size: 15px;
  line-height: 1.55;
  font-style: normal;
}

.special-diagnosis-image {
  display: grid;
  place-items: center;
  min-height: 360px;
  padding: 20px;
  border-radius: 24px;
  background: #ecf4fe;
}

.special-diagnosis-image img {
  width: min(430px, 100%);
  background: #ecf4fe;
}

.special-cases {
  padding-top: 76px;
}

.special-case-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.special-case-grid article {
  min-height: 222px;
  padding: 24px;
  border-radius: 18px;
  background: #f4f7fc;
}

.special-case-grid span {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 32px;
  border-radius: 18px;
  background: #fff;
  font-size: 27px;
}

.special-case-grid p,
.special-standard-rules p,
.special-flow-row p {
  margin: 9px 0 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.58;
}

.special-photo {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 30px;
  align-items: center;
  padding: 34px;
  border-radius: 24px;
  background: #fdfefe;
}

.special-photo-image {
  display: grid;
  place-items: center;
  min-height: 330px;
  background: #fdfefe;
}

.special-photo-image img {
  width: min(500px, 100%);
  background: #fdfefe;
}

.special-photo-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 24px;
}

.special-photo-list article {
  min-height: 132px;
  padding: 20px;
  border-radius: 16px;
  background: #f4f7fc;
}

.special-photo-list b {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-bottom: 22px;
  border-radius: 50%;
  background: #1f6fea;
  color: #fff;
  font-size: 14px;
}

.special-standard-card {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 24px;
  align-items: center;
  padding: 36px 40px;
  border-radius: 24px;
  background: #e3f0fe;
}

.special-standard-rules {
  display: grid;
  gap: 12px;
}

.special-standard-rules article {
  min-height: 130px;
  padding: 22px;
  border-radius: 16px;
  background: rgba(255,255,255,.68);
}

.special-connect {
  padding-top: 72px;
}

.special-connect-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.special-connect-grid a {
  display: block;
  min-height: 286px;
  padding: 20px;
  border-radius: 20px;
  background: #f4f7fc;
}

.special-connect-grid img {
  display: block;
  width: 100%;
  height: 150px;
  margin-bottom: 18px;
  object-fit: contain;
  border-radius: 16px;
  background: #f4f7fc;
}

.special-flow h2 {
  margin: 0 0 24px;
  color: #202631;
  font-size: 29px;
  font-weight: 780;
}

.special-flow-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.special-flow-row article {
  min-height: 188px;
  padding: 24px;
  border-radius: 18px;
  border: 1px solid #dbe5f2;
  background: #fff;
}

.special-flow-row b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 34px;
  margin-bottom: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: #1f6fea;
  color: #fff;
  font-size: 14px;
}

.special-final {
  display: grid;
  grid-template-columns: .92fr 1fr;
  gap: 28px;
  align-items: center;
  margin-bottom: 72px;
  padding: 34px 40px;
  border-radius: 24px;
  background: #e3f0fe;
}

.special-final a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  height: 52px;
  margin-top: 24px;
  border-radius: 12px;
  background: #1f6fea;
  color: #fff;
  font-size: 16px;
  font-weight: 760;
}

.special-final img {
  width: min(500px, 100%);
  background: #e3f0fe;
}

@media (max-width: 980px) {
  .special-clean-hero .service-hero-visual {
    right: -220px;
    opacity: .66;
  }

  .special-diagnosis,
  .special-photo,
  .special-standard-card,
  .special-final {
    grid-template-columns: 1fr;
  }

  .special-alerts,
  .special-case-grid,
  .special-photo-list,
  .special-flow-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .special-connect-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .special-clean-page .service-hero,
  .special-clean-page .service-hero-inner {
    min-height: 380px;
  }

  .special-clean-page .service-hero h1 {
    font-size: 33px;
  }

  .special-clean-hero .service-hero-visual {
    right: -300px;
    bottom: -36px;
    width: 680px;
  }

  .special-alerts,
  .special-case-grid,
  .special-photo-list,
  .special-flow-row {
    grid-template-columns: 1fr;
  }

  .special-diagnosis-card,
  .special-photo,
  .special-standard-card,
  .special-final {
    padding: 28px 20px;
  }
}

/* Organizing detail page */
.organizing-page .service-hero {
  min-height: 410px;
  background: #e3f0fe;
  overflow: hidden;
}

.organizing-page .service-hero-inner {
  position: relative;
  min-height: 410px;
  display: flex;
  align-items: center;
}

.organizing-page .service-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 540px;
}

.organizing-page .service-hero h1 {
  font-size: 40px;
  line-height: 1.25;
}

.organizing-page .service-hero span {
  max-width: 520px;
  font-size: 17px;
}

.organizing-hero .service-hero-visual {
  position: absolute;
  right: -24px;
  bottom: 0;
  width: min(650px, 54vw);
  background: #e3f0fe;
}

.organizing-hero .service-hero-visual img {
  width: 100%;
  background: #e3f0fe;
  clip-path: inset(0 0 42px 0);
}

.organizing-section-title p,
.organizing-core-copy > p,
.organizing-before-copy p,
.organizing-method-card p,
.organizing-final p {
  margin: 0 0 10px;
  color: #1f6fea;
  font-size: 15px;
  font-weight: 760;
}

.organizing-section-title h2,
.organizing-core-copy h2,
.organizing-before-copy h2,
.organizing-method-card h2,
.organizing-final h2 {
  margin: 0;
  color: #202631;
  font-size: 29px;
  line-height: 1.36;
  font-weight: 780;
}

.organizing-core {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 24px;
  align-items: stretch;
  padding-top: 72px;
}

.organizing-core-copy {
  padding: 36px;
  border-radius: 24px;
  background: #ecf4fe;
}

.organizing-core-copy > span,
.organizing-before-copy > span,
.organizing-method-card span,
.organizing-final span {
  display: block;
  max-width: 580px;
  margin-top: 14px;
  color: #667085;
  font-size: 16px;
  line-height: 1.65;
}

.organizing-core-points {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 34px;
}

.organizing-core-points article {
  min-height: 142px;
  padding: 20px;
  border-radius: 16px;
  background: rgba(255,255,255,.7);
}

.organizing-core-points strong,
.organizing-zone-grid strong,
.organizing-photo-list strong,
.organizing-method-steps strong,
.organizing-combo-grid strong,
.organizing-flow-row strong {
  display: block;
  color: #202631;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 760;
}

.organizing-core-points em,
.organizing-photo-list em,
.organizing-combo-grid span {
  display: block;
  margin-top: 9px;
  color: #667085;
  font-size: 15px;
  line-height: 1.55;
  font-style: normal;
}

.organizing-core-image {
  display: grid;
  place-items: center;
  min-height: 360px;
  padding: 20px;
  border-radius: 24px;
  background: #fdfefe;
}

.organizing-core-image img {
  width: min(430px, 100%);
  background: #fdfefe;
}

.organizing-zones {
  padding-top: 76px;
}

.organizing-zone-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.organizing-zone-grid article {
  min-height: 222px;
  padding: 24px;
  border-radius: 18px;
  background: #f4f7fc;
}

.organizing-zone-grid span {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 32px;
  border-radius: 18px;
  background: #fff;
  font-size: 27px;
}

.organizing-zone-grid p,
.organizing-method-steps p,
.organizing-flow-row p {
  margin: 9px 0 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.58;
}

.organizing-before {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 30px;
  align-items: center;
  padding: 34px;
  border-radius: 24px;
  background: #e3f0fe;
}

.organizing-before-image {
  display: grid;
  place-items: center;
  min-height: 330px;
  background: #e3f0fe;
}

.organizing-before-image img {
  width: min(500px, 100%);
  background: #e3f0fe;
}

.organizing-photo-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 24px;
}

.organizing-photo-list article {
  min-height: 132px;
  padding: 20px;
  border-radius: 16px;
  background: rgba(255,255,255,.68);
}

.organizing-photo-list b {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-bottom: 22px;
  border-radius: 50%;
  background: #1f6fea;
  color: #fff;
  font-size: 14px;
}

.organizing-method-card {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 24px;
  align-items: center;
  padding: 36px 40px;
  border-radius: 24px;
  background: #fdfefe;
}

.organizing-method-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.organizing-method-steps article {
  min-height: 160px;
  padding: 22px;
  border-radius: 16px;
  background: #f4f7fc;
}

.organizing-combo {
  padding-top: 72px;
}

.organizing-combo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.organizing-combo-grid a {
  display: block;
  min-height: 286px;
  padding: 20px;
  border-radius: 20px;
  background: #f4f7fc;
}

.organizing-combo-grid img {
  display: block;
  width: 100%;
  height: 150px;
  margin-bottom: 18px;
  object-fit: contain;
  border-radius: 16px;
  background: #f4f7fc;
}

.organizing-flow h2 {
  margin: 0 0 24px;
  color: #202631;
  font-size: 29px;
  font-weight: 780;
}

.organizing-flow-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.organizing-flow-row article {
  min-height: 188px;
  padding: 24px;
  border-radius: 18px;
  border: 1px solid #dbe5f2;
  background: #fff;
}

.organizing-flow-row b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 34px;
  margin-bottom: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: #1f6fea;
  color: #fff;
  font-size: 14px;
}

.organizing-final {
  display: grid;
  grid-template-columns: .92fr 1fr;
  gap: 28px;
  align-items: center;
  margin-bottom: 72px;
  padding: 34px 40px;
  border-radius: 24px;
  background: #e3f0fe;
}

.organizing-final a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  height: 52px;
  margin-top: 24px;
  border-radius: 12px;
  background: #1f6fea;
  color: #fff;
  font-size: 16px;
  font-weight: 760;
}

.organizing-final img {
  width: min(500px, 100%);
  background: #e3f0fe;
}

@media (max-width: 980px) {
  .organizing-hero .service-hero-visual {
    right: -220px;
    opacity: .66;
  }

  .organizing-core,
  .organizing-before,
  .organizing-method-card,
  .organizing-final {
    grid-template-columns: 1fr;
  }

  .organizing-core-points,
  .organizing-zone-grid,
  .organizing-photo-list,
  .organizing-method-steps,
  .organizing-flow-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .organizing-combo-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .organizing-page .service-hero,
  .organizing-page .service-hero-inner {
    min-height: 380px;
  }

  .organizing-page .service-hero h1 {
    font-size: 33px;
  }

  .organizing-hero .service-hero-visual {
    right: -300px;
    bottom: -36px;
    width: 680px;
  }

  .organizing-core-points,
  .organizing-zone-grid,
  .organizing-photo-list,
  .organizing-method-steps,
  .organizing-flow-row {
    grid-template-columns: 1fr;
  }

  .organizing-core-copy,
  .organizing-before,
  .organizing-method-card,
  .organizing-final {
    padding: 28px 20px;
  }
}

/* Interior detail page */
.interior-page .service-hero {
  min-height: 410px;
  background: #e3f0fe;
  overflow: hidden;
}

.interior-page .service-hero-inner {
  position: relative;
  min-height: 410px;
  display: flex;
  align-items: center;
}

.interior-page .service-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 540px;
}

.interior-page .service-hero h1 {
  font-size: 40px;
  line-height: 1.25;
}

.interior-page .service-hero span {
  max-width: 520px;
  font-size: 17px;
}

.interior-hero .service-hero-visual {
  position: absolute;
  right: -24px;
  bottom: 0;
  width: min(650px, 54vw);
  background: #e3f0fe;
}

.interior-hero .service-hero-visual img {
  width: 100%;
  background: #e3f0fe;
  clip-path: inset(0 34px 0 0);
}

.interior-section-title p,
.interior-scope-copy > p,
.interior-after-copy p,
.interior-plan-card p,
.interior-final p {
  margin: 0 0 10px;
  color: #1f6fea;
  font-size: 15px;
  font-weight: 760;
}

.interior-section-title h2,
.interior-scope-copy h2,
.interior-after-copy h2,
.interior-plan-card h2,
.interior-final h2 {
  margin: 0;
  color: #202631;
  font-size: 29px;
  line-height: 1.36;
  font-weight: 780;
}

.interior-scope {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 24px;
  align-items: stretch;
  padding-top: 72px;
}

.interior-scope-copy {
  padding: 36px;
  border-radius: 24px;
  background: #ecf4fe;
}

.interior-scope-copy > span,
.interior-after-copy > span,
.interior-plan-card span,
.interior-final span {
  display: block;
  max-width: 580px;
  margin-top: 14px;
  color: #667085;
  font-size: 16px;
  line-height: 1.65;
}

.interior-scope-points {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 34px;
}

.interior-scope-points article {
  min-height: 146px;
  padding: 20px;
  border-radius: 16px;
  background: rgba(255,255,255,.7);
}

.interior-scope-points strong,
.interior-need-grid strong,
.interior-after-list strong,
.interior-plan-steps strong,
.interior-connect-grid strong,
.interior-flow-row strong {
  display: block;
  color: #202631;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 760;
}

.interior-scope-points em,
.interior-after-list em,
.interior-connect-grid span {
  display: block;
  margin-top: 9px;
  color: #667085;
  font-size: 15px;
  line-height: 1.55;
  font-style: normal;
}

.interior-scope-image {
  display: grid;
  place-items: center;
  min-height: 360px;
  padding: 20px;
  border-radius: 24px;
  background: #ecf4fe;
}

.interior-scope-image img {
  width: min(430px, 100%);
  background: #ecf4fe;
}

.interior-needs {
  padding-top: 76px;
}

.interior-need-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.interior-need-grid article {
  min-height: 224px;
  padding: 24px;
  border-radius: 18px;
  background: #f4f7fc;
}

.interior-need-grid span {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 32px;
  border-radius: 18px;
  background: #fff;
  font-size: 27px;
}

.interior-need-grid p,
.interior-plan-steps p,
.interior-flow-row p {
  margin: 9px 0 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.58;
}

.interior-after {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 30px;
  align-items: center;
  padding: 34px;
  border-radius: 24px;
  background: #e3f0fe;
}

.interior-after-image {
  display: grid;
  place-items: center;
  min-height: 330px;
  background: #e3f0fe;
}

.interior-after-image img {
  width: min(500px, 100%);
  background: #e3f0fe;
}

.interior-after-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 24px;
}

.interior-after-list article {
  min-height: 132px;
  padding: 20px;
  border-radius: 16px;
  background: rgba(255,255,255,.68);
}

.interior-after-list b {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-bottom: 22px;
  border-radius: 50%;
  background: #1f6fea;
  color: #fff;
  font-size: 14px;
}

.interior-plan-card {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 24px;
  align-items: center;
  padding: 36px 40px;
  border-radius: 24px;
  background: #fdfefe;
}

.interior-plan-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.interior-plan-steps article {
  min-height: 160px;
  padding: 22px;
  border-radius: 16px;
  background: #f4f7fc;
}

.interior-connect {
  padding-top: 72px;
}

.interior-connect-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.interior-connect-grid a {
  display: block;
  min-height: 286px;
  padding: 20px;
  border-radius: 20px;
  background: #f4f7fc;
}

.interior-connect-grid img {
  display: block;
  width: 100%;
  height: 150px;
  margin-bottom: 18px;
  object-fit: contain;
  border-radius: 16px;
  background: #f4f7fc;
}

.interior-flow h2 {
  margin: 0 0 24px;
  color: #202631;
  font-size: 29px;
  font-weight: 780;
}

.interior-flow-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.interior-flow-row article {
  min-height: 188px;
  padding: 24px;
  border-radius: 18px;
  border: 1px solid #dbe5f2;
  background: #fff;
}

.interior-flow-row b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 34px;
  margin-bottom: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: #1f6fea;
  color: #fff;
  font-size: 14px;
}

.interior-final {
  display: grid;
  grid-template-columns: .92fr 1fr;
  gap: 28px;
  align-items: center;
  margin-bottom: 72px;
  padding: 34px 40px;
  border-radius: 24px;
  background: #e3f0fe;
}

.interior-final a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  height: 52px;
  margin-top: 24px;
  border-radius: 12px;
  background: #1f6fea;
  color: #fff;
  font-size: 16px;
  font-weight: 760;
}

.interior-final img {
  width: min(500px, 100%);
  background: #e3f0fe;
}

@media (max-width: 980px) {
  .interior-hero .service-hero-visual {
    right: -220px;
    opacity: .66;
  }

  .interior-scope,
  .interior-after,
  .interior-plan-card,
  .interior-final {
    grid-template-columns: 1fr;
  }

  .interior-scope-points,
  .interior-need-grid,
  .interior-after-list,
  .interior-plan-steps,
  .interior-flow-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .interior-connect-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .interior-page .service-hero,
  .interior-page .service-hero-inner {
    min-height: 380px;
  }

  .interior-page .service-hero h1 {
    font-size: 33px;
  }

  .interior-hero .service-hero-visual {
    right: -300px;
    bottom: -36px;
    width: 680px;
  }

  .interior-scope-points,
  .interior-need-grid,
  .interior-after-list,
  .interior-plan-steps,
  .interior-flow-row {
    grid-template-columns: 1fr;
  }

  .interior-scope-copy,
  .interior-after,
  .interior-plan-card,
  .interior-final {
    padding: 28px 20px;
  }
}

/* Moving service detail page */
.moving-service-page .service-hero {
  min-height: 410px;
  background: #e3f0fe;
  overflow: hidden;
}

.moving-service-page .service-hero-inner {
  position: relative;
  min-height: 410px;
  display: flex;
  align-items: center;
}

.moving-service-page .service-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 540px;
}

.moving-service-page .service-hero h1 {
  font-size: 40px;
  line-height: 1.25;
}

.moving-service-page .service-hero span {
  max-width: 520px;
  font-size: 17px;
}

.moving-service-hero .service-hero-visual {
  position: absolute;
  right: -24px;
  bottom: 0;
  width: min(650px, 54vw);
  background: #e3f0fe;
}

.moving-service-hero .service-hero-visual img {
  width: 100%;
  background: #e3f0fe;
  clip-path: inset(0 38px 0 0);
}

.moving-section-title p,
.moving-start-copy > p,
.moving-clean-copy p,
.moving-safe-card p,
.moving-final p {
  margin: 0 0 10px;
  color: #1f6fea;
  font-size: 15px;
  font-weight: 760;
}

.moving-section-title h2,
.moving-start-copy h2,
.moving-clean-copy h2,
.moving-safe-card h2,
.moving-final h2 {
  margin: 0;
  color: #202631;
  font-size: 29px;
  line-height: 1.36;
  font-weight: 780;
}

.moving-start {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 24px;
  align-items: stretch;
  padding-top: 72px;
}

.moving-start-copy {
  padding: 36px;
  border-radius: 24px;
  background: #ecf4fe;
}

.moving-start-copy > span,
.moving-clean-copy > span,
.moving-safe-card span,
.moving-final span {
  display: block;
  max-width: 580px;
  margin-top: 14px;
  color: #667085;
  font-size: 16px;
  line-height: 1.65;
}

.moving-start-points {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 34px;
}

.moving-start-points article {
  min-height: 146px;
  padding: 20px;
  border-radius: 16px;
  background: rgba(255,255,255,.7);
}

.moving-start-points strong,
.moving-type-grid strong,
.moving-clean-list strong,
.moving-safe-steps strong,
.moving-connect-grid strong,
.moving-flow-row strong {
  display: block;
  color: #202631;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 760;
}

.moving-start-points em,
.moving-clean-list em,
.moving-connect-grid span {
  display: block;
  margin-top: 9px;
  color: #667085;
  font-size: 15px;
  line-height: 1.55;
  font-style: normal;
}

.moving-start-image {
  display: grid;
  place-items: center;
  min-height: 360px;
  padding: 20px;
  border-radius: 24px;
  background: #ecf4fe;
}

.moving-start-image img {
  width: min(430px, 100%);
  background: #ecf4fe;
}

.moving-types {
  padding-top: 76px;
}

.moving-type-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.moving-type-grid article {
  min-height: 224px;
  padding: 24px;
  border-radius: 18px;
  background: #f4f7fc;
}

.moving-type-grid span {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 32px;
  border-radius: 18px;
  background: #fff;
  font-size: 27px;
}

.moving-type-grid p,
.moving-safe-steps p,
.moving-flow-row p {
  margin: 9px 0 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.58;
}

.moving-clean-link {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 30px;
  align-items: center;
  padding: 34px;
  border-radius: 24px;
  background: #e3f0fe;
}

.moving-clean-image {
  display: grid;
  place-items: center;
  min-height: 330px;
  background: #e3f0fe;
}

.moving-clean-image img {
  width: min(500px, 100%);
  background: #e3f0fe;
}

.moving-clean-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 24px;
}

.moving-clean-list article {
  min-height: 132px;
  padding: 20px;
  border-radius: 16px;
  background: rgba(255,255,255,.68);
}

.moving-clean-list b {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-bottom: 22px;
  border-radius: 50%;
  background: #1f6fea;
  color: #fff;
  font-size: 14px;
}

.moving-safe-card {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 24px;
  align-items: center;
  padding: 36px 40px;
  border-radius: 24px;
  background: #fdfefe;
}

.moving-safe-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.moving-safe-steps article {
  min-height: 160px;
  padding: 22px;
  border-radius: 16px;
  background: #f4f7fc;
}

.moving-connect {
  padding-top: 72px;
}

.moving-connect-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.moving-connect-grid a {
  display: block;
  min-height: 286px;
  padding: 20px;
  border-radius: 20px;
  background: #f4f7fc;
}

.moving-connect-grid img {
  display: block;
  width: 100%;
  height: 150px;
  margin-bottom: 18px;
  object-fit: contain;
  border-radius: 16px;
  background: #f4f7fc;
}

.moving-flow h2 {
  margin: 0 0 24px;
  color: #202631;
  font-size: 29px;
  font-weight: 780;
}

.moving-flow-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.moving-flow-row article {
  min-height: 188px;
  padding: 24px;
  border-radius: 18px;
  border: 1px solid #dbe5f2;
  background: #fff;
}

.moving-flow-row b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 34px;
  margin-bottom: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: #1f6fea;
  color: #fff;
  font-size: 14px;
}

.moving-final {
  display: grid;
  grid-template-columns: .92fr 1fr;
  gap: 28px;
  align-items: center;
  margin-bottom: 72px;
  padding: 34px 40px;
  border-radius: 24px;
  background: #e3f0fe;
}

.moving-final a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  height: 52px;
  margin-top: 24px;
  border-radius: 12px;
  background: #1f6fea;
  color: #fff;
  font-size: 16px;
  font-weight: 760;
}

.moving-final img {
  width: min(500px, 100%);
  background: #e3f0fe;
}

@media (max-width: 980px) {
  .moving-service-hero .service-hero-visual {
    right: -220px;
    opacity: .66;
  }

  .moving-start,
  .moving-clean-link,
  .moving-safe-card,
  .moving-final {
    grid-template-columns: 1fr;
  }

  .moving-start-points,
  .moving-type-grid,
  .moving-clean-list,
  .moving-safe-steps,
  .moving-flow-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .moving-connect-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .moving-service-page .service-hero,
  .moving-service-page .service-hero-inner {
    min-height: 380px;
  }

  .moving-service-page .service-hero h1 {
    font-size: 33px;
  }

  .moving-service-hero .service-hero-visual {
    right: -300px;
    bottom: -36px;
    width: 680px;
  }

  .moving-start-points,
  .moving-type-grid,
  .moving-clean-list,
  .moving-safe-steps,
  .moving-flow-row {
    grid-template-columns: 1fr;
  }

  .moving-start-copy,
  .moving-clean-link,
  .moving-safe-card,
  .moving-final {
    padding: 28px 20px;
  }
}

/* Demolition detail page */
.demolition-page .service-hero {
  min-height: 410px;
  background: #e3f0fe;
  overflow: hidden;
}

.demolition-page .service-hero-inner {
  position: relative;
  min-height: 410px;
  display: flex;
  align-items: center;
}

.demolition-page .service-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 540px;
}

.demolition-page .service-hero h1 {
  font-size: 40px;
  line-height: 1.25;
}

.demolition-page .service-hero span {
  max-width: 520px;
  font-size: 17px;
}

.demolition-hero .service-hero-visual {
  position: absolute;
  right: -24px;
  bottom: 0;
  width: min(650px, 54vw);
  background: #e3f0fe;
}

.demolition-hero .service-hero-visual img {
  width: 100%;
  background: #e3f0fe;
}

.demolition-section-title p,
.demolition-scope-copy > p,
.demolition-safety-copy p,
.demolition-after-card p,
.demolition-final p {
  margin: 0 0 10px;
  color: #1f6fea;
  font-size: 15px;
  font-weight: 760;
}

.demolition-section-title h2,
.demolition-scope-copy h2,
.demolition-safety-copy h2,
.demolition-after-card h2,
.demolition-final h2 {
  margin: 0;
  color: #202631;
  font-size: 29px;
  line-height: 1.36;
  font-weight: 780;
}

.demolition-scope {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 24px;
  align-items: stretch;
  padding-top: 72px;
}

.demolition-scope-copy {
  padding: 36px;
  border-radius: 24px;
  background: #ecf4fe;
}

.demolition-scope-copy > span,
.demolition-safety-copy > span,
.demolition-after-card span,
.demolition-final span {
  display: block;
  max-width: 580px;
  margin-top: 14px;
  color: #667085;
  font-size: 16px;
  line-height: 1.65;
}

.demolition-scope-points {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 34px;
}

.demolition-scope-points article {
  min-height: 146px;
  padding: 20px;
  border-radius: 16px;
  background: rgba(255,255,255,.7);
}

.demolition-scope-points strong,
.demolition-type-grid strong,
.demolition-safety-list strong,
.demolition-after-steps strong,
.demolition-connect-grid strong,
.demolition-flow-row strong {
  display: block;
  color: #202631;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 760;
}

.demolition-scope-points em,
.demolition-safety-list em,
.demolition-connect-grid span {
  display: block;
  margin-top: 9px;
  color: #667085;
  font-size: 15px;
  line-height: 1.55;
  font-style: normal;
}

.demolition-scope-image {
  display: grid;
  place-items: center;
  min-height: 360px;
  padding: 20px;
  border-radius: 24px;
  background: #ecf4fe;
}

.demolition-scope-image img {
  width: min(430px, 100%);
  background: #ecf4fe;
}

.demolition-types {
  padding-top: 76px;
}

.demolition-type-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.demolition-type-grid article {
  min-height: 224px;
  padding: 24px;
  border-radius: 18px;
  background: #f4f7fc;
}

.demolition-type-grid span {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 32px;
  border-radius: 18px;
  background: #fff;
  font-size: 27px;
}

.demolition-type-grid p,
.demolition-after-steps p,
.demolition-flow-row p {
  margin: 9px 0 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.58;
}

.demolition-safety {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 30px;
  align-items: center;
  padding: 34px;
  border-radius: 24px;
  background: #e3f0fe;
}

.demolition-safety-image {
  display: grid;
  place-items: center;
  min-height: 330px;
  background: #e3f0fe;
}

.demolition-safety-image img {
  width: min(500px, 100%);
  background: #e3f0fe;
}

.demolition-safety-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 24px;
}

.demolition-safety-list article {
  min-height: 132px;
  padding: 20px;
  border-radius: 16px;
  background: rgba(255,255,255,.68);
}

.demolition-safety-list b {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-bottom: 22px;
  border-radius: 50%;
  background: #1f6fea;
  color: #fff;
  font-size: 14px;
}

.demolition-after-card {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 24px;
  align-items: center;
  padding: 36px 40px;
  border-radius: 24px;
  background: #fdfefe;
}

.demolition-after-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.demolition-after-steps article {
  min-height: 160px;
  padding: 22px;
  border-radius: 16px;
  background: #f4f7fc;
}

.demolition-connect {
  padding-top: 72px;
}

.demolition-connect-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.demolition-connect-grid a {
  display: block;
  min-height: 286px;
  padding: 20px;
  border-radius: 20px;
  background: #f4f7fc;
}

.demolition-connect-grid img {
  display: block;
  width: 100%;
  height: 150px;
  margin-bottom: 18px;
  object-fit: contain;
  border-radius: 16px;
  background: #f4f7fc;
}

.demolition-flow h2 {
  margin: 0 0 24px;
  color: #202631;
  font-size: 29px;
  font-weight: 780;
}

.demolition-flow-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.demolition-flow-row article {
  min-height: 188px;
  padding: 24px;
  border-radius: 18px;
  border: 1px solid #dbe5f2;
  background: #fff;
}

.demolition-flow-row b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 34px;
  margin-bottom: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: #1f6fea;
  color: #fff;
  font-size: 14px;
}

.demolition-final {
  display: grid;
  grid-template-columns: .92fr 1fr;
  gap: 28px;
  align-items: center;
  margin-bottom: 72px;
  padding: 34px 40px;
  border-radius: 24px;
  background: #e3f0fe;
}

.demolition-final a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  height: 52px;
  margin-top: 24px;
  border-radius: 12px;
  background: #1f6fea;
  color: #fff;
  font-size: 16px;
  font-weight: 760;
}

.demolition-final img {
  width: min(500px, 100%);
  background: #e3f0fe;
}

@media (max-width: 980px) {
  .demolition-hero .service-hero-visual {
    right: -220px;
    opacity: .66;
  }

  .demolition-scope,
  .demolition-safety,
  .demolition-after-card,
  .demolition-final {
    grid-template-columns: 1fr;
  }

  .demolition-scope-points,
  .demolition-type-grid,
  .demolition-safety-list,
  .demolition-after-steps,
  .demolition-flow-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .demolition-connect-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .demolition-page .service-hero,
  .demolition-page .service-hero-inner {
    min-height: 380px;
  }

  .demolition-page .service-hero h1 {
    font-size: 33px;
  }

  .demolition-hero .service-hero-visual {
    right: -300px;
    bottom: -36px;
    width: 680px;
  }

  .demolition-scope-points,
  .demolition-type-grid,
  .demolition-safety-list,
  .demolition-after-steps,
  .demolition-flow-row {
    grid-template-columns: 1fr;
  }

  .demolition-scope-copy,
  .demolition-safety,
  .demolition-after-card,
  .demolition-final {
    padding: 28px 20px;
  }
}

/* Franchise detail page */
.franchise-page .service-hero {
  min-height: 410px;
  background: #e3f0fe;
  overflow: hidden;
}

.franchise-page .service-hero-inner {
  position: relative;
  min-height: 410px;
  display: flex;
  align-items: center;
}

.franchise-page .service-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 560px;
}

.franchise-page .service-hero h1 {
  font-size: 40px;
  line-height: 1.25;
}

.franchise-page .service-hero span {
  max-width: 520px;
  font-size: 17px;
}

.franchise-hero .service-hero-visual {
  position: absolute;
  right: -18px;
  bottom: 0;
  width: min(620px, 52vw);
  background: #e3f0fe;
}

.franchise-hero .service-hero-visual img {
  width: 100%;
  background: #e3f0fe;
}

.franchise-page .service-hero-visual {
  align-items: flex-end;
  padding-bottom: 0;
}

.franchise-page .service-hero-visual img {
  object-position: center bottom;
}

/* Final cleaning page overrides */
.cleaning-hub-hero .service-hero-visual {
  bottom: 28px;
}

.cleaning-hub-hero .service-hero-visual img {
  object-position: center center;
}

.cleaning-guide {
  grid-template-columns: .72fr 1fr .82fr;
}

.cleaning-guide .guide-copy {
  order: 1;
}

.cleaning-guide .guide-image {
  order: 2;
}

.cleaning-guide .guide-checks {
  order: 3;
}

.recommend-main,
.recommend-list a {
  border: 1px solid #d9e6f5;
}

.cleaning-final,
.cleaning-final .final-image,
.cleaning-final .final-image img {
  background: #c7e3fb;
}

.cleaning-final .final-image {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
}

.cleaning-final .final-image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 42px 48px #c7e3fb;
}

.cleaning-type-grid .cleaning-type-card:nth-child(2) img {
  clip-path: inset(0 32px 0 0);
}

/* Last-pass cleaning page layout */
.cleaning-guide {
  grid-template-columns: .72fr 1fr .82fr;
}

.cleaning-guide .guide-copy {
  order: 1;
}

.cleaning-guide .guide-image {
  order: 2;
}

.cleaning-guide .guide-checks {
  order: 3;
}

.cleaning-final .final-image {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
}

.cleaning-final .final-image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 42px 48px #c7e3fb;
}

.cleaning-type-grid .cleaning-type-card:nth-child(2) img {
  clip-path: inset(0 32px 0 0);
}

/* Cleaning page focused refinements */
.cleaning-hub-hero .service-hero-visual {
  bottom: 28px;
}

.cleaning-hub-hero .service-hero-visual img {
  object-position: center center;
}

.cleaning-guide {
  grid-template-columns: 1fr .72fr .82fr;
}

.cleaning-guide .guide-image {
  order: 1;
}

.cleaning-guide .guide-copy {
  order: 2;
}

.cleaning-guide .guide-checks {
  order: 3;
}

.recommend-main,
.recommend-list a {
  border: 1px solid #d9e6f5;
}

.cleaning-final,
.cleaning-final .final-image,
.cleaning-final .final-image img {
  background: #c7e3fb;
}

.franchise-fit,
.franchise-system,
.franchise-service-map,
.franchise-final {
  display: grid;
  gap: 28px;
  align-items: center;
}

.franchise-fit {
  grid-template-columns: .78fr 1.22fr;
  padding-top: 72px;
}

.franchise-fit-copy,
.franchise-system-copy,
.franchise-map-copy,
.franchise-criteria-copy {
  min-width: 0;
}

.franchise-fit-copy p,
.franchise-system-copy p,
.franchise-section-title p,
.franchise-map-copy p,
.franchise-criteria-copy p,
.franchise-final p {
  margin: 0 0 10px;
  color: #1f6fea;
  font-size: 15px;
  font-weight: 760;
}

.franchise-fit-copy h2,
.franchise-system-copy h2,
.franchise-section-title h2,
.franchise-map-copy h2,
.franchise-criteria-copy h2,
.franchise-flow h2,
.franchise-final h2 {
  margin: 0;
  color: #202631;
  font-size: 29px;
  line-height: 1.36;
  font-weight: 780;
}

.franchise-fit-copy span,
.franchise-map-copy span,
.franchise-final span {
  display: block;
  max-width: 560px;
  margin-top: 14px;
  color: #667085;
  font-size: 16px;
  line-height: 1.65;
}

.franchise-fit-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.franchise-fit-grid article {
  min-height: 238px;
  padding: 24px;
  border-radius: 18px;
  background: #f4f7fc;
}

.franchise-fit-grid b,
.franchise-criteria-list b,
.franchise-flow-row b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 34px;
  margin-bottom: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: #1f6fea;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}

.franchise-fit-grid strong,
.franchise-checks strong,
.franchise-support-grid strong,
.franchise-criteria-list strong,
.franchise-flow-row strong {
  display: block;
  color: #202631;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 760;
}

.franchise-fit-grid p,
.franchise-checks span,
.franchise-support-grid p,
.franchise-criteria-list p,
.franchise-flow-row p {
  margin: 9px 0 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.58;
}

.franchise-system {
  grid-template-columns: .92fr 1.08fr;
  padding: 34px;
  border-radius: 24px;
  background: #e3f0fe;
}

.franchise-system-image {
  display: grid;
  place-items: center;
  min-height: 340px;
  background: #e3f0fe;
}

.franchise-system-image img {
  width: min(500px, 100%);
  background: #e3f0fe;
}

.franchise-checks {
  display: grid;
  gap: 12px;
  margin-top: 26px;
}

.franchise-checks article {
  padding: 19px 20px;
  border-radius: 16px;
  background: rgba(255,255,255,.72);
}

.franchise-support {
  padding-top: 76px;
}

.franchise-support-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.franchise-support-grid article {
  min-height: 232px;
  padding: 24px;
  border-radius: 18px;
  background: #f4f7fc;
}

.franchise-support-grid span {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 34px;
  border-radius: 18px;
  background: #fff;
  font-size: 27px;
}

.franchise-service-map {
  grid-template-columns: .9fr 1.1fr;
  padding: 34px 40px;
  border-radius: 24px;
  background: #e3f0fe;
}

.franchise-map-image {
  display: grid;
  place-items: center;
  min-height: 340px;
  background: #e3f0fe;
}

.franchise-map-image img {
  width: min(580px, 100%);
  background: #e3f0fe;
}

.franchise-criteria {
  display: grid;
  grid-template-columns: .75fr 1.25fr;
  gap: 28px;
  align-items: start;
  padding-top: 74px;
}

.franchise-criteria-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.franchise-criteria-list article {
  min-height: 182px;
  padding: 24px;
  border-radius: 18px;
  border: 1px solid #dbe5f2;
  background: #fff;
}

.franchise-flow h2 {
  margin-bottom: 24px;
}

.franchise-flow-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.franchise-flow-row article {
  min-height: 188px;
  padding: 24px;
  border-radius: 18px;
  background: #f4f7fc;
}

.franchise-final {
  grid-template-columns: .92fr 1fr;
  margin-bottom: 72px;
  padding: 34px 40px;
  border-radius: 24px;
  background: #e3f0fe;
}

.franchise-final a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  height: 52px;
  margin-top: 24px;
  border-radius: 12px;
  background: #1f6fea;
  color: #fff;
  font-size: 16px;
  font-weight: 760;
}

.franchise-final img {
  width: min(520px, 100%);
  background: #e3f0fe;
}

@media (max-width: 980px) {
  .franchise-hero .service-hero-visual {
    right: -210px;
    opacity: .66;
  }

  .franchise-fit,
  .franchise-system,
  .franchise-service-map,
  .franchise-criteria,
  .franchise-final {
    grid-template-columns: 1fr;
  }

  .franchise-fit-grid,
  .franchise-support-grid,
  .franchise-flow-row {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .franchise-page .service-hero,
  .franchise-page .service-hero-inner {
    min-height: 380px;
  }

  .franchise-page .service-hero h1 {
    font-size: 33px;
  }

  .franchise-hero .service-hero-visual {
    right: -300px;
    bottom: -34px;
    width: 660px;
  }

  .franchise-fit-grid,
  .franchise-support-grid,
  .franchise-criteria-list,
  .franchise-flow-row {
    grid-template-columns: 1fr;
  }

  .franchise-system,
  .franchise-service-map,
  .franchise-final {
    padding: 28px 20px;
  }
}

/* Store package detail page */
.store-package-page .service-hero {
  min-height: 410px;
  background: #e3f0fe;
  overflow: hidden;
}

.store-package-page .service-hero-inner {
  position: relative;
  min-height: 410px;
  display: flex;
  align-items: center;
}

.store-package-page .service-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 550px;
}

.store-package-page .service-hero h1 {
  font-size: 40px;
  line-height: 1.25;
}

.store-package-page .service-hero span {
  max-width: 520px;
  font-size: 17px;
}

.store-package-hero .service-hero-visual {
  position: absolute;
  right: -24px;
  bottom: 0;
  width: min(650px, 54vw);
  background: #e3f0fe;
}

.store-package-hero .service-hero-visual img {
  width: 100%;
  background: #e3f0fe;
}

.storepack-section-title p,
.storepack-timeline-copy > p,
.storepack-business-copy p,
.storepack-cost-card p,
.storepack-final p {
  margin: 0 0 10px;
  color: #1f6fea;
  font-size: 15px;
  font-weight: 760;
}

.storepack-section-title h2,
.storepack-timeline-copy h2,
.storepack-business-copy h2,
.storepack-cost-card h2,
.storepack-final h2 {
  margin: 0;
  color: #202631;
  font-size: 29px;
  line-height: 1.36;
  font-weight: 780;
}

.storepack-timeline {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 24px;
  align-items: stretch;
  padding-top: 72px;
}

.storepack-timeline-copy {
  padding: 36px;
  border-radius: 24px;
  background: #ecf4fe;
}

.storepack-timeline-copy > span,
.storepack-business-copy > span,
.storepack-cost-card span,
.storepack-final span {
  display: block;
  max-width: 580px;
  margin-top: 14px;
  color: #667085;
  font-size: 16px;
  line-height: 1.65;
}

.storepack-timeline-points {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 34px;
}

.storepack-timeline-points article {
  min-height: 146px;
  padding: 20px;
  border-radius: 16px;
  background: rgba(255,255,255,.7);
}

.storepack-timeline-points strong,
.storepack-need-grid strong,
.storepack-business-list strong,
.storepack-cost-steps strong,
.storepack-connect-grid strong,
.storepack-flow-row strong {
  display: block;
  color: #202631;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 760;
}

.storepack-timeline-points em,
.storepack-business-list em,
.storepack-connect-grid span {
  display: block;
  margin-top: 9px;
  color: #667085;
  font-size: 15px;
  line-height: 1.55;
  font-style: normal;
}

.storepack-timeline-image {
  display: grid;
  place-items: center;
  min-height: 360px;
  padding: 20px;
  border-radius: 24px;
  background: #ecf4fe;
}

.storepack-timeline-image img {
  width: min(430px, 100%);
  background: #ecf4fe;
}

.storepack-needs {
  padding-top: 76px;
}

.storepack-need-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.storepack-need-grid article {
  min-height: 224px;
  padding: 24px;
  border-radius: 18px;
  background: #f4f7fc;
}

.storepack-need-grid span {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 32px;
  border-radius: 18px;
  background: #fff;
  font-size: 27px;
}

.storepack-need-grid p,
.storepack-cost-steps p,
.storepack-flow-row p {
  margin: 9px 0 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.58;
}

.storepack-business {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 30px;
  align-items: center;
  padding: 34px;
  border-radius: 24px;
  background: #e3f0fe;
}

.storepack-business-image {
  display: grid;
  place-items: center;
  min-height: 330px;
  background: #e3f0fe;
}

.storepack-business-image img {
  width: min(500px, 100%);
  background: #e3f0fe;
}

.storepack-business-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 24px;
}

.storepack-business-list article {
  min-height: 132px;
  padding: 20px;
  border-radius: 16px;
  background: rgba(255,255,255,.68);
}

.storepack-business-list b {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-bottom: 22px;
  border-radius: 50%;
  background: #1f6fea;
  color: #fff;
  font-size: 14px;
}

.storepack-cost-card {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 24px;
  align-items: center;
  padding: 36px 40px;
  border-radius: 24px;
  background: #fdfefe;
}

.storepack-cost-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.storepack-cost-steps article {
  min-height: 160px;
  padding: 22px;
  border-radius: 16px;
  background: #f4f7fc;
}

.storepack-connect {
  padding-top: 72px;
}

.storepack-connect-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.storepack-connect-grid a {
  display: block;
  min-height: 286px;
  padding: 20px;
  border-radius: 20px;
  background: #f4f7fc;
}

.storepack-connect-grid img {
  display: block;
  width: 100%;
  height: 150px;
  margin-bottom: 18px;
  object-fit: contain;
  border-radius: 16px;
  background: #f4f7fc;
}

.storepack-flow h2 {
  margin: 0 0 24px;
  color: #202631;
  font-size: 29px;
  font-weight: 780;
}

.storepack-flow-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.storepack-flow-row article {
  min-height: 188px;
  padding: 24px;
  border-radius: 18px;
  border: 1px solid #dbe5f2;
  background: #fff;
}

.storepack-flow-row b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 34px;
  margin-bottom: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: #1f6fea;
  color: #fff;
  font-size: 14px;
}

.storepack-final {
  display: grid;
  grid-template-columns: .92fr 1fr;
  gap: 28px;
  align-items: center;
  margin-bottom: 72px;
  padding: 34px 40px;
  border-radius: 24px;
  background: #e3f0fe;
}

.storepack-final a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  height: 52px;
  margin-top: 24px;
  border-radius: 12px;
  background: #1f6fea;
  color: #fff;
  font-size: 16px;
  font-weight: 760;
}

.storepack-final img {
  width: min(500px, 100%);
  background: #e3f0fe;
}

@media (max-width: 980px) {
  .store-package-hero .service-hero-visual {
    right: -220px;
    opacity: .66;
  }

  .storepack-timeline,
  .storepack-business,
  .storepack-cost-card,
  .storepack-final {
    grid-template-columns: 1fr;
  }

  .storepack-timeline-points,
  .storepack-need-grid,
  .storepack-business-list,
  .storepack-cost-steps,
  .storepack-flow-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .storepack-connect-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .store-package-page .service-hero,
  .store-package-page .service-hero-inner {
    min-height: 380px;
  }

  .store-package-page .service-hero h1 {
    font-size: 33px;
  }

  .store-package-hero .service-hero-visual {
    right: -300px;
    bottom: -36px;
    width: 680px;
  }

  .storepack-timeline-points,
  .storepack-need-grid,
  .storepack-business-list,
  .storepack-cost-steps,
  .storepack-flow-row {
    grid-template-columns: 1fr;
  }

  .storepack-timeline-copy,
  .storepack-business,
  .storepack-cost-card,
  .storepack-final {
    padding: 28px 20px;
  }
}

@media (max-width: 900px) {
  .service-feature-band,
  .service-split,
  .board-page .page-hero-inner {
    grid-template-columns: 1fr;
  }

  .board-hero-image {
    justify-self: start;
  }
}

/* Detail page hero image fitting */
.cleaning-page .service-hero-visual,
.movein-page .service-hero-visual,
.movein-cleaning-page .service-hero-visual,
.moving-clean-page .service-hero-visual,
.moving-cleaning-page .service-hero-visual,
.lived-clean-page .service-hero-visual,
.lived-cleaning-page .service-hero-visual,
.store-clean-page .service-hero-visual,
.store-cleaning-page .service-hero-visual,
.appliance-clean-page .service-hero-visual,
.appliance-cleaning-page .service-hero-visual,
.recurring-clean-page .service-hero-visual,
.recurring-cleaning-page .service-hero-visual,
.special-clean-page .service-hero-visual,
.special-cleaning-page .service-hero-visual,
.organizing-page .service-hero-visual,
.interior-page .service-hero-visual,
.moving-service-page .service-hero-visual,
.demolition-page .service-hero-visual,
.store-package-page .service-hero-visual,
.franchise-page .service-hero-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  max-height: 390px;
  padding: 18px 0;
  overflow: visible;
}

.cleaning-page .service-hero-visual img,
.movein-page .service-hero-visual img,
.movein-cleaning-page .service-hero-visual img,
.moving-clean-page .service-hero-visual img,
.moving-cleaning-page .service-hero-visual img,
.lived-clean-page .service-hero-visual img,
.lived-cleaning-page .service-hero-visual img,
.store-clean-page .service-hero-visual img,
.store-cleaning-page .service-hero-visual img,
.appliance-clean-page .service-hero-visual img,
.appliance-cleaning-page .service-hero-visual img,
.recurring-clean-page .service-hero-visual img,
.recurring-cleaning-page .service-hero-visual img,
.special-clean-page .service-hero-visual img,
.special-cleaning-page .service-hero-visual img,
.organizing-page .service-hero-visual img,
.interior-page .service-hero-visual img,
.moving-service-page .service-hero-visual img,
.demolition-page .service-hero-visual img,
.store-package-page .service-hero-visual img,
.franchise-page .service-hero-visual img {
  width: 100%;
  height: 100%;
  max-height: 354px;
  object-fit: contain;
  object-position: center bottom;
  image-rendering: auto;
}

.store-package-page .service-hero-visual img {
  max-height: 322px;
  object-position: center center;
}

.cleaning-hub-hero .service-hero-visual,
.movein-hero .service-hero-visual,
.moving-clean-hero .service-hero-visual,
.lived-clean-hero .service-hero-visual,
.store-clean-hero .service-hero-visual,
.appliance-clean-hero .service-hero-visual,
.recurring-clean-hero .service-hero-visual,
.special-clean-hero .service-hero-visual,
.organizing-hero .service-hero-visual,
.interior-hero .service-hero-visual,
.moving-service-hero .service-hero-visual,
.demolition-hero .service-hero-visual,
.store-package-hero .service-hero-visual,
.franchise-hero .service-hero-visual {
  right: clamp(0px, 2vw, 28px);
  bottom: 0;
  width: min(560px, 48vw);
}

@media (max-width: 980px) {
  .cleaning-hub-hero .service-hero-visual,
  .movein-hero .service-hero-visual,
  .moving-clean-hero .service-hero-visual,
  .lived-clean-hero .service-hero-visual,
  .store-clean-hero .service-hero-visual,
  .appliance-clean-hero .service-hero-visual,
  .recurring-clean-hero .service-hero-visual,
  .special-clean-hero .service-hero-visual,
  .organizing-hero .service-hero-visual,
  .interior-hero .service-hero-visual,
  .moving-service-hero .service-hero-visual,
  .demolition-hero .service-hero-visual,
  .store-package-hero .service-hero-visual,
  .franchise-hero .service-hero-visual {
    right: -115px;
    width: 560px;
    opacity: .58;
  }
}

@media (max-width: 640px) {
  .cleaning-page .service-hero-visual,
  .movein-page .service-hero-visual,
  .movein-cleaning-page .service-hero-visual,
  .moving-clean-page .service-hero-visual,
  .moving-cleaning-page .service-hero-visual,
  .lived-clean-page .service-hero-visual,
  .lived-cleaning-page .service-hero-visual,
  .store-clean-page .service-hero-visual,
  .store-cleaning-page .service-hero-visual,
  .appliance-clean-page .service-hero-visual,
  .appliance-cleaning-page .service-hero-visual,
  .recurring-clean-page .service-hero-visual,
  .recurring-cleaning-page .service-hero-visual,
  .special-clean-page .service-hero-visual,
  .special-cleaning-page .service-hero-visual,
  .organizing-page .service-hero-visual,
  .interior-page .service-hero-visual,
  .moving-service-page .service-hero-visual,
  .demolition-page .service-hero-visual,
  .store-package-page .service-hero-visual,
  .franchise-page .service-hero-visual {
    max-height: 320px;
    padding: 10px 0;
  }

  .cleaning-page .service-hero-visual img,
  .movein-page .service-hero-visual img,
  .movein-cleaning-page .service-hero-visual img,
  .moving-clean-page .service-hero-visual img,
  .moving-cleaning-page .service-hero-visual img,
  .lived-clean-page .service-hero-visual img,
  .lived-cleaning-page .service-hero-visual img,
  .store-clean-page .service-hero-visual img,
  .store-cleaning-page .service-hero-visual img,
  .appliance-clean-page .service-hero-visual img,
  .appliance-cleaning-page .service-hero-visual img,
  .recurring-clean-page .service-hero-visual img,
  .recurring-cleaning-page .service-hero-visual img,
  .special-clean-page .service-hero-visual img,
  .special-cleaning-page .service-hero-visual img,
  .organizing-page .service-hero-visual img,
  .interior-page .service-hero-visual img,
  .moving-service-page .service-hero-visual img,
  .demolition-page .service-hero-visual img,
  .store-package-page .service-hero-visual img,
  .franchise-page .service-hero-visual img {
    max-height: 292px;
  }

  .cleaning-hub-hero .service-hero-visual,
  .movein-hero .service-hero-visual,
  .moving-clean-hero .service-hero-visual,
  .lived-clean-hero .service-hero-visual,
  .store-clean-hero .service-hero-visual,
  .appliance-clean-hero .service-hero-visual,
  .recurring-clean-hero .service-hero-visual,
  .special-clean-hero .service-hero-visual,
  .organizing-hero .service-hero-visual,
  .interior-hero .service-hero-visual,
  .moving-service-hero .service-hero-visual,
  .demolition-hero .service-hero-visual,
  .store-package-hero .service-hero-visual,
  .franchise-hero .service-hero-visual {
    right: -235px;
    bottom: -4px;
    width: 560px;
  }
}

.franchise-page .service-hero-visual {
  align-items: flex-end;
  padding-bottom: 0;
}

.franchise-page .service-hero-visual img {
  object-position: center bottom;
}

/* Final cleaning page overrides */
.cleaning-hub-hero .service-hero-visual {
  bottom: 28px;
}

.cleaning-hub-hero .service-hero-visual img {
  object-position: center center;
}

.cleaning-guide {
  grid-template-columns: 1fr .72fr .82fr;
}

.cleaning-guide .guide-image {
  order: 1;
}

.cleaning-guide .guide-copy {
  order: 2;
}

.cleaning-guide .guide-checks {
  order: 3;
}

.recommend-main,
.recommend-list a {
  border: 1px solid #d9e6f5;
}

.cleaning-final,
.cleaning-final .final-image,
.cleaning-final .final-image img {
  background: #c7e3fb;
}

.cleaning-type-grid .cleaning-type-card:nth-child(2) img {
  clip-path: inset(0 32px 0 0);
}

/* Last-pass cleaning page layout */
.cleaning-guide {
  grid-template-columns: .72fr 1fr .82fr;
}

.cleaning-guide .guide-copy {
  order: 1;
}

.cleaning-guide .guide-image {
  order: 2;
}

.cleaning-guide .guide-checks {
  order: 3;
}

.cleaning-final .final-image {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
}

.cleaning-final .final-image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 42px 48px #c7e3fb;
}

/* Cleaning moving card uses a cleaned image, so no crop is needed. */
.cleaning-type-grid .cleaning-type-card:nth-child(2) img {
  clip-path: none;
}

/* Use transparent image edges instead of CSS blur on cleaning final image. */
.cleaning-final .final-image::after {
  content: none;
  display: none;
  box-shadow: none;
}

.cleaning-final .final-image img {
  background: transparent;
}

/* Move-in page final tune */
.movein-hero .service-hero-visual img {
  transform: translateY(-22px);
}

.movein-check-layout {
  grid-template-columns: minmax(0, 1fr) minmax(360px, .92fr);
}

.movein-check-list article {
  grid-template-columns: 46px minmax(0, 1fr);
}

.movein-check-list p {
  grid-column: 2;
  max-width: none;
  white-space: nowrap;
}

.movein-check-image {
  border: 1px solid #d9e7f6;
}

.movein-final img {
  background: transparent;
}

@media (max-width: 980px) {
  .movein-check-layout {
    grid-template-columns: 1fr;
  }

  .movein-check-list p {
    white-space: normal;
  }
}

/* Whole-site image QA pass: preserve source pixels and blend image areas by container color. */
:root {
  --asset-blue-bg: #e3f0fd;
  --asset-deep-blue-bg: #c7e3fb;
  --asset-white-bg: #fefdfd;
}

img[src*="-transparent"] {
  background: transparent !important;
  box-shadow: none !important;
}

.service-hero-visual,
.service-hero-visual img,
.cleaning-type-card img,
.recommend-main img,
.service-feature-band img,
.service-split img,
.movein-check-image img,
.movein-price-image img,
.movein-report-image img,
.movein-final img,
.final-image img,
.board-hero-image img {
  box-shadow: none !important;
}

.service-page .service-hero,
.service-page .service-hero-inner,
.service-page .service-hero-visual,
.service-page .service-hero-visual img[src*="page-"],
.cleaning-type-card,
.cleaning-type-card img,
.service-feature-band,
.service-feature-band img[src*="page-"],
.service-split,
.service-split img[src*="page-"],
.board-page .page-hero,
.board-page .page-hero-inner,
.board-hero-image,
.board-hero-image img {
  background-color: var(--asset-blue-bg);
}

img[src*="-bgcut"] {
  background: transparent !important;
  box-shadow: none !important;
}

.recommend-main img[src*="achungsa-safe"],
.movein-check-image,
.movein-check-image img[src*="achungsa-safe"],
.movein-report-image img[src*="page-cleaning-general"],
.movein-price-image img[src*="achungsa-estimate"],
.guide-image img[src*="achungsa-estimate"] {
  background-color: var(--asset-white-bg);
}

.cleaning-page .service-hero-visual img,
.movein-page .service-hero-visual img,
.moving-cleaning-page .service-hero-visual img,
.lived-cleaning-page .service-hero-visual img,
.store-cleaning-page .service-hero-visual img,
.appliance-cleaning-page .service-hero-visual img,
.recurring-cleaning-page .service-hero-visual img,
.special-cleaning-page .service-hero-visual img,
.organizing-page .service-hero-visual img,
.interior-page .service-hero-visual img,
.moving-service-page .service-hero-visual img,
.demolition-page .service-hero-visual img,
.store-package-page .service-hero-visual img,
.franchise-page .service-hero-visual img {
  object-fit: contain;
  object-position: center center;
  transform: translateY(-12px);
}

.movein-page .service-hero-visual img {
  transform: translateY(-36px);
}

.store-package-page .service-hero-visual img {
  max-height: 306px;
  object-position: center center;
  transform: translateY(10px);
}

.franchise-page .service-hero-visual {
  align-items: flex-end;
}

.franchise-page .service-hero-visual img {
  object-position: center bottom;
  transform: translateY(16px);
}

.cleaning-type-card img {
  object-fit: contain;
  object-position: center center;
}

.cleaning-final,
.cleaning-final .final-image,
.cleaning-final .final-image img {
  background: var(--asset-deep-blue-bg);
}

.cleaning-final .final-image {
  overflow: visible;
  border-radius: 0;
}

.cleaning-final .final-image img {
  object-fit: contain;
  object-position: center center;
}

.cleaning-guide {
  grid-template-columns: .78fr 1fr .84fr;
}

.cleaning-guide .guide-copy {
  order: 1;
}

.cleaning-guide .guide-image {
  order: 2;
  justify-self: center;
}

.cleaning-guide .guide-checks {
  order: 3;
}

.recommend-main,
.recommend-list a,
.service-feature-band article,
.movein-check-image {
  border: 1px solid #d8e6f5;
}

.movein-check-image,
.movein-check-image img {
  background: var(--asset-white-bg);
}

.movein-check-list article {
  grid-template-columns: 58px minmax(0, 1fr);
}

.movein-check-list p {
  white-space: normal;
}

.movein-final,
.movein-final img {
  background: var(--asset-deep-blue-bg);
}

.movein-final img {
  object-fit: contain;
  object-position: center center;
}

@media (max-width: 980px) {
  .cleaning-guide {
    grid-template-columns: 1fr;
  }

  .cleaning-guide .guide-image {
    order: 1;
  }

  .cleaning-guide .guide-copy {
    order: 2;
  }

  .cleaning-guide .guide-checks {
    order: 3;
  }
}
/* Mobile final polish: header spacing and readable hero sections */
@media (max-width: 760px) {
  .header {
    position: sticky;
    top: 40px;
    z-index: 70;
  }

  .header .mini-nav {
    width: calc(100% - 16px) !important;
    height: 64px !important;
    padding-right: 58px;
  }

  .header .logo {
    margin-left: -2px !important;
  }

  .header .logo img {
    width: 124px !important;
  }

  .header .hamburger {
    position: absolute !important;
    top: 9px !important;
    right: 14px !important;
    z-index: 90;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    flex: 0 0 auto;
  }

  .header .main-nav {
    width: 100% !important;
    height: 56px !important;
    padding: 0 14px;
    overflow: hidden;
  }

  .header .main-nav nav {
    width: 100%;
    min-width: 0;
    gap: 22px !important;
    overflow-x: auto !important;
    overflow-y: hidden;
    padding: 0 2px 0 0;
    font-size: 18px;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .header .main-nav nav::-webkit-scrollbar {
    display: none;
  }

  .header .nav-item,
  .header .nav-item > a,
  .header .main-nav nav > a {
    flex: 0 0 auto;
    height: 56px !important;
  }

  .header .main-nav span {
    padding: 3px 7px;
    font-size: 12px;
  }

  .menu-panel {
    top: 66px !important;
    right: 14px !important;
    width: min(420px, calc(100vw - 28px)) !important;
    max-height: calc(100vh - 126px);
    overflow-y: auto;
  }

  .menu-panel.open {
    transform: translateY(-4px) !important;
  }

  .menu-services {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    column-gap: 10px;
    row-gap: 16px;
  }

  .menu-services a {
    font-size: 13px;
  }

  .home-hero {
    min-height: auto !important;
    padding: 26px 0 18px;
    overflow: hidden;
  }

  .home-hero-inner {
    width: min(calc(100% - 28px), 1180px) !important;
    min-height: auto !important;
    display: grid !important;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 18px;
  }

  .home-hero-copy {
    max-width: none;
    padding: 0;
  }

  .home-hero-copy h1 {
    font-size: 32px !important;
    line-height: 1.22;
  }

  .home-hero-copy p {
    margin-top: 12px;
    font-size: 15px;
    line-height: 1.55;
  }

  .home-hero-visual {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto;
    opacity: 1 !important;
    background: #eaf3ff;
  }

  .home-hero-visual img {
    width: 100%;
    height: auto;
    max-height: 310px;
    object-fit: contain;
    object-position: center;
  }

  .home-shortcuts {
    width: 100% !important;
    margin-top: 18px;
    margin-bottom: 58px;
    padding: 12px 14px 8px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .home-shortcuts::-webkit-scrollbar {
    display: none;
  }

  .shortcut-set {
    min-width: 250px;
    gap: 22px;
    padding: 22px 18px 16px;
    scroll-snap-align: start;
  }

  .shortcut-set.compact {
    min-width: 230px;
  }

  .shortcut-set.wide {
    min-width: 560px;
  }

  .service-page .service-hero {
    min-height: auto !important;
    padding: 28px 0 24px !important;
    overflow: hidden;
  }

  .service-page .service-hero-inner {
    width: min(calc(100% - 28px), 1180px) !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    align-items: start !important;
  }

  .service-page .service-hero-copy {
    position: relative;
    z-index: 2;
    max-width: none;
  }

  .service-page .service-hero h1 {
    font-size: 31px !important;
    line-height: 1.22;
  }

  .service-page .service-hero span,
  .service-page .service-hero p {
    max-width: 100%;
    font-size: 15px !important;
    line-height: 1.65;
  }

  .service-page .service-hero-visual {
    position: relative !important;
    inset: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    top: auto !important;
    justify-self: center !important;
    width: 100% !important;
    max-width: 360px !important;
    height: auto !important;
    margin: 0 auto !important;
    overflow: visible !important;
    background: transparent !important;
    transform: none !important;
  }

  .service-page .service-hero-visual img {
    width: 100% !important;
    height: auto !important;
    max-height: 260px !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
    opacity: 1 !important;
  }

  .board-page .page-hero {
    min-height: auto !important;
    padding: 30px 0 24px !important;
    overflow: hidden;
  }

  .board-page .page-hero-inner {
    width: min(calc(100% - 28px), 1180px) !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px;
    align-items: start;
  }

  .board-page .page-hero h1 {
    font-size: 34px !important;
    line-height: 1.2;
  }

  .board-page .page-hero span,
  .board-page .page-hero p {
    max-width: 100%;
    font-size: 15px !important;
    line-height: 1.6;
  }

  .board-hero-image {
    position: relative !important;
    width: 100% !important;
    max-width: 330px !important;
    margin: 0 auto !important;
    background: transparent !important;
  }

  .board-hero-image img {
    width: 100% !important;
    height: auto !important;
    max-height: 240px !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
  }

  .board-chips {
    flex-wrap: wrap;
    gap: 8px;
  }
}

@media (max-width: 420px) {
  .menu-services {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Mobile lock and menu refinements before deployment */
html,
body {
  max-width: 100%;
  overflow-x: clip;
  overscroll-behavior-x: none;
}

@supports not (overflow-x: clip) {
  html,
  body {
    overflow-x: hidden;
  }
}

@media (max-width: 760px) {
  body {
    width: 100%;
    touch-action: pan-y;
  }

  body.cleaning-nav-active .header {
    margin-bottom: 0 !important;
  }

  .has-subnav.active .sub-nav {
    position: static !important;
    width: 100% !important;
    min-height: 44px !important;
    padding: 0 14px !important;
    gap: 22px !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    overflow-x: auto !important;
    scrollbar-width: none;
    -ms-overflow-style: none;
    transform: none !important;
  }

  .has-subnav.active .sub-nav::-webkit-scrollbar {
    display: none;
  }

  .has-subnav.active .sub-nav a {
    flex: 0 0 auto;
    height: 44px !important;
    font-size: 14px !important;
  }

  .mobile-menu-auth {
    display: flex;
    margin: 14px 0 0;
    padding-top: 0;
    border-top: 0;
  }

  .mobile-menu-auth .login {
    width: 100%;
    min-height: 48px;
    justify-content: center;
    color: #202631;
    background: #f3f6fa;
    font-size: 15px;
    font-weight: 700;
  }

  img,
  video,
  canvas,
  svg {
    max-width: 100%;
  }
}

@media (max-width: 760px) {
  body.cleaning-nav-active .header {
    margin-bottom: 44px !important;
  }

  .has-subnav.active .sub-nav {
    position: absolute !important;
    left: 0 !important;
    top: 120px !important;
    display: flex !important;
    width: 100% !important;
    min-height: 44px !important;
    padding: 0 14px !important;
    gap: 22px !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    background: rgba(255, 255, 255, .98) !important;
    transform: none !important;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .has-subnav.active .sub-nav::-webkit-scrollbar {
    display: none;
  }
}

/* Mobile index refinements */
@media (max-width: 760px) {
  body:not(.cleaning-nav-active) .has-subnav:hover .sub-nav,
  body:not(.cleaning-nav-active) .has-subnav:focus-within .sub-nav {
    position: absolute !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body:not(.cleaning-nav-active) .header {
    margin-bottom: 0 !important;
  }

  .final-home-cta {
    margin-bottom: 0 !important;
    padding-bottom: 52px !important;
  }

  .final-home-cta > div {
    padding-bottom: 0 !important;
  }

  .full-footer {
    padding-top: 42px !important;
  }

  #reviews .tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: none !important;
    margin-bottom: 18px !important;
    padding: 0 0 8px !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  #reviews .tabs::-webkit-scrollbar {
    display: none;
  }

  #reviews .tabs button {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: max-content !important;
    height: 38px !important;
    padding: 0 17px !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    line-height: 1 !important;
  }
}
