/* Homepage: one room cover, one calculator entrance, five gallery directions. */
body.home-immersive .site-header {
  position: relative; z-index: 20; background: rgba(250,252,248,.97);
  border-bottom: 1px solid rgba(2,6,8,.18);
}
body.home-immersive .header-inner { min-height: 142px; gap: 24px; }
body.home-immersive .site-header .brand { display: block; flex: 0 0 auto; }
body.home-immersive .home-brand-image { display: block; width: 192px; height: 126px; object-fit: cover; object-position: center; border-radius: 3px; }
body.home-immersive .hero { min-height: calc(100svh - 143px); padding-top: 48px; padding-bottom: 64px; }
body.home-immersive .hero h1 { max-width: 19ch; font-size: clamp(2.6rem,4.9vw,4.8rem); line-height: 1.06; overflow-wrap: normal; word-break: normal; hyphens: none; }
body.home-immersive .hero .hero-description { margin: 22px 0 0; max-width: 38ch; font-size: clamp(1.2rem,2vw,1.65rem); line-height: 1.4; }
body.home-immersive .hero-credentials { margin-top: 12px; }
body.home-immersive .hero-credentials strong { display: block; font-size: 1.5rem; }
body.home-immersive .hero-credentials span { display: block; margin-top: 2px; font-size: .95rem; }
body.home-immersive .hero .home-cost { margin-top: 32px; }
body.home-immersive .home-cost-label { font-size: .95rem; }
body.home-immersive .hero .home-cost h2 { font-size: clamp(2rem,3.6vw,3.5rem); }
body.home-immersive .home-cost-answer { font-size: 1.3rem; margin: 16px 0; }
body.home-immersive .hero .home-planner-button {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 24px;
  min-height: 76px; padding: 18px 25px; width: fit-content; max-width: 100%;
  border: 3px solid #071b1d; border-radius: 12px;
  background: rgba(255,255,255,.25); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
  box-shadow: 0 5px 0 rgba(7,27,29,.65),0 12px 22px rgba(7,27,29,.12);
  font-size: clamp(1.22rem,2.3vw,1.55rem); font-weight: 900 !important;
  line-height: 1.25; text-align: left; text-decoration: none;
  transition: transform 150ms ease,box-shadow 150ms ease,background 150ms ease;
}
body.home-immersive .hero .home-planner-button > span:last-child { font-size: 1.7rem; flex-shrink: 0; }
body.home-immersive .hero .home-planner-button:hover { background: rgba(255,255,255,.4); box-shadow: 0 6px 0 rgba(7,27,29,.75),0 15px 25px rgba(7,27,29,.17); }
body.home-immersive .hero .home-planner-button:active { transform: translateY(4px) scale(.98); box-shadow: 0 1px 0 rgba(7,27,29,.7); }
body.home-immersive .hero .home-planner-button:focus-visible,
body.home-immersive .home-gallery-link:focus-visible { outline: 3px solid #007b78; outline-offset: 6px; }
body.home-immersive .home-gallery-section { padding: 48px 0 90px; }
body.home-immersive .home-gallery-section .section-heading { margin-bottom: 20px; }
body.home-immersive .home-gallery-section h2 { font-size: clamp(2rem,3vw,3rem); }
body.home-immersive .home-gallery-list { border-top: 2px solid rgba(2,6,8,.55); }
body.home-immersive .home-gallery-link {
  display: grid; grid-template-columns: 48px minmax(0,1fr) 44px; align-items: center; gap: 22px;
  min-height: 164px; padding: 30px 0; border-bottom: 2px solid rgba(2,6,8,.45);
  background: transparent; text-decoration: none; scroll-margin-top: 30px;
}
body.home-immersive .home-gallery-index { font-size: .85rem; align-self: start; padding-top: 10px; }
body.home-immersive .home-gallery-link h3 { margin: 0; font-size: clamp(1.9rem,4vw,3.6rem); line-height: 1.12; letter-spacing: -.035em; }
body.home-immersive .home-gallery-link p { margin: 10px 0 0; font-size: 1rem; line-height: 1.45; }
body.home-immersive .home-gallery-arrow { font-size: 2.1rem; transition: transform 160ms ease; }
body.home-immersive .home-gallery-link:hover .home-gallery-arrow { transform: translate(4px,-4px); }
body.home-immersive .home-gallery-link:active .home-gallery-arrow { transform: translate(7px,-2px) scale(.92); }
.portfolio-categories { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 0 0 30px; }
.portfolio-categories a { display: inline-block; padding: 9px 0; color: inherit; font-weight: 700; text-decoration: none; border-bottom: 2px solid transparent; }
.portfolio-categories a[aria-current="page"] { border-color: currentColor; }
.portfolio-gallery-empty { padding: 30px 0; }
.portfolio-gallery-empty p { max-width: 48ch; }
@media(max-width:920px) {
  body.home-immersive .hero { padding-top: 32px; }
  body.home-immersive .header-inner { gap: 16px; }
}
@media(max-width:700px) {
  body.home-immersive .header-inner { min-height: 120px; gap: 12px; }
  body.home-immersive .home-brand-image { width: 168px; height: 108px; }
  body.home-immersive .header-actions { gap: 8px; }
  body.home-immersive .language-switch { gap: 1px; }
  body.home-immersive .language-switch a { padding: 5px; font-size: .68rem; }
  body.home-immersive .menu-toggle { width: 34px; height: 40px; padding: 4px; }
  body.home-immersive .site-nav { top: 120px; }
  body.home-immersive .hero { min-height: calc(100svh - 121px); padding-top: 26px; padding-bottom: 56px; }
  body.home-immersive .hero h1 { max-width: 17ch; font-size: clamp(2rem,8.3vw,2.6rem); line-height: 1.08; }
  body.home-immersive .hero .hero-description { margin-top: 18px; font-size: 1.25rem; line-height: 1.35; }
  body.home-immersive .hero-credentials { margin-top: 10px; }
  body.home-immersive .hero-credentials strong { font-size: 1.3rem; }
  body.home-immersive .hero-credentials span { font-size: .85rem; }
  body.home-immersive .hero .home-cost { margin-top: 28px; }
  body.home-immersive .home-cost-label { font-size: .85rem; margin-bottom: 8px; }
  body.home-immersive .hero .home-cost h2 { font-size: clamp(1.85rem,7.8vw,2.35rem); }
  body.home-immersive .home-cost-answer { font-size: 1.2rem; margin: 12px 0; }
  body.home-immersive .hero .home-planner-button { width: 100%; min-height: 70px; padding: 17px 18px; gap: 12px; font-size: clamp(1.1rem,5.2vw,1.4rem); }
  body.home-immersive .home-gallery-section { padding: 24px 0 64px; }
  body.home-immersive .home-gallery-link { grid-template-columns: 24px minmax(0,1fr) 27px; gap: 10px; min-height: 154px; padding: 28px 0; }
  body.home-immersive .home-gallery-link h3 { font-size: clamp(1.55rem,7vw,2.25rem); }
  body.home-immersive .home-gallery-link p { font-size: .92rem; }
  body.home-immersive .home-gallery-arrow { font-size: 1.6rem; }
  body.home-immersive .home-gallery-index { font-size: .75rem; padding-top: 6px; }
}
@media(max-width:359px) {
  body.home-immersive .home-brand-image { width: 144px; height: 108px; }
  body.home-immersive .header-inner { gap: 8px; }
  body.home-immersive .header-actions { flex-direction: column; align-items: flex-end; gap: 4px; }
  body.home-immersive .language-switch a { padding: 4px; }
}
@media(prefers-reduced-motion:reduce) {
  body.home-immersive .home-gallery-arrow,
  body.home-immersive .hero .home-planner-button { transition: none; }
}
