/* Words over the room, one primary calculator button. Home page only. */
body.home-immersive { font-weight: 700; }
body.home-immersive main,
body.home-immersive .site-footer,
body.home-immersive .site-header {
  color: #10282c;
  text-shadow: 0 1px 0 rgba(255,255,255,.98), 0 0 5px rgba(255,255,255,.88);
}
body.home-immersive :is(h1,h2,h3) { font-weight: 800; }
body.home-immersive :is(p,label,.small-note,.muted,.hero-credentials span) { font-weight: 700; }
body.home-immersive :is(.directions,.pool-feature,.process-section,.work-section,.contact-section,.site-footer) {
  background: transparent; border: 0;
}
body.home-immersive .site-header { position: relative; top: auto; background: transparent; border: 0; -webkit-backdrop-filter: none; backdrop-filter: none; }
body.home-immersive :is(.hero-intro > .eyebrow,.hero .hero-tagline,.hero .hero-description,.hero-credentials,.section-heading,.service-item,.process-grid article,.pool-feature-grid > div:last-child,.contact-grid > div:first-child,.enquiry-form,.footer-grid > div,.footer-bottom,.carousel-slide,.carousel-slide figcaption,.file-field),
body.home-immersive .hero .calculator-promo {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
body.home-immersive .hero .calculator-promo:hover,
body.home-immersive .service-item:hover { background: transparent; border: 0; box-shadow: none; }
body.home-immersive .hero { min-height: calc(100svh - 94px); padding-top: 40px; padding-bottom: 66px; }
body.home-immersive .hero .hero-description,
body.home-immersive .hero-intro > .eyebrow,
body.home-immersive .hero .calculator-promo,
body.home-immersive .hero-copy > .calculator-promo,
body.home-immersive .hero-credentials,
body.home-immersive .section-heading,
body.home-immersive .process-grid article,
body.home-immersive .pool-feature-grid > div:last-child,
body.home-immersive .contact-grid > div:first-child,
body.home-immersive .enquiry-form,
body.home-immersive .footer-grid > div,
body.home-immersive .footer-bottom { padding: 0; }
body.home-immersive .hero-intro > .eyebrow { color: #143f3e; font-weight: 800; }
body.home-immersive .hero h1 { font-size: clamp(2.35rem,4.5vw,4.3rem); line-height: 1.04; font-weight: 850; letter-spacing: -.045em; }
body.home-immersive .hero .hero-description { max-width: 30ch; font-size: 1.05rem; line-height: 1.45; }
body.home-immersive .hero .home-cost { align-self: center; max-width: 520px; }
body.home-immersive .home-cost-label { margin: 0 0 10px; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
body.home-immersive .home-cost h2 { margin: 0; font-size: clamp(2.1rem,3.5vw,3.5rem); line-height: 1.08; letter-spacing: -.035em; }
body.home-immersive .home-cost-answer { display: flex; align-items: center; gap: 13px; margin: 15px 0 14px; font-size: 1.05rem; }
body.home-immersive .home-cost-pointer { display: inline-block; font-size: 2.3rem; line-height: 1; }
body.home-immersive .home-planner-button { min-height: 62px; width: fit-content; max-width: 100%; padding: 16px 22px; gap: 20px; font-size: 1.07rem; font-weight: 800; border-radius: 10px; }
body.home-immersive main .button:not(.home-planner-button),
body.home-immersive .service-item { background: transparent; box-shadow: none; border: 0; -webkit-backdrop-filter: none; backdrop-filter: none; }
body.home-immersive main .button:not(.home-planner-button) { padding: 8px 0; min-height: 44px; }
body.home-immersive .hero .button-row { margin-top: 12px; }
body.home-immersive .hero-credentials { margin-top: 20px; }
body.home-immersive .hero-credentials strong { font-size: 1.2rem; font-weight: 800; }
body.home-immersive .hero-credentials span { font-size: .8rem; }
body.home-immersive .service-item { min-height: 150px; padding: 18px 0 40px; }
body.home-immersive .service-item h3 { max-width: none; }
body.home-immersive .service-item p { margin-top: 9px; }
body.home-immersive .service-index { margin-bottom: 12px; }
body.home-immersive .service-arrow { right: 3px; bottom: 5px; }
body.home-immersive .service-grid { column-gap: 40px; row-gap: 20px; }
body.home-immersive .home-scene-caption { background: transparent; border: 0; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; text-shadow: 0 1px 1px white,0 0 4px white; }
body.home-immersive .carousel-slide figcaption { padding: 20px 0; }
body.home-immersive .footer-grid { gap: 30px; }
body.home-immersive .home-lively { --home-scroll-y: 0px; --home-touch-y: 0px; --home-touch-scale: 1; transform: translate3d(0,calc(var(--home-scroll-y) + var(--home-touch-y)),0) scale(var(--home-touch-scale)); transform-origin: 45% 50%; transition: transform 130ms ease-out; }
body.home-immersive .home-lively.is-home-pressed { --home-touch-y: 2px; --home-touch-scale: .987; }
body.home-immersive .home-planner-button:active { transform: translateY(2px) scale(.985); }
@media(max-width:920px) {
  body.home-immersive .hero { padding-top: 30px; padding-bottom: 48px; }
  body.home-immersive .hero .home-cost { margin-top: 30px; }
}
@media(max-width:700px) {
  body.home-immersive .hero { padding-top: 24px; padding-bottom: 42px; min-height: calc(100svh - 70px); }
  body.home-immersive .hero h1 { font-size: clamp(2.2rem,8.5vw,2.8rem); }
  body.home-immersive .hero .hero-description { font-size: 1rem; margin-top: 18px; }
  body.home-immersive .home-cost h2 { font-size: clamp(1.95rem,7.7vw,2.5rem); }
  body.home-immersive .hero .home-cost { margin-top: 28px; }
  body.home-immersive .home-cost-label { font-size: .68rem; }
  body.home-immersive .home-cost-answer { margin: 10px 0; }
  body.home-immersive .home-planner-button { min-height: 58px; padding: 14px 18px; font-size: 1rem; }
  body.home-immersive .service-item { min-height: 130px; padding: 14px 0 34px; }
  body.home-immersive .service-grid { gap: 12px; }
  body.home-immersive .section-heading { gap: 16px; }
  body.home-immersive .hero-credentials { gap: 14px; }
}
@media(prefers-reduced-motion:reduce) {
  body.home-immersive .home-lively,
  body.home-immersive .home-lively.is-home-pressed,
  body.home-immersive .home-planner-button:active { transform: none; transition: none; }
}
