/* Warm editorial layer for the homepage only. Global header/footer remain in style.css. */
.warm-home-page {
  --warm-paper: #f4efe7;
  --warm-paper-light: #fbf8f2;
  --warm-paper-deep: #e9dfd1;
  --warm-ink: #171512;
  --warm-muted: #5e574f;
  --warm-line: rgba(45, 37, 29, .18);
  background: var(--warm-paper-light);
  color: var(--warm-ink);
}

.warm-home-page main { background: var(--warm-paper-light); }
.warm-home-page .services-section,
.warm-home-page .products-section,
.warm-home-page .contact-section {
  border-top: 1px solid var(--warm-line);
  background: var(--warm-paper-light);
  color: var(--warm-ink);
  font-family: "DM Sans", "Inter", sans-serif;
}
.warm-home-page .services-section,
.warm-home-page .contact-section { background-image: radial-gradient(rgba(120,95,65,.035) .7px, transparent .7px); background-size: 6px 6px; }
.warm-home-page .products-section { background-image: radial-gradient(rgba(120,95,65,.04) .7px, transparent .7px); background-size: 6px 6px; }
.warm-home-page .services-section { padding: 72px 6% 78px; }
.warm-home-page .services-header { max-width: 760px; margin-bottom: 42px; }
.warm-home-page .services-eyebrow,
.warm-home-page .products-eyebrow,
.warm-home-page .contact-desktop-label,
.warm-home-page .contact-mobile-label { color: var(--warm-muted); letter-spacing: .2em; }
.warm-home-page .services-header h2,
.warm-home-page .products-overview h2,
.warm-home-page .contact-desktop-title,
.warm-home-page .contact-mobile-title { font-weight: 650; letter-spacing: -.045em; }
.warm-home-page .services-intro,
.warm-home-page .products-description,
.warm-home-page .contact-desktop-intro { color: var(--warm-muted); }
.warm-home-page .services-grid { gap: 16px; }
.warm-home-page .service-card {
  min-height: 320px;
  padding: 26px 24px 24px;
  border: 1px solid var(--warm-line);
  border-radius: 3px;
  background: rgba(255,255,255,.38);
  box-shadow: 0 8px 20px rgba(57,44,31,.035);
}
.warm-home-page .service-icon { width: 58px; height: 58px; margin-bottom: 12px; background: var(--warm-paper-deep); }
.warm-home-page .service-number { width: 36px; height: 28px; margin-bottom: 14px; border-radius: 2px; background: var(--warm-ink); }
.warm-home-page .service-description { color: var(--warm-muted); font-size: 14px; line-height: 1.6; }
.warm-home-page .service-rule { border-color: var(--warm-line); }
.warm-home-page .service-learn-more { border-color: var(--warm-ink); }

