.home-intro {
  padding-block: 78px 62px;
}

.home-intro h1 {
  max-width: 1120px;
  font-size: clamp(30px, 3.5vw, 48px);
  line-height: 1.28;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.home-lede {
  max-width: 780px;
  margin: 24px 0 27px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.85;
}

.home-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 22px;
}

.home-button, .home-directions {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 17px 22px;
  border: 1px solid var(--pink);
  border-radius: 5px;
  background: var(--pink);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.home-button:hover, .home-directions:hover {
  background: #cd1979;
  text-decoration: none;
}

.home-text-link {
  color: #ff79bd;
  font-size: 12px;
  font-weight: 700;
  text-underline-offset: 4px;
}

.home-parking {
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.home-categories {
  padding-block: 45px 58px;
  border-top: 1px solid var(--line);
  scroll-margin-top: 24px;
}

.categories-heading h2, .home-visit h2 {
  margin: 0 0 32px;
  font-family: "Unbounded", sans-serif;
  font-size: clamp(25px, 2.8vw, 36px);
  line-height: 1.3;
  letter-spacing: -.05em;
}

.categories-heading h2 span, .home-visit h2 span {
  color: var(--pink);
}

.categories-layout {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  align-items: start;
  gap: 44px;
}

.category-cleaning {
  min-width: 0;
  padding: 32px;
  border: 1px solid #803355;
  border-radius: 8px;
  background: linear-gradient(145deg, #331426, #19131a 72%);
}

.category-number {
  display: inline-grid;
  place-items: center;
  width: 39px;
  height: 39px;
  flex-shrink: 0;
  border: 1px solid #82435f;
  border-radius: 50%;
  color: #ff81c1;
  font-size: 11px;
  font-weight: 800;
}

.home-categories h3 {
  margin: 18px 0 12px;
  font-size: 21px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: -.03em;
}

.home-categories article p {
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.85;
}

.home-categories article .category-link-label {
  margin-top: 27px;
  margin-bottom: 9px;
  color: #edbad6;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
}

.category-products {
  list-style: none;
  margin: 0;
  padding: 0;
}

.category-products li + li {
  border-top: 1px solid #503046;
}

.category-products a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 50px;
  padding-block: 12px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none;
}

.category-products a span {
  color: #ff78b9;
  font-size: 18px;
}

.category-products a:hover, .category-inquiry:hover {
  color: #ff88c5;
}

.category-others article {
  display: flex;
  align-items: flex-start;
  gap: 22px;
  padding-block: 25px;
  border-bottom: 1px solid var(--line);
}

.category-others article:first-child {
  padding-top: 8px;
}

.category-others article > div {
  min-width: 0;
}

.category-others h3 {
  margin-top: 0;
}

.category-inquiry {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  min-height: 36px;
  color: #ff79bc;
  font-size: 12px;
  font-weight: 700;
  text-underline-offset: 4px;
}

.category-availability {
  max-width: 720px;
  margin: 27px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.8;
}

.home-visit {
  min-height: 0;
  padding-block: 65px 82px;
  border-top: 1px solid var(--line);
  scroll-margin-top: 24px;
}

.home-visit h2 {
  margin-bottom: 15px;
}

.home-visit .intro {
  margin-bottom: 23px;
}

.visit-details {
  margin-top: 23px;
}

.visit-details h3 {
  margin: 0 0 13px;
  font-size: 14px;
}

.visit-hours {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.8;
}

.visit-hours > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 25px;
  max-width: 370px;
}

.visit-hours dd {
  margin: 0;
  color: #fff5fa;
  font-weight: 700;
}

.visit-holiday {
  margin: 10px 0 17px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.7;
}

.visit-parking {
  max-width: 420px;
  margin: 0 0 18px;
  padding-left: 13px;
  border-left: 2px solid var(--pink);
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
}

.visit-parking strong {
  color: #fff5fa;
}

.home-directions {
  margin-top: 0;
  margin-bottom: 22px;
}

.header-inner nav {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
}

@media (max-width: 800px) {
  .home-intro { padding-block: 55px 42px; }
  .home-intro h1 { font-size: clamp(29px, 5.5vw, 42px); }
  .categories-layout { grid-template-columns: 1fr; gap: 25px; }
  .category-others article:first-child { padding-top: 0; }
  .home-visit { padding-block: 45px 65px; }
  .home-visit .store-info { max-width: 620px; }
}

@media (max-width: 560px) {
  .home-intro { padding-block: 39px 36px; }
  .home-intro h1 { font-size: clamp(27px, 7vw, 36px); line-height: 1.32; }
  .home-lede { font-size: 14px; margin-top: 20px; }
  .home-actions { gap: 18px; }
  .home-button { padding: 16px 18px; }
  .home-categories { padding-block: 34px 38px; }
  .category-cleaning { padding: 23px 21px; }
  .home-categories h3 { font-size: 19px; }
  .home-categories article p { font-size: 13px; }
  .category-others article { gap: 15px; }
  .category-number { width: 33px; height: 33px; }
  .header-inner nav { max-width: 180px; justify-content: flex-end; gap: 10px 12px; }
  .header-inner nav a { font-size: 9px; }
  .visit-hours { font-size: 12px; }
}
