/* A quieter continuation of the photographic home hero. */
body.hh-lumora main > section:not(.lum-hero):not(.hh-cloud-trial):not(.hh-contact) {
  padding-top: clamp(60px, 7vw, 96px);
  padding-bottom: clamp(60px, 7vw, 96px);
}
body.hh-lumora main > section:not(.lum-hero) .hh-section-head { margin-bottom: 32px; }
body.hh-lumora main > section:not(.lum-hero) .hh-section-head h2 {
  max-width: 820px; margin: 0 0 12px; font-size: clamp(32px, 3.5vw, 48px); line-height: 1.1;
}
body.hh-lumora main > section:not(.lum-hero) .hh-section-head p { max-width: 650px; margin: 0; }
body.hh-lumora .hh-facility-link,
body.hh-lumora .hh-offers .hh-inline-link,
body.hh-lumora .hh-media-channel {
  min-height: 46px; padding: 12px 20px; border: 1px solid var(--ink); border-radius: 999px;
  background: var(--ink); color: #fff; font-weight: 600; white-space: nowrap;
}
body.hh-lumora .hh-facility-link:hover,
body.hh-lumora .hh-offers .hh-inline-link:hover,
body.hh-lumora .hh-media-channel:hover { color: #fff; background: var(--petrol); border-color: var(--petrol); }
body.hh-lumora .hh-facility-link.hh-inline-link { color: #fff; }

/* Let the actual facilities lead; captions remain outside the photographs. */
body.hh-lumora .hh-facility-gallery { gap: 16px; }
body.hh-lumora .hh-facility-photo { border: 0; border-radius: 18px; background: #edf3f0; }
body.hh-lumora .hh-facility-photo img { filter: saturate(.72); }
body.hh-lumora .hh-facility-photo figcaption { padding: 16px 18px 18px; }
body.hh-lumora .hh-facility-photo figcaption span { color: #536e70; }

/* Calculators: one coherent choice, with two clear destinations. */
body.hh-lumora main > .hh-calculators {
  display: grid; grid-template-columns: minmax(220px, .9fr) repeat(2, minmax(0, 1fr));
  gap: 0; align-items: stretch; padding-top: 0 !important;
}
body.hh-lumora .hh-calculators > div,
body.hh-lumora .hh-calculators > a,
body.hh-lumora .hh-calculators > a:nth-child(3) {
  min-height: 190px; padding: 28px; border-radius: 0; background: #edf3f0; color: var(--ink);
}
body.hh-lumora .hh-calculators > div { border-radius: 18px 0 0 18px; }
body.hh-lumora .hh-calculators > a { gap: 20px; border-left: 1px solid #cbdad4; }
body.hh-lumora .hh-calculators > a:last-child { border-radius: 0 18px 18px 0; }
body.hh-lumora .hh-calculators > a i { color: var(--action); }
body.hh-lumora .hh-calculators > a small { color: #536e70; }
body.hh-lumora .hh-calculators > a:hover { transform: none; background: #dcebe5; color: var(--ink); }
body.hh-lumora .hh-calculators > a span { margin-top: auto; }

/* Price details stay visible and dynamically supplied by the catalog. */
body.hh-lumora .hh-product { border-radius: 18px; background: #f1f5f2; border-color: #dce5e2; }
body.hh-lumora .hh-product-photo { border-radius: 12px; }
body.hh-lumora .hh-product h3 { min-height: 2.5em; }
body.hh-lumora .hh-product-price { color: var(--ink); font-variant-numeric: tabular-nums; }
body.hh-lumora .hh-product a { margin-top: auto; position: relative; top: 0; }
body.hh-lumora .hh-product p:last-of-type { margin-bottom: 20px; }

/* A real photograph connects the test offer to the hero. */
body.hh-lumora main > section.hh-cloud-trial:not(.lum-hero) { border-radius: 20px; background: var(--deep); }
body.hh-lumora .hh-cloud-trial::before { background-image: url('/assets/hashhome-facility-hero.jpg'); opacity: .21; }
body.hh-lumora .hh-trial-meta div { border-radius: 14px; }
body.hh-lumora .hh-trial-actions a:not(.hh-primary) { color: #e4f1ea; }

/* Sequential steps read as a process rather than a second set of offers. */
body.hh-lumora .hh-steps-grid { gap: 28px; }
body.hh-lumora .hh-steps-grid article {
  min-height: 0; padding: 22px 0 0; border: 0; border-top: 1px solid #b9cbc3;
  border-radius: 0; background: transparent;
}
body.hh-lumora .hh-steps-grid b { color: var(--action); font-variant-numeric: tabular-nums; }
body.hh-lumora .hh-steps-grid h3 { margin: 18px 0 8px; }

/* Media is editorial; the thumbnails and titles are the interactive target. */
body.hh-lumora .hh-media-video { border: 0; border-radius: 0; padding: 0; background: transparent; }
body.hh-lumora .hh-media-thumb { border-radius: 18px; }
body.hh-lumora .hh-media-text { padding: 18px 2px 0; }
body.hh-lumora .hh-media-video:hover { background: transparent; }

body.hh-lumora .hh-questions { padding: 8px 24px 8px 0; border: 0; border-radius: 0; }
body.hh-lumora .hh-useful-card { border-radius: 18px; background: #edf3f0; }
body.hh-lumora .hh-useful-card .hh-index { display: none; }
body.hh-lumora .hh-questions summary { min-height: 48px; padding: 14px 0; }
body.hh-lumora .hh-questions > a, body.hh-lumora .hh-useful-card a { color: var(--ink); }
body.hh-lumora main > section.hh-contact:not(.lum-hero) { background: var(--deep); }

@media (max-width: 900px) {
  body.hh-lumora main > .hh-calculators { grid-template-columns: 1fr 1fr; }
  body.hh-lumora .hh-calculators > div { grid-column: 1 / -1; min-height: 0; border-radius: 18px 18px 0 0; }
  body.hh-lumora .hh-calculators > a { border-left: 0; border-top: 1px solid #cbdad4; }
  body.hh-lumora .hh-calculators > a:nth-child(2) { border-right: 1px solid #cbdad4; border-radius: 0 0 0 18px; }
  body.hh-lumora .hh-calculators > a:last-child { border-radius: 0 0 18px 0; }
}
@media (max-width: 760px) {
  body.hh-lumora main > section:not(.lum-hero):not(.hh-cloud-trial):not(.hh-contact) { padding-top: 52px; padding-bottom: 52px; }
  body.hh-lumora main > .hh-calculators { padding-top: 0 !important; grid-template-columns: 1fr; }
  body.hh-lumora .hh-calculators > div { grid-column: auto; }
  body.hh-lumora .hh-calculators > a, body.hh-lumora .hh-calculators > a:nth-child(2), body.hh-lumora .hh-calculators > a:last-child {
    min-height: 128px; padding: 22px; border-right: 0; border-radius: 0;
  }
  body.hh-lumora .hh-calculators > a:last-child { border-radius: 0 0 18px 18px; }
  body.hh-lumora .hh-calculators > a span { margin-top: 0; }
  body.hh-lumora .hh-product h3 { min-height: 0; }
  body.hh-lumora .hh-product a { margin-top: 0; }
  body.hh-lumora .hh-steps-grid { gap: 24px; }
  body.hh-lumora .hh-questions { padding: 0; }
  body.hh-lumora .hh-useful-card { padding: 26px; }
  body.hh-lumora .hh-media-text { padding: 16px 2px 4px; }
}

/* Home palette: continue the hero's monochrome photography, with green as an accent. */
body.hh-lumora main {
  --ink: #131514;
  --petrol: #323634;
  --deep: #111312;
  --action: #225f3f;
  --muted-jade: #565c58;
  --border-jade: #dadcda;
  --lum-line: #dadcda;
  background: #f6f6f4;
}
body.hh-lumora main > section:not(.lum-hero) h2,
body.hh-lumora main > section:not(.lum-hero) h3 { color: #151716; }
body.hh-lumora main > section:not(.lum-hero) p { color: #565c58; }
body.hh-lumora .hh-direction { background: #131514; }
body.hh-lumora .hh-direction h3 { color: #fff !important; }
body.hh-lumora main > section:not(.lum-hero) .hh-direction p { color: #dedfdd; }
body.hh-lumora .hh-direction > i { color: #a9cbb3; }
body.hh-lumora .hh-direction:hover { background: #2a302c; }
body.hh-lumora .hh-facility-photo { background: #eeeeec; }
body.hh-lumora .hh-facility-photo figcaption span { color: #565c58; }
body.hh-lumora .hh-calculators > div,
body.hh-lumora .hh-calculators > a,
body.hh-lumora .hh-calculators > a:nth-child(3),
body.hh-lumora .hh-useful-card { background: #eeeeec; color: #151716; }
body.hh-lumora .hh-calculators > a { border-color: #d5d7d4; }
body.hh-lumora .hh-calculators > a small { color: #565c58; }
body.hh-lumora .hh-calculators > a:hover { background: #e1e3df; color: #151716; }
body.hh-lumora .hh-product { background: #f0f0ee; border-color: #dedfdd; }
body.hh-lumora .hh-product-tags span { background: #e0e4df; color: #34423a; }
body.hh-lumora .hh-product-price { color: #151716; }
body.hh-lumora .hh-steps-grid article { border-color: #c9ccc9; }
body.hh-lumora .hh-facility-link,
body.hh-lumora .hh-offers .hh-inline-link,
body.hh-lumora .hh-media-channel { background: #131514; border-color: #131514; color: #fff; }
body.hh-lumora .hh-facility-link:hover,
body.hh-lumora .hh-offers .hh-inline-link:hover,
body.hh-lumora .hh-media-channel:hover { background: #353a37; border-color: #353a37; color: #fff; }
body.hh-lumora main > section.hh-cloud-trial:not(.lum-hero),
body.hh-lumora main > section.hh-contact:not(.lum-hero) { background-color: #111312; color: #f7f7f5; }
body.hh-lumora main > section.hh-cloud-trial:not(.lum-hero) h2,
body.hh-lumora main > section.hh-contact:not(.lum-hero) h2 { color: #f7f7f5; }
body.hh-lumora main > section.hh-cloud-trial:not(.lum-hero) p,
body.hh-lumora main > section.hh-contact:not(.lum-hero) p { color: #dedfdd; }
body.hh-lumora .hh-trial-actions a:not(.hh-primary) { color: #f1f2ef; }
body.hh-lumora .hh-trial-meta span { color: #dedfdd; }
body.hh-lumora .hh-footer { background: #111312; color: #dedfdd; }
@media (max-width: 900px) {
  body.hh-lumora .hh-calculators > a,
  body.hh-lumora .hh-calculators > a:nth-child(2) { border-color: #d5d7d4; }
}

/* Clear, filled actions continue the first screen's button language. */
body.hh-lumora .hh-direction { background: #eeeeec; color: #151716; }
body.hh-lumora .hh-direction:hover { background: #e4e5e2; }
body.hh-lumora .hh-direction h3 { color: #151716 !important; }
body.hh-lumora main > section:not(.lum-hero) .hh-direction p { color: #565c58; }
body.hh-lumora .hh-direction > i { color: #225f3f; }
body.hh-lumora .hh-direction .hh-test { color: #2a352e; border-color: #aeb6af; }
body.hh-lumora .hh-direction > .hh-card-action,
body.hh-lumora .hh-calculators > a > .hh-card-action,
body.hh-lumora .hh-media-watch,
body.hh-lumora .hh-directions-links a,
body.hh-lumora .hh-facility-link.hh-inline-link,
body.hh-lumora .hh-offers .hh-inline-link,
body.hh-lumora .hh-product a,
body.hh-lumora .hh-products button,
body.hh-lumora .hh-media-channel,
body.hh-lumora .hh-questions > a,
body.hh-lumora .hh-useful-card a {
  display: inline-flex; align-items: center; justify-content: center; align-self: flex-start;
  width: auto; min-height: 44px; padding: 11px 18px; border: 1px solid #131514; border-radius: 999px;
  background: #131514; color: #fff; font-size: 14px; font-weight: 600; line-height: 20px; text-decoration: none;
}
body.hh-lumora .hh-direction > span.hh-card-action:last-child { position: static; align-self: flex-start; margin: 20px 0 0; font-size: 14px; }
body.hh-lumora .hh-calculators > a > .hh-card-action { display: inline-flex; flex-direction: row; gap: 0; margin: 0; padding: 11px 18px; }
body.hh-lumora .hh-calculators > a { gap: 16px; }
body.hh-lumora .hh-calculators > a > span:not(.hh-card-action) { margin-top: auto; }
body.hh-lumora .hh-media-watch { margin-top: 16px; }
body.hh-lumora .hh-product a { margin-top: auto; }
body.hh-lumora .hh-directions-links a:hover,
body.hh-lumora .hh-facility-link.hh-inline-link:hover,
body.hh-lumora .hh-offers .hh-inline-link:hover,
body.hh-lumora .hh-product a:hover,
body.hh-lumora .hh-products button:hover,
body.hh-lumora .hh-media-channel:hover,
body.hh-lumora .hh-questions > a:hover,
body.hh-lumora .hh-useful-card a:hover { background: #343936; border-color: #343936; color: #fff; text-decoration: none; }
body.hh-lumora .hh-direction:hover > .hh-card-action,
body.hh-lumora .hh-calculators > a:hover > .hh-card-action,
body.hh-lumora .hh-media-video:hover .hh-media-watch { background: #343936; border-color: #343936; color: #fff; }
/* On dark surfaces the inverse treatment preserves contrast. */
body.hh-lumora .hh-trial-actions > a,
body.hh-lumora .hh-trial-actions > a:not(.hh-primary),
body.hh-lumora .hh-contact .hh-primary {
  display: inline-flex; align-items: center; justify-content: center; min-height: 46px;
  padding: 12px 18px; border: 1px solid #f6f6f4; border-radius: 999px;
  background: #f6f6f4; color: #131514; font-size: 14px; font-weight: 600; line-height: 20px; text-decoration: none;
}
body.hh-lumora .hh-trial-actions > a:hover,
body.hh-lumora .hh-trial-actions > a:not(.hh-primary):hover,
body.hh-lumora .hh-contact .hh-primary:hover { background: #dcdedb; border-color: #dcdedb; color: #131514; }
@media (max-width: 760px) {
  body.hh-lumora .hh-direction { grid-template-areas: 'icon title badge' '. description description' '. action action'; }
  body.hh-lumora .hh-direction > span.hh-card-action:last-child { grid-area: action; justify-self: start; margin: 4px 0 0; }
  body.hh-lumora .hh-calculators > a > span:not(.hh-card-action) { margin-top: 0; }
  body.hh-lumora .hh-product a { margin-top: 0; }
  body.hh-lumora .hh-trial-actions { gap: 10px; }
}

/* Keep photograph and caption edges aligned across the gallery. */
body.hh-lumora .hh-facility-photo { grid-template-rows: minmax(0, 1fr) 88px; }
body.hh-lumora .hh-facility-photo figcaption { align-content: center; }
@media (max-width: 600px) {
  body.hh-lumora .hh-facility-photo { grid-template-rows: minmax(0, 1fr) minmax(72px, auto); }
}