.warm-home-page .products-section { padding: 78px 6% 84px; background: var(--warm-paper); }
.warm-home-page .products-layout { gap: clamp(34px, 5vw, 70px); }
.warm-home-page .product-selector {
  min-height: 94px;
  border: 1px solid var(--warm-line);
  border-radius: 3px;
  background: rgba(255,255,255,.44);
  color: var(--warm-ink);
}
.warm-home-page .product-selector.is-active { border-color: var(--warm-ink); background: var(--warm-ink); color: #fff; }
.warm-home-page .product-selector-icon { background: var(--warm-paper-deep); color: var(--warm-ink); }
.warm-home-page .product-selector.is-active .product-selector-icon { background: rgba(255,255,255,.15); color: #fff; }
.warm-home-page .products-help-card,
.warm-home-page .expertise-slide,
.warm-home-page .subcategory-group,
.warm-home-page .other-category-card {
  border-color: var(--warm-line);
  border-radius: 3px;
  background: rgba(255,255,255,.4);
}
.warm-home-page .products-help-card { padding: 20px; }
.warm-home-page .expertise-visual,
.warm-home-page .other-category-visual { background: var(--warm-paper-deep); }
.warm-home-page .expertise-slide-copy,
.warm-home-page .other-category-copy { color: var(--warm-ink); }
.warm-home-page .expertise-slide-copy p,
.warm-home-page .other-category-copy p,
.warm-home-page .subcategory-description { color: var(--warm-muted); }
.warm-home-page .subcategory-group { padding: 20px; }
.warm-home-page .subcategory-future-link,
.warm-home-page .products-help-copy a { color: var(--warm-ink); }

.warm-home-page .contact-section { padding: 78px 6% 66px; background: var(--warm-paper-light); }
.warm-home-page .contact-desktop-header { margin-bottom: 38px; }
.warm-home-page .contact-option-card {
  border: 1px solid var(--warm-line);
  border-radius: 3px;
  background: rgba(255,255,255,.42);
  box-shadow: 0 8px 18px rgba(57,44,31,.035);
}
.warm-home-page .contact-option-icon { background: var(--warm-paper-deep); color: var(--warm-ink); }
.warm-home-page .contact-option-icon--dark { background: var(--warm-ink); color: #fff; }
.warm-home-page .contact-option-description,
.warm-home-page .contact-option-caption,
.warm-home-page .contact-direct { color: var(--warm-muted); }
.warm-home-page .contact-option-button--primary,
.warm-home-page .contact-option-button--outline { border-color: var(--warm-ink); }
.warm-home-page .contact-option-button--primary { background: var(--warm-ink); color: #fff; }
.warm-home-page .contact-option-button--outline { color: var(--warm-ink); background: transparent; }
.warm-home-page .contact-option-button--outline:hover { background: var(--warm-ink); color: #fff; }

/* Desktop reference treats Products as a compact, single-viewport editorial panel. */
@media (min-width: 1101px) {
  .warm-home-page .products-section {
    height: calc(100svh - 82px);
    min-height: 720px;
    overflow: hidden;
    padding: 46px 6% 50px;
  }
  .warm-home-page .products-layout { gap: 42px; }
  .warm-home-page .products-eyebrow { margin-bottom: 16px; }
  .warm-home-page .products-overview h2 { font-size: clamp(40px, 3.2vw, 52px); }
  .warm-home-page .products-description { margin-top: 18px; font-size: 15px; line-height: 1.55; }
  .warm-home-page .product-selectors { gap: 10px; margin-top: 26px; }
  .warm-home-page .product-selector { min-height: 116px; padding: 14px 18px; grid-template-columns: 54px minmax(0, 1fr) auto; gap: 12px; }
  .warm-home-page .product-selector-icon { width: 54px; height: 54px; }
  .warm-home-page .product-selector-icon svg { width: 30px; height: 30px; }
.warm-home-page .product-selector-label { font-size: 17px; }
.warm-home-page .product-selector-subtitle { font-size: 12px; }
.warm-home-page .product-selector-action {
  margin-top: 7px;
  color: currentColor;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
}
.warm-home-page .product-selector-arrow {
  display: inline-flex;
  width: 58px;
  height: 58px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 27px;
  align-items: center;
  justify-content: center;
}
  .warm-home-page .products-help-card { margin-top: 12px; padding: 16px; grid-template-columns: 46px minmax(0,1fr); gap: 12px; }
  .warm-home-page .products-help-icon { width: 46px; height: 46px; }
  .warm-home-page .products-help-icon svg { width: 28px; height: 28px; }
  .warm-home-page .products-help-copy { gap: 4px; font-size: 12px; }
  .warm-home-page .products-help-copy strong { font-size: 14px; }
  .warm-home-page .products-panel-label { margin-bottom: 12px; }
  .warm-home-page .expertise-viewport { gap: 12px; }
  .warm-home-page .expertise-slide { min-height: 0; }
  .warm-home-page .expertise-visual { aspect-ratio: 1.75 / 1; }
  .warm-home-page .expertise-slide-copy { padding: 16px 18px 18px; }
  .warm-home-page .expertise-slide-copy h3 { margin: 9px 0 7px; font-size: clamp(21px, 1.8vw, 27px); }
  .warm-home-page .expertise-slide-copy p { font-size: 13px; line-height: 1.45; }
  .warm-home-page .products-subcategory-heading { margin-top: 20px; padding-top: 18px; }
  .warm-home-page .products-subcategory-label { margin-bottom: 10px; }
  .warm-home-page .expertise-subcategories { gap: 12px; }
  .warm-home-page .subcategory-group { padding: 14px 16px; }
  .warm-home-page .subcategory-heading-icon { width: 32px; height: 32px; }
  .warm-home-page .subcategory-items { margin-top: 12px; gap: 8px; }
  .warm-home-page .subcategory-item-icon { width: 24px; height: 24px; }
  .warm-home-page .subcategory-items li { font-size: 10px; }
  .warm-home-page .subcategory-description { margin-top: 12px; font-size: 11px; line-height: 1.4; }
}

@media (max-width: 600px) {
  .warm-home-page .services-section,
  .warm-home-page .products-section,
  .warm-home-page .contact-section { padding: 62px 6%; }
  .warm-home-page .service-card { min-height: 300px; }
}

/* Homepage hero: the existing navigation and menu retain their global rules. */
.warm-home-page:not(.navigation-open):not(.hero-past) header {
  background: transparent;
  border-radius: 0;
}
.warm-home-page .hero {
  display: block;
  min-height: 720px;
  margin: 0;
  padding: 170px 6% 38px;
  background: var(--warm-paper-light);
  color: var(--warm-ink);
  font-family: "DM Sans", "Inter", sans-serif;
}
.warm-home-page .hero-image {
  position: absolute;
  inset: 0 0 0 auto;
  width: 72%;
  height: 100%;
  object-fit: cover;
  object-position: 59% center;
  z-index: -2;
}
.warm-home-page .hero::before {
  background: linear-gradient(0deg, #fbf8f2 0%, transparent 22%), linear-gradient(90deg, #fbf8f2 28%, rgba(251,248,242,.98) 34%, rgba(251,248,242,.84) 42%, rgba(251,248,242,.42) 54%, transparent 72%);
}
/* Contrast lives in the hero, never in a separate header rectangle. */
.warm-home-page .hero::after {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 210px;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(23,21,18,.7), transparent);
  mask-image: linear-gradient(90deg, transparent 40%, #000 65%);
}
@media (min-width: 1025px) {
  .warm-home-page:not(.hero-past) .nav-links > a:not(.nav-cta),
  .warm-home-page:not(.hero-past) .language-selector a { color: #fbf8f2; }
  .warm-home-page:not(.hero-past) .nav-links > a::after { background: #fbf8f2; }
  .warm-home-page:not(.hero-past) .nav-links .nav-cta:hover { background: #fbf8f2; color: #171512; }
}
.warm-home-page .hero-content { width: 100%; max-width: 1440px; }
.warm-home-page .hero .eyebrow { color: var(--warm-muted); font-size: 12px; font-weight: 500; line-height: 1.6; letter-spacing: .2em; }
.warm-home-page .hero h1 { max-width: 650px; margin: 20px 0; font-size: clamp(46px, 4.1vw, 66px); font-weight: 500; line-height: 1.03; letter-spacing: -.045em; }
.warm-home-page .hero-text { max-width: 465px; color: var(--warm-muted); font-size: 20px; line-height: 1.5; }
.warm-home-page .hero-about-button { min-width: 202px; min-height: 50px; padding: 12px 24px; gap: 32px; border: 1px solid var(--warm-ink); border-radius: 2px; color: var(--warm-ink); font-size: 16px; font-weight: 500; text-transform: none; letter-spacing: 0; }
.warm-home-page .hero-about-button span { font-size: 25px; line-height: 1; }
.warm-home-page .hero-about-button:hover { background: var(--warm-ink); color: var(--warm-paper-light); }
.warm-home-page .hero-capabilities { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 680px; margin: 66px 0 0; padding: 0; list-style: none; }
.warm-home-page .hero-capabilities li { padding: 0 24px; border-left: 1px solid var(--warm-line); }
.warm-home-page .hero-capabilities li:first-child { padding-left: 0; border: 0; }
.warm-home-page .hero-capabilities svg { width: 34px; height: 34px; margin-bottom: 10px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.warm-home-page .hero-capabilities strong { display: block; font-size: 12px; letter-spacing: .07em; font-weight: 500; }
.warm-home-page .hero-capabilities span { display: block; margin-top: 5px; font-size: 13px; line-height: 1.4; color: var(--warm-muted); }
@media (max-width: 1024px) {
  .warm-home-page .hero::after {
    height: 190px;
    background: linear-gradient(180deg, rgba(251,248,242,.9), rgba(251,248,242,.45) 38%, transparent);
    mask-image: none;
  }
  .warm-home-page .hero { min-height: 0; padding: 345px 6% 36px; }
  .warm-home-page .hero-image { width: 100%; height: 520px; object-position: center 42%; }
  .warm-home-page .hero::before { background: linear-gradient(0deg, #fbf8f2 0%, #fbf8f2 34%, rgba(251,248,242,.95) 48%, rgba(251,248,242,.25) 70%, transparent 88%); }
  .warm-home-page .hero h1 { font-size: 52px; }
  .warm-home-page .hero-text { max-width: 470px; }
  .warm-home-page .hero-capabilities { margin-top: 36px; }
}
@media (max-width: 600px) {
  .warm-home-page .hero { padding: 285px 6% 28px; }
  .warm-home-page .hero-image { height: 360px; object-position: 56% center; }
  .warm-home-page .hero::before { background: linear-gradient(0deg, #fbf8f2 0%, #fbf8f2 59%, rgba(251,248,242,.92) 66%, transparent 83%); }
  .warm-home-page .hero .eyebrow { font-size: 9px; letter-spacing: .15em; }
  .warm-home-page .hero h1 { margin: 14px 0 16px; font-size: clamp(26px, 8vw, 46px); max-width: none; }
  .warm-home-page .hero-text { font-size: 16px; line-height: 1.5; }
  .warm-home-page .hero-about-button { margin-top: 22px; min-width: 180px; }
  .warm-home-page .hero-capabilities { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 28px; }
  .warm-home-page .hero-capabilities li,
  .warm-home-page .hero-capabilities li:first-child { display: flex; flex-direction: column; align-items: center; gap: 10px; min-width: 0; padding: 0 7px; text-align: center; }
  .warm-home-page .hero-capabilities li + li { border-left: 1px solid var(--warm-line); }
  .warm-home-page .hero-capabilities svg { flex: 0 0 28px; width: 28px; height: 28px; margin: 0; }
  .warm-home-page .hero-capabilities strong { font-size: 10px; line-height: 1.4; letter-spacing: 0; }
  .warm-home-page .hero-capabilities span { margin-top: 5px; font-size: 11px; line-height: 1.4; }
}
@media (max-width: 375px) {
  .warm-home-page .hero-capabilities li,
  .warm-home-page .hero-capabilities li:first-child { padding-inline: 4px; }
  .warm-home-page .hero-capabilities svg { flex-basis: 26px; width: 26px; height: 26px; }
  .warm-home-page .hero-capabilities strong { font-size: 9px; }
  .warm-home-page .hero-capabilities span { font-size: 10px; }
}

/* Paired hero actions share the existing button geometry. */
.warm-home-page .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.warm-home-page .hero-actions .button { margin-top: 0; }
.warm-home-page .hero-quote-button { background: var(--warm-ink); color: var(--warm-paper-light); }
.warm-home-page .hero-quote-button:hover { background: #38332d; color: var(--warm-paper-light); }
@media (max-width: 600px) {
  .warm-home-page .hero-actions { margin-top: 22px; gap: 10px; }
  .warm-home-page .hero-actions .button { flex: 1 1 145px; min-width: 0; padding: 12px 14px; gap: 14px; font-size: 14px; }
}

/* Services carousel: progressive enhancement below the desktop grid breakpoint. */
.services-carousel-controls { display: none; }
@media (max-width: 800px) {
  .warm-home-page .services-section.carousel-enabled { padding: 48px 0 44px; overflow: hidden; }
  .warm-home-page .carousel-enabled .services-header { padding: 0 20px; margin-bottom: 28px; text-align: center; }
  .warm-home-page .carousel-enabled .services-header h2 { font-size: clamp(27px, 7.5vw, 38px); line-height: 1.12; }
  .warm-home-page .carousel-enabled .services-eyebrow { font-size: 10px; letter-spacing: .18em; margin-bottom: 16px; }
  .warm-home-page .carousel-enabled .services-intro { font-size: 14px; line-height: 1.6; margin-top: 18px; }
  .warm-home-page .carousel-enabled .services-intro br { display: none; }
  .warm-home-page .carousel-enabled .services-grid { display: grid; grid-template-columns: 1fr; gap: 0; padding: 8px 0 16px; touch-action: pan-y; user-select: none; }
  .warm-home-page .carousel-enabled .service-card {
    grid-area: 1 / 1; justify-self: center; width: clamp(240px, 72%, 340px); box-sizing: border-box;
    min-height: 346px; padding: 24px 18px 22px; border-radius: 6px;
    background: #fdfbf7; transform: translateX(0) scale(1); opacity: 1; z-index: 2;
    transition: transform 280ms ease, opacity 280ms ease;
  }
  .warm-home-page .carousel-enabled .service-card[data-position="previous"] { transform: translateX(-100%) scale(.86); opacity: .42; z-index: 1; cursor: pointer; }
  .warm-home-page .carousel-enabled .service-card[data-position="next"] { transform: translateX(100%) scale(.86); opacity: .42; z-index: 1; cursor: pointer; }
  .warm-home-page .carousel-enabled .service-icon { width: 64px; height: 64px; margin-bottom: 10px; }
  .warm-home-page .carousel-enabled .service-number { background: transparent; color: var(--warm-ink); font-size: 18px; margin-bottom: 12px; }
  .warm-home-page .carousel-enabled .service-card h3 { font-size: 19px; line-height: 1.2; }
  .warm-home-page .carousel-enabled .service-description { font-size: 14px; line-height: 1.5; margin-top: 14px; }
  .warm-home-page .carousel-enabled .service-description br { display: none; }
  .warm-home-page .carousel-enabled .service-rule { width: 70px; margin: 20px auto 18px; }
  .warm-home-page .carousel-enabled .services-carousel-controls { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 8px; }
  .services-carousel-controls button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--warm-line); border-radius: 50%; background: transparent; color: var(--warm-ink); font-size: 22px; cursor: pointer; }
  .services-carousel-controls .services-dot { width: 28px; min-height: 44px; border: 0; border-radius: 0; }
  .services-dot::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #d6d0c8; }
  .services-dot[aria-current="true"]::before { background: var(--warm-ink); }
  .services-carousel-controls button:focus-visible, .carousel-enabled .services-grid:focus-visible { outline: 2px solid var(--warm-ink); outline-offset: 3px; }
}
@media (prefers-reduced-motion: reduce) {
  .warm-home-page .carousel-enabled .service-card { transition: none; }
}

/* Products: compact mobile tabs, using the existing cards and imagery. */
.warm-home-page #products .products-mobile-intro { display: none; }
@media (max-width: 700px) {
  .warm-home-page #products { padding: 38px 16px 42px; background: var(--warm-paper-light); }
  .warm-home-page #products .products-layout { gap: 24px; }
  .warm-home-page #products .products-mobile-intro { display: block; }
  .warm-home-page #products .products-desktop-title,
  .warm-home-page #products .products-help-card,
  .warm-home-page #products .products-subcategory-heading,
  .warm-home-page #products .expertise-subcategories,
  .warm-home-page #products .product-selector-copy,
  .warm-home-page #products .product-selector-arrow,
  .warm-home-page #products .expertise-slide-copy > span,
  .warm-home-page #products .other-category-icon,
  .warm-home-page #products .other-category-arrow { display: none; }
  .warm-home-page #products .products-eyebrow { margin-bottom: 10px; font-size: 11px; letter-spacing: .14em; }
  .warm-home-page #products .products-overview h2 { font-size: clamp(30px, 8.5vw, 38px); line-height: 1.08; }
  .warm-home-page #products .products-description { margin-top: 14px; font-size: 14px; line-height: 1.5; }
  .warm-home-page #products .product-selectors { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
  .warm-home-page #products .product-selector { position: relative; display: flex; justify-content: center; min-height: 56px; padding: 6px; border-radius: 6px; background: var(--warm-paper-deep); }
  .warm-home-page #products .product-selector.is-active { background: var(--warm-ink); }
  .warm-home-page #products .product-selector.is-active::after { content: ''; position: absolute; bottom: 5px; width: 20px; height: 2px; background: currentColor; }
  .warm-home-page #products .product-selector-icon { width: 38px; height: 38px; background: transparent; color: inherit; }
  .warm-home-page #products .product-selector-icon svg { width: 30px; height: 30px; }
  .warm-home-page #products .product-selector:focus-visible { outline: 2px solid var(--warm-ink); outline-offset: 3px; }
  .warm-home-page #products .products-panel-label { margin: 0 0 8px; font-size: 11px; letter-spacing: .08em; }
  .warm-home-page #products .products-mobile-intro h3 { margin: 0; font-size: clamp(23px, 6.2vw, 29px); line-height: 1.15; letter-spacing: -.04em; font-weight: 650; }
  .warm-home-page #products .products-mobile-intro p { margin: 8px 0 16px; color: var(--warm-muted); font-size: 14px; line-height: 1.5; }
  .warm-home-page #products .expertise-viewport,
  .warm-home-page #products .other-categories-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .warm-home-page #products .expertise-slide,
  .warm-home-page #products .other-category-card { min-height: 0; border-radius: 6px; }
  .warm-home-page #products .expertise-visual { aspect-ratio: 1 / 1.05; }
  .warm-home-page #products .expertise-slide-copy { padding: 12px 9px 14px; }
  .warm-home-page #products .expertise-slide-copy h3 { margin: 0 0 8px; font-size: 16px; line-height: 1.2; letter-spacing: -.03em; }
  .warm-home-page #products .expertise-slide-copy p,
  .warm-home-page #products .other-category-copy p { font-size: 13px; line-height: 1.45; }
  .warm-home-page #products .other-category-card { display: flex; flex-direction: column; }
  .warm-home-page #products .other-category-visual { min-height: 0; aspect-ratio: 1.65 / 1; }
  .warm-home-page #products .other-category-copy { padding: 8px 9px 10px; justify-content: flex-start; }
  .warm-home-page #products .other-category-card h3 { font-size: 16px; line-height: 1.2; }
  .warm-home-page #products .other-category-copy p { margin: 4px 0 0; }
}
@media (max-width: 340px) {
  .warm-home-page #products { padding-inline: 12px; }
  .warm-home-page #products .expertise-viewport,
  .warm-home-page #products .other-categories-grid { gap: 8px; }
  .warm-home-page #products .expertise-slide-copy h3,
  .warm-home-page #products .other-category-card h3 { font-size: 15px; }
}

/* Contact: shared cards with the request as the primary mobile action. */
.warm-home-page #contact .contact-option-card--request { background: var(--warm-paper); }
.warm-home-page #contact .contact-option-button { gap: 10px; box-sizing: border-box; }
.warm-home-page #contact .contact-option-button:focus-visible,
.warm-home-page #contact .contact-direct a:focus-visible { outline: 2px solid var(--warm-ink); outline-offset: 4px; }
.warm-home-page #contact .contact-direct a { display: inline-flex; gap: 12px; align-items: center; min-height: 44px; }
.warm-home-page #contact .contact-direct svg { width: 26px; height: 26px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.6; }
.warm-home-page .footer-grid { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
@media (min-width: 601px) and (max-width: 1024px) {
  .warm-home-page #contact .contact-desktop { margin-top: 0; }
  .warm-home-page #contact .contact-desktop-header { display: block; margin: 0 auto 30px; text-align: center; }
  .warm-home-page #contact .contact-desktop-title { font-size: clamp(34px, 5vw, 48px); margin: 0 0 16px; line-height: 1.1; }
  .warm-home-page #contact .contact-desktop-intro { font-size: 16px; line-height: 1.5; }
}
@media (max-width: 600px) {
  .warm-home-page #contact { padding: 38px 12px 36px; background: var(--warm-paper-light); }
  .warm-home-page #contact .contact-desktop { display: block; }
  .warm-home-page #contact .contact-desktop-header { text-align: center; margin: 0 auto 24px; }
  .warm-home-page #contact .contact-desktop-label { display: none; }
  .warm-home-page #contact .contact-desktop-title { margin: 0 0 14px; font-size: clamp(27px, 7.8vw, 34px); letter-spacing: -.035em; line-height: 1.1; }
  .warm-home-page #contact .contact-desktop-intro { margin: 0 auto; max-width: 390px; font-size: 15px; line-height: 1.5; }
  .warm-home-page #contact .contact-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .warm-home-page #contact .contact-option-card { display: flex; min-width: 0; padding: 18px 12px 16px; flex-direction: column; align-items: center; text-align: center; border-radius: 6px; }
  .warm-home-page #contact .contact-option-card--request { grid-column: 1 / -1; grid-row: 1; padding: 22px 18px 18px; }
  .warm-home-page #contact .contact-option-icon { display: flex; width: 48px; height: 48px; flex: 0 0 48px; border: 1px solid var(--warm-line); border-radius: 50%; align-items: center; justify-content: center; }
  .warm-home-page #contact .contact-option-icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
  .warm-home-page #contact .contact-option-card--request .contact-option-icon { width: 58px; height: 58px; flex-basis: 58px; }
  .warm-home-page #contact .contact-option-card h3 { margin: 14px 0 10px; font-size: 15px; line-height: 1.2; }
  .warm-home-page #contact .contact-option-card--request h3 { font-size: 18px; }
  .warm-home-page #contact .contact-option-description { margin: 0; font-size: 13px; line-height: 1.5; }
  .warm-home-page #contact .contact-option-card--request .contact-option-description { font-size: 15px; }
  .warm-home-page #contact .contact-option-description strong { display: inline-block; margin-bottom: 6px; }
  .warm-home-page #contact .contact-option-actions { width: 100%; margin-top: auto; padding-top: 18px; }
  .warm-home-page #contact .contact-option-button { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 44px; padding: 10px 4px; border: 1px solid var(--warm-ink); border-radius: 5px; font-family: inherit; font-size: 12px; font-weight: 700; text-decoration: none; cursor: pointer; }
  .warm-home-page #contact .contact-option-button--outline { background: transparent; }
  .warm-home-page #contact .contact-option-card--request .contact-option-button { min-height: 48px; font-size: 16px; }
  .warm-home-page #contact .contact-direct { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--warm-line); text-align: center; }
  .warm-home-page #contact .contact-direct p { margin: 0 0 8px; font-size: 14px; }
  .warm-home-page #contact .contact-direct a { font-size: clamp(19px, 5.6vw, 23px); font-weight: 600; color: var(--warm-ink); text-decoration: none; }
  .warm-home-page .footer-mobile-legal { margin-top: 0; }
}

/* Remove the spacing that belonged to the homepage footer icon. */
.warm-home-page .footer-tagline { margin-top: 0; }
