/* ========================================================================== 
   NASHORN responsive concept
   Isolated to index.html. Desktop stays identical to index.html.
   ========================================================================== */

html {
  overflow-x: hidden;
  overflow-x: clip;
}

.home-page .engineering-mobile-detail,
.home-page .engineering-mobile-nav,
.home-page .fb01-mobile-stack,
.home-page .room-mobile-gallery,
.home-page .room-mobile-gallery + .mobile-slider-nav {
  display: none;
}

.home-page {
  --rt-edge: clamp(20px, 5.2vw, 32px);
  --rt-section: clamp(76px, 18vw, 112px);
  --rt-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

.home-page .hero__media picture,
.home-page .hero__media picture > img {
  display: block;
  width: 100%;
  height: 100%;
}

.home-page .hero__media picture > img {
  object-fit: cover;
}

/* The homepage Hero always uses a sharp source image; responsive gradients
   remain color overlays and never blur the room behind them. */
.home-page .hero__media,
.home-page .hero__media picture,
.home-page .hero__media img {
  filter: none !important;
  -webkit-filter: none !important;
}

.home-page .hero__panel::before {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.home-page .mobile-consultation-cta {
  display: none;
}

/* Phone Mobile Master scale. Mobile Landscape reuses the approved portrait tokens. */
@media (max-width: 767.98px) and (orientation: portrait),
       (max-width: 1199.98px) and (orientation: landscape) and (max-height: 600px) {
  .home-page {
    --mobile-eyebrow-size: 0.76rem;
    --mobile-rokmob-story-ratio: 1 / 1;
  }

  .home-page .product-grid {
    --touch-product-card-width: 80%;
    --product-strip-gap: 14px;
    --product-strip-margin: calc(var(--touch-inset) * -1);
    --product-strip-padding: var(--touch-inset);
    --product-strip-scroll-padding: var(--touch-inset);
  }

  .home-page #mobile-produkte {
    grid-template-rows: auto minmax(0, 1fr) auto;
    align-content: stretch;
  }

  .home-page:not(.site-shell) #mobile-produkte .mobile-menu__panel-grid{
    grid-template-rows: repeat(2, minmax(0, 1fr));
    min-height: 0;
  }

  .home-page:not(.site-shell) #mobile-produkte .mobile-menu__image-link,
.home-page:not(.site-shell) #mobile-einsatz .mobile-menu__image-link{
    height: 100%;
    min-height: 0;
  }

  .home-page #mobile-einsatz {
    grid-template-rows: auto minmax(0, 1fr);
    align-content: stretch;
  }

  .home-page:not(.site-shell) #mobile-einsatz .mobile-menu__panel-list{
    grid-template-rows: repeat(3, minmax(0, 1fr));
    min-height: 0;
  }

  .home-page:not(.site-shell) .mobile-menu__back > span{
    align-items: center;
  }

  .home-page:not(.site-shell) .mobile-menu__back > span:first-child{
    position: relative;
    justify-content: center;
    width: 12px;
  }

  .home-page:not(.site-shell) .mobile-menu__back > span:first-child::before{
    content: "";
    display: block;
    width: 9px;
    height: 9px;
    border-bottom: 2px solid currentColor;
    border-left: 2px solid currentColor;
    transform: rotate(45deg);
  }

  .home-page .cta-swap.btn--secondary::after,
  .home-page .fb01-story__cta.btn--secondary::after,
  .home-page .engineering__cta.btn--secondary::after,
  .home-page .about__cta.btn--secondary::after {
    bottom: 7px;
  }

  .home-page .product-lines__meta .cta-swap.btn--secondary {
    border-bottom: 0;
  }

  .home-page .cta-swap.btn--secondary .btn__in .icon,
  .home-page .fb01-story__cta.btn--secondary .btn__in .icon,
  .home-page .engineering__cta.btn--secondary .btn__in .icon,
  .home-page .about__cta.btn--secondary .btn__in .icon {
    width: 14px;
    height: 14px;
  }
}

/* Touch Master: phone portrait, tablet portrait and low-height landscape. */
@media (max-width: 767.98px),
       (min-width: 768px) and (max-width: 1023.98px) and (orientation: portrait),
       (min-width: 768px) and (max-width: 1199.98px) and (orientation: landscape) and (max-height: 600px) {
  .home-page .rt-reveal {
    opacity: 0;
    transform: translate3d(0, 28px, 0);
    transition:
      opacity 700ms var(--rt-ease),
      transform 900ms var(--rt-ease);
  }

  .home-page .rt-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

  .home-page .rt-reveal:nth-child(2) { transition-delay: 70ms; }
  .home-page .rt-reveal:nth-child(3) { transition-delay: 140ms; }
  .home-page .rt-reveal:nth-child(4) { transition-delay: 210ms; }

  .home-page .product-grid,
  .home-page .category-grid,
  .home-page .engineering-story__visual,
  .home-page .room-focus__states {
    scrollbar-width: none;
  }

  .home-page .product-grid::-webkit-scrollbar,
  .home-page .category-grid::-webkit-scrollbar,
  .home-page .engineering-story__visual::-webkit-scrollbar,
  .home-page .room-focus__states::-webkit-scrollbar {
    display: none;
  }

  .home-page .rt-rail-meter {
    position: relative;
    width: calc(100% - 2 * var(--rt-edge));
    height: 1px;
    margin: 8px auto 0;
    overflow: hidden;
    background: rgba(12, 26, 41, 0.14);
  }

  .home-page .rt-rail-meter > i {
    display: block;
    width: 100%;
    height: 100%;
    background: var(--nashorn-blue);
    transform: scaleX(var(--rt-progress, 0));
    transform-origin: left center;
    transition: transform 120ms linear;
  }

  .home-page {
    --touch-inset: var(--rt-edge);
    --touch-section-y: var(--rt-section);
    --touch-app-card-height: 190px;
    --touch-product-card-width: min(84vw, 340px);
    --gutter: var(--rt-edge);
    --space-section: var(--rt-section);
    --space-section-sm: clamp(64px, 15vw, 88px);
    background: #f7f9fb;
  }

  .home-page {
    font-size: 1rem;
  }

  .home-page:not(.site-shell) .primary-nav,
.home-page:not(.site-shell) .site-header__cta{
    display: none;
  }

  .home-page:not(.site-shell) .menu-toggle{
    display: grid;
  }

  .home-page:not(.site-shell) .site-header__inner{
    gap: 16px;
  }

  .home-page .container,
  .home-page .container--wide {
    width: calc(100% - 2 * var(--rt-edge));
  }

  .home-page .section {
    padding-block: var(--rt-section);
  }

  .home-page .typo-lab__fab,
  .home-page .typo-lab__panel {
    display: none !important;
  }

  .home-page .h2,
  .home-page .h2--md {
    font-size: clamp(2.15rem, 10vw, 3.15rem);
    letter-spacing: -0.045em;
    line-height: 1.02;
    text-wrap: balance;
  }

  .home-page .section-head__text,
  .home-page .feature__text,
  .home-page .about__text,
  .home-page .showroom__text {
    max-width: 34rem;
    font-size: 1rem;
    line-height: 1.65;
  }

  .home-page .btn {
    width: 100%;
    min-height: 58px;
    justify-content: space-between;
    padding-inline: 20px;
  }

  /* Header and full-screen mobile navigation */
  .home-page:not(.site-shell) .site-header{
    height: 68px;
    transition-duration: 420ms;
  }

  .home-page:not(.site-shell) .site-header__inner{
    width: calc(100% - 2 * var(--rt-edge));
  }

  .home-page:not(.site-shell) .site-header__logo img,
.home-page:not(.site-shell) .site-header.is-scrolled .site-header__logo img{
    height: 38px;
  }

  .home-page:not(.site-shell) .menu-toggle{
    width: 44px;
    height: 44px;
    margin-right: -8px;
  }

  .home-page:not(.site-shell) .site-header__tools{
    display: none;
  }

  .home-page:not(.site-shell).is-locked .site-header{
    background: #07131d;
    border-bottom-color: rgba(255, 255, 255, 0.12);
    box-shadow: none;
  }

  .home-page:not(.site-shell).is-locked .site-header .site-header__logo-light{
    opacity: 1;
  }

  .home-page:not(.site-shell).is-locked .site-header .site-header__logo-dark{
    opacity: 0;
  }

  .home-page:not(.site-shell).is-locked .site-header .menu-toggle{
    color: #fff;
  }

  .home-page:not(.site-shell) .mobile-menu{
    inset: 0;
    z-index: 90;
    gap: 40px;
    padding: calc(68px + 30px) var(--rt-edge) max(28px, env(safe-area-inset-bottom));
    background:
      radial-gradient(circle at 92% 8%, rgba(0, 159, 227, 0.17), transparent 30%),
      linear-gradient(145deg, #0d1c27 0%, #07131d 72%);
    color: #fff;
    transform: translate3d(0, -16px, 0);
    transition: opacity 360ms var(--rt-ease), transform 520ms var(--rt-ease);
  }

  .home-page:not(.site-shell) .mobile-menu__list{
    width: 100%;
    min-width: 0;
    counter-reset: rt-menu;
  }

  .home-page:not(.site-shell) .mobile-menu__list > li{
    position: relative;
    counter-increment: rt-menu;
    border-bottom-color: rgba(255, 255, 255, 0.15);
  }

  .home-page:not(.site-shell) .mobile-menu__list > li::before{
    content: "0" counter(rt-menu);
    position: absolute;
    left: 0;
    color: rgba(127, 184, 230, 0.72);
    font-family: var(--font-display);
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.06em;
  }

  .home-page:not(.site-shell) .mobile-menu__list > li > a,
.home-page:not(.site-shell) .mobile-menu__row > a{
    min-width: 0;
    color: #fff;
    font-family: var(--font-display);
    font-weight: 500;
    letter-spacing: -0.035em;
    line-height: 1.18;
    text-transform: none;
  }

  .home-page:not(.site-shell) .mobile-menu__pm{
    position: absolute;
    right: 0;
    color: #fff;
  }

  .home-page:not(.site-shell) .mobile-menu__pm .nav-pm{
  }

  .home-page:not(.site-shell) .mobile-menu__sub{
    gap: 0;
    padding: 0 0 18px 34px;
  }

  .home-page:not(.site-shell) .mobile-menu__sub a{
    padding: 8px 0;
    border-left: 0;
    color: rgba(255, 255, 255, 0.64);
    font-size: 0.92rem;
    letter-spacing: 0.02em;
    text-transform: none;
  }

  .home-page:not(.site-shell) .mobile-menu__list a:hover,
.home-page:not(.site-shell) .mobile-menu__list a:focus-visible{
    color: #7fb8e6;
  }

  .home-page:not(.site-shell) .mobile-menu__footer .btn{
    --btn-bg: #fff;
    --btn-fg: #07131d;
    --btn-border: #fff;
    --btn-fill: #7fb8e6;
  }

  .home-page:not(.site-shell) .mobile-menu__footer .btn__icon{
  }

  .home-page:not(.site-shell) .mobile-menu__contact,
.home-page:not(.site-shell) .mobile-menu__contact a{
    color: rgba(255, 255, 255, 0.66);
  }

  /* Hero: a complete mobile opening frame */
  .home-page .hero-scroll-scene,
  .home-page .hero-scroll-sticky {
    height: auto;
  }

  .home-page .hero-scroll-sticky {
    position: relative;
  }

  .home-page .hero {
    display: block;
    position: relative;
    min-height: max(760px, 100svh);
    padding-top: 0;
    background: #eaf0f3;
  }

  .home-page .hero__stage {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
  }

  .home-page .hero__media {
    inset: 0;
  }

  .home-page .hero__media img {
    object-position: 52% 100%;
    transform: scale(1.035);
    animation: rt-hero-image 1400ms var(--rt-ease) both;
  }

  .home-page .hero__panel {
    position: relative;
    inset: auto;
    z-index: 3;
    min-height: max(760px, 100svh);
    background: transparent;
  }

  .home-page .hero__panel::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    width: 100%;
    background: linear-gradient(
      180deg,
      rgba(7, 19, 29, 0.9) 0%,
      rgba(7, 19, 29, 0.76) 42%,
      rgba(7, 19, 29, 0.38) 66%,
      rgba(7, 19, 29, 0.08) 86%,
      transparent 100%
    );
  }

  .home-page .hero__content {
    width: calc(100% - 2 * var(--rt-edge));
    margin: 0 auto;
    padding-top: calc(68px + clamp(30px, 8vw, 48px));
    padding-bottom: clamp(300px, 78vw, 430px);
  }

  .home-page .hero .eyebrow {
    display: block;
    max-width: 29rem;
    margin-bottom: 16px;
    font-size: 0.64rem;
    letter-spacing: 0.135em;
    line-height: 1.4;
  }

  .home-page .hero .eyebrow .hero__mark {
    display: inline-block;
    margin-right: 10px;
    vertical-align: -2px;
  }

  .home-page .hero__title {
    max-width: 11ch;
    margin-bottom: 18px;
    font-size: clamp(2.2rem, 10vw, 3.15rem);
    letter-spacing: -0.052em;
    line-height: 0.99;
    text-wrap: balance;
  }

  .home-page .hero__line,
  .home-page .hero__line > span {
    display: inline;
    overflow: visible;
    white-space: normal;
  }

  .home-page .hero__line:first-child {
    display: block;
  }

  .home-page .hero__line:first-child::after {
    content: none;
  }

  .home-page .hero__line:nth-child(2)::after {
    content: " ";
  }

  .home-page .hero__lead {
    display: block;
    width: 100%;
    max-width: 31rem;
    margin-bottom: 22px;
    font-size: 0.98rem;
    line-height: 1.55;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .home-page .hero__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    max-width: 30rem;
  }

  .home-page .hero-spots {
    display: none;
  }

  /* Rokmob product family cards */
  .home-page .product-lines {
    padding-block: var(--rt-section);
  }

  .home-page .product-lines__head {
    margin-bottom: 34px;
  }

  .home-page .product-lines__meta {
    display: grid;
    gap: 16px;
  }

  .home-page .product-lines__meta .btn {
    width: fit-content;
    min-height: 44px;
  }

  .home-page .product-lines__title-row {
    display: grid;
    gap: 20px;
  }

  .home-page .product-grid,
  .home-page .category-grid {
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: none;
    grid-auto-columns: var(--touch-product-card-width);
    gap: var(--product-strip-gap, 12px);
    margin-inline: var(--product-strip-margin, 0);
    padding-inline: var(--product-strip-padding, var(--rt-edge));
    padding-bottom: 20px;
    overflow-x: auto;
    scroll-padding-inline: var(--product-strip-scroll-padding, var(--rt-edge));
    scroll-snap-type: x mandatory;
  }

  .home-page .product-grid > li {
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .home-page .product-card {
    aspect-ratio: 0.78;
  }

  .home-page .product-card__media img {
    transform: scale(1.01);
  }

  .home-page .product-card__reveal {
    grid-template-rows: 1fr;
  }

  .home-page .product-card__text {
    margin-top: 8px;
    opacity: 1;
    transform: none;
  }

  /* Rokmob story: retain the editorial image and make benefits tactile */
  .home-page .rokmob-story__visual {
    aspect-ratio: var(--mobile-rokmob-story-ratio, 4 / 5);
  }

  .home-page .rokmob-story__frame[data-frame="0"] {
    object-position: 51% 50%;
  }

  .home-page .rokmob-story__logo {
    width: min(240px, 64vw);
    margin: -42px var(--rt-edge) 0;
    position: relative;
    z-index: 2;
    filter: drop-shadow(0 10px 24px rgba(7, 19, 29, 0.13));
  }

  .home-page .rokmob-story__copy {
    padding: 38px var(--rt-edge) 76px;
  }

  .home-page .rokmob-story .benefit-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin-top: 36px;
    border-top: 1px solid var(--line);
  }

  .home-page .rokmob-story .benefit-list__item {
    display: grid;
    align-content: start;
    gap: 12px;
    min-height: 142px;
    padding: 22px 14px 20px 0;
    border-bottom: 1px solid var(--line);
    font-size: 1rem;
  }

  .home-page .rokmob-story .benefit-list__item:nth-child(even) {
    padding-left: 16px;
    border-left: 1px solid var(--line);
  }

  .home-page .rokmob-story .benefit-list__row {
    display: grid;
    gap: 12px;
  }

  .home-page .rokmob-story .benefit-list__item .icon {
    width: 30px;
    height: 30px;
    color: var(--nashorn-blue);
  }

  .home-page .rokmob-story__statement {
    min-height: 430px;
    margin: 0;
    padding: var(--rt-edge);
    align-items: flex-end;
  }

  .home-page .rokmob-story__statement span {
    max-width: 10em;
    padding: 18px 20px;
    font-size: clamp(1.7rem, 8vw, 2.35rem);
    text-align: left;
  }

  .home-page .rokmob-sortiment {
    width: 100%;
    padding-block: 30px 80px;
  }

  .home-page .rokmob-sortiment__intro {
    padding: 36px var(--rt-edge) 24px;
  }

  .home-page .rokmob-story .category-card {
    min-height: 420px;
  }

  .home-page .rokmob-story .category-card__text {
    max-height: 5.5em;
    margin-top: 8px;
    opacity: 1;
    transform: none;
  }

  /* Featured chair: generous media, compact feature grid */
  .home-page .fb01-story {
    margin-bottom: 0;
    box-shadow: none;
  }

  .home-page .fb01-story__film {
    aspect-ratio: 4 / 5;
  }

  .home-page .fb01-story .fb01-story__poster,
  .home-page .fb01-story .featured__media video {
    transform: scale(1.02);
  }

  .home-page .fb01-story__intro {
    padding-block: 58px 34px;
  }

  .home-page .fb01-story__cta {
    width: auto;
    min-height: 42px;
  }

  .home-page .fb01-story .featured__media > .fb01-story__close,
  .home-page .fb01-story__panel {
    width: calc(100% - 2 * var(--rt-edge));
    aspect-ratio: 4 / 3;
  }

  .home-page .fb01-story__features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: calc(100% - 2 * var(--rt-edge));
    gap: 0;
    margin-top: 42px;
    border-top: 1px solid var(--line);
  }

  .home-page .fb01-story__feat {
    min-height: 166px;
    padding: 24px 14px 22px 0;
    border-bottom: 1px solid var(--line);
  }

  .home-page .fb01-story__feat:nth-child(even) {
    padding-left: 16px;
    border-left: 1px solid var(--line);
  }

  .home-page .fb01-story__icon {
    width: 34px;
    height: 34px;
  }

  .home-page .fb01-story__primary,
  .home-page .fb01-story__feat--rock .fb01-story__primary,
  .home-page .fb01-story__feat--care .fb01-story__primary {
    font-size: clamp(1.15rem, 5.5vw, 1.55rem);
    white-space: normal;
  }

  .home-page .fb01-story__desc {
    font-size: 0.88rem;
  }

  /* Applications remain photographic and become a measured vertical stack */
  .home-page .applications__head {
    margin-bottom: 34px;
  }

  .home-page .application-grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: var(--touch-app-card-height);
    position: relative;
    width: 100%;
    height: auto;
    min-height: 0;
    container-type: normal;
    gap: 12px;
  }

  .home-page .application-grid > li,
  .home-page .application-grid > li:nth-child(n) {
    position: relative;
    inset: auto;
    z-index: auto;
    width: auto;
    height: 100%;
    pointer-events: auto;
    container-type: normal;
  }

  .home-page .application-grid > li:nth-child(n) .application-card {
    height: 100%;
    clip-path: none;
  }

  .home-page .application-card__body {
    background: linear-gradient(to top, rgba(7, 19, 29, 0.88), transparent 72%);
  }

  /* Engineering: seven desktop chapters become one horizontal mobile rail */
  .home-page .engineering.engineering-story {
    padding-block: var(--rt-section);
  }

  .home-page .engineering-story .engineering__inner {
    display: block;
    grid-template-columns: none;
    align-items: stretch;
    width: 100%;
    gap: 42px;
  }

  .home-page .engineering__content {
    width: calc(100% - 2 * var(--rt-edge));
    margin-inline: auto;
  }

  .home-page .engineering-story__visual {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(88vw, 370px);
    gap: 12px;
    padding: 0 var(--rt-edge) 18px;
    overflow-x: auto;
    scroll-padding-inline: var(--rt-edge);
    scroll-snap-type: x mandatory;
  }

  .home-page .engineering-story__state,
  .home-page .engineering-story__state.is-active {
    min-height: min(136vw, 560px);
    scroll-snap-align: center;
  }

  .home-page .engineering-story__media {
    inset: 36px 12px 106px;
  }

  .home-page .engineering__cta {
    width: auto;
  }

  /* Showroom, about, news and final conversion */
  .home-page .showroom__sticky {
    padding-bottom: 0;
  }

  .home-page .showroom__content {
    padding-block: var(--rt-section) 44px;
  }

  .home-page .showroom__copy {
    max-width: none;
  }

  .home-page .showroom__photo {
    height: min(84vw, 390px);
  }

  .home-page .showroom__map {
    position: relative;
    right: auto;
    bottom: auto;
    width: min(78vw, 340px);
    margin: -54px -20px 0 auto;
    opacity: 0.9;
  }

  .home-page .about__inner {
    width: 100%;
    padding-block: var(--rt-section);
  }

  .home-page .about__copy > :not(.about__mark),
  .home-page .about__cta {
    margin-inline: var(--rt-edge);
  }

  .home-page .about__board {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 42px;
  }

  .home-page .about__board .about__tile {
    min-height: 176px;
    padding: 22px 16px;
    background: #fff;
  }

  .home-page .about__board .about__tile:nth-child(2) {
    border-left: 1px solid var(--line);
  }

  .home-page .about__board .about__tile:nth-child(3) {
    grid-column: 1 / -1;
    border-top: 1px solid var(--line);
  }

  .home-page .about .about__cta.engineering__cta {
    margin-top: 28px;
  }

  .home-page .news__stage {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(84vw, 350px);
    gap: 12px;
    margin-inline: calc(var(--rt-edge) * -1);
    padding: 0 var(--rt-edge) 18px;
    overflow-x: auto;
    scroll-padding-inline: var(--rt-edge);
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .home-page .news__stage::-webkit-scrollbar {
    display: none;
  }

  .home-page .news-card {
    scroll-snap-align: start;
  }

  .home-page .cta {
    min-height: min(860px, 110svh);
  }

  .home-page .cta__media::after {
    background: linear-gradient(180deg, rgba(7, 19, 29, 0.3), rgba(7, 19, 29, 0.92) 68%, #07131d);
  }

  .home-page .cta__inner {
    min-height: inherit;
    display: flex;
    align-items: flex-end;
    padding-block: 88px max(72px, env(safe-area-inset-bottom));
  }

  .home-page .cta__content {
    width: 100%;
  }

  .home-page:not(.site-shell) .site-footer__grid{
    grid-template-columns: 1fr;
    gap: 0;
    padding-block: 52px 34px;
  }

  .home-page:not(.site-shell) .site-footer__brand,
.home-page:not(.site-shell) .site-footer__col,
.home-page:not(.site-shell) .site-footer__contact{
    padding-block: 24px;
    border-bottom: 1px solid var(--line-light);
  }

  .home-page:not(.site-shell) .mobile-menu__list > li:last-child > a{
    display: inline-flex;
    align-items: center;
    gap: 10px;
  }

  .home-page:not(.site-shell) .mobile-menu__list > li:last-child .icon{
  }

  .home-page .mobile-consultation-cta {
    position: fixed;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
    z-index: 56;
    display: inline-flex;
    align-items: center;
    gap: 13px;
    min-height: 48px;
    padding: 0 16px;
    color: #fff;
    background: var(--nashorn-blue);
    box-shadow: 0 10px 28px rgba(7, 19, 29, 0.18);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    transition: opacity 180ms ease, transform 180ms ease;
  }

  .home-page .mobile-consultation-cta .icon {
    width: 16px;
    height: 16px;
  }

  .home-page .mobile-consultation-cta > span {
    font-size: 0;
  }

  .home-page .mobile-consultation-cta > span::after {
    content: "Beratung";
    font-size: 0.69rem;
  }

  .home-page.is-locked .mobile-consultation-cta {
    opacity: 0;
    pointer-events: none;
    transform: translateY(10px);
  }

  .home-page.home-hero-visible .mobile-consultation-cta,
  .home-page.home-footer-contact-visible .mobile-consultation-cta {
    opacity: 0;
    pointer-events: none;
    transform: translateY(10px);
  }

  /* A deliberate 2 x 2 category mosaic, rather than another horizontal rail. */
  .home-page .rokmob-story .category-grid {
    display: grid;
    grid-auto-flow: row;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: calc(100% - 2 * var(--rt-edge));
    margin-inline: auto;
    padding: 0;
    overflow: visible;
    gap: 10px;
    scroll-snap-type: none;
  }

  .home-page .rokmob-story .category-card {
    min-height: 228px;
  }

  .home-page .rokmob-story .category-card__body {
    padding: 16px;
  }

  .home-page .rokmob-story .category-card__title {
    font-size: clamp(1rem, 5vw, 1.28rem);
  }

  /* The ambient Rokmob material becomes a touch-led visual sequence. */
  .home-page .rokmob-story__reel {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .home-page .rokmob-story__reel::-webkit-scrollbar {
    display: none;
  }

  .home-page .rokmob-story__frame,
  .home-page .rokmob-story__frame:not(:first-child) {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    scroll-snap-align: start;
  }

  /* One self-contained, user-controlled NH-FB01 media viewer. */
  .home-page .fb01-story .featured__media,
  .home-page .fb01-story__panel {
    display: none;
  }

  .home-page .fb01-mobile-media {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(84vw, 380px);
    gap: 12px;
    padding: 0 var(--rt-edge) 18px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .home-page .fb01-mobile-media::-webkit-scrollbar {
    display: none;
  }

  .home-page .fb01-mobile-media__item {
    min-height: 0;
    margin: 0;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    scroll-snap-align: start;
    background: #dce3e1;
  }

  .home-page .fb01-mobile-media img,
  .home-page .fb01-mobile-media video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .home-page .fb01-mobile-media video {
    background: #dce3e1;
  }

  .home-page .room-focus__hotspot {
    cursor: pointer;
  }

  .home-page .room-focus__hotspot-copy {
    display: none;
  }

  .home-page .room-focus__hotspot.is-open .room-focus__hotspot-copy {
    display: block;
  }

  /* A readable editorial news stack; the archive remains one tap away. */
  .home-page .news__stage {
    display: grid;
    grid-auto-flow: row;
    grid-template-columns: minmax(0, 1fr);
    margin: 0 var(--rt-edge);
    padding: 0;
    overflow: visible;
    scroll-snap-type: none;
  }

  .home-page .news__rail,
  .home-page .news__pair {
    display: contents;
  }

  .home-page .news-card {
    scroll-snap-align: none;
  }

  /* Touch Master component composition. */
  .home-page {
    --rt-edge: 22px;
    --rt-section: 60px;
    --space-section: 60px;
    --space-section-sm: 52px;
  }

  .home-page .container,
  .home-page .container--wide {
    width: calc(100% - (2 * var(--touch-inset)));
  }

  .home-page .section,
  .home-page .product-lines,
  .home-page .applications,
  .home-page .engineering.engineering-story,
  .home-page .news {
    padding-block: 60px;
  }

  .home-page .h2,
  .home-page .h2--md,
  .home-page .news__head .h2 {
    font-size: clamp(2rem, 8.6vw, 2.55rem);
    line-height: 1.04;
    letter-spacing: -0.042em;
  }

  .home-page .eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
    font-size: var(--mobile-eyebrow-size, 0.68rem);
    line-height: 1.35;
    letter-spacing: 0.13em;
  }

  .home-page .eyebrow::before {
    content: "";
    display: block;
    flex: none;
    width: 1.5px;
    height: 13px;
    margin-left: 3px;
    background: currentColor;
    opacity: 0.85;
    transform: rotate(-32deg);
  }

  /* Hero: common touch content grid, dark opening and a clear lower image. */
  .home-page .hero {
    min-height: max(800px, 100svh);
    background: #07131d;
  }

  .home-page .hero__stage {
    background: #07131d;
  }

  .home-page .hero__media {
    top: 43%;
    bottom: 0;
    height: 57%;
  }

  .home-page .hero__media picture > img {
    object-position: 57% 76%;
    transform: scale(1.015);
  }

  .home-page .hero__veil,
  .home-page .hero__veil-focus,
  .home-page .hero__veil-keep {
    opacity: 0;
    background: none;
  }

  .home-page .hero__panel {
    min-height: max(800px, 100svh);
  }

  .home-page .hero__panel::before {
    z-index: -1;
    background: linear-gradient(
      180deg,
      #07131d 0%,
      #07131d 39%,
      rgba(7, 19, 29, 0.96) 48%,
      rgba(7, 19, 29, 0.72) 61%,
      rgba(7, 19, 29, 0.28) 77%,
      rgba(7, 19, 29, 0.05) 100%
    );
  }

  .home-page .hero__content {
    width: calc(100% - (2 * var(--touch-inset)));
    padding-top: calc(68px + 34px);
    padding-right: 0;
    padding-bottom: 245px;
    padding-left: 0;
  }

  .home-page .hero .eyebrow {
    display: block;
    max-width: 100%;
    margin-bottom: 16px;
    font-size: var(--mobile-eyebrow-size, 0.63rem);
    white-space: normal;
  }

  .home-page .hero .eyebrow::before {
    content: none;
  }

  .home-page .hero .eyebrow .hero__mark {
    display: inline-block;
    margin-right: 10px;
    vertical-align: -2px;
  }

  .home-page .hero__title {
    max-width: 10ch;
    font-size: clamp(2.75rem, 12vw, 3.3rem);
    line-height: 0.98;
  }

  .home-page .hero__lead {
    max-width: 34rem;
    margin-bottom: 20px;
    font-size: 0.94rem;
    line-height: 1.48;
    overflow-wrap: normal;
  }

  .home-page .hero__actions {
    gap: 8px;
  }

  .home-page .hero__actions .btn {
    min-height: 54px;
  }

  /* Eyebrow/action rows */
  .home-page .product-lines__head {
    margin-bottom: 28px;
  }

  .home-page .product-lines__meta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    margin-bottom: 18px;
  }

  .home-page .product-lines__meta .eyebrow {
    margin-bottom: 0;
  }

  .home-page .product-lines__meta .btn {
    width: auto;
    min-height: 0;
    padding: 0 0 3px;
    border: 0;
    border-bottom: 1px solid rgba(1, 73, 142, 0.42);
    background: transparent;
    color: var(--nashorn-blue);
    font-size: 0.69rem;
    letter-spacing: 0.09em;
  }

  .home-page .product-lines__meta .btn__in,
  .home-page .product-lines__meta .btn__out {
    display: none;
  }

  .home-page .product-lines__title-row {
    gap: 14px;
  }

  /* Shared lightweight slider navigation */
  .home-page .mobile-slider-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: calc(100% - (2 * var(--touch-inset)));
    margin: 12px auto 0;
  }

  .home-page .mobile-slider-nav__button {
    display: grid;
    width: 42px;
    height: 42px;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(12, 26, 41, 0.18);
    border-radius: 0;
    color: var(--navy-900);
    background: rgba(255, 255, 255, 0.74);
    font: 500 1.05rem/1 var(--font-ui);
    transition: opacity 180ms ease, background 180ms ease;
  }

  .home-page .mobile-slider-nav__button:disabled {
    opacity: 0.3;
  }

  .home-page .mobile-slider-nav__status {
    color: rgba(12, 26, 41, 0.64);
    font: 600 0.7rem/1 var(--font-ui);
    letter-spacing: 0.12em;
  }

  .home-page .mobile-slider-nav__dots {
    display: flex;
    gap: 7px;
  }

  .home-page .mobile-slider-nav__dots i {
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(12, 26, 41, 0.22);
    transition: width 220ms ease, border-radius 220ms ease, background 220ms ease;
  }

  .home-page .mobile-slider-nav__dots i.is-active {
    width: 22px;
    border-radius: 10px;
    background: var(--nashorn-blue);
  }

  /* Sicherheit story: all six desktop frames are swipeable. */
  .home-page .rokmob-story__visual {
    aspect-ratio: var(--mobile-rokmob-story-ratio, 4 / 5);
  }

  .home-page .rokmob-story__visual > .mobile-slider-nav {
    position: absolute;
    right: 16px;
    bottom: 16px;
    left: 16px;
    z-index: 4;
    width: auto;
    margin: 0;
  }

  .home-page .rokmob-story__visual > .mobile-slider-nav__button,
  .home-page .rokmob-story__visual .mobile-slider-nav__button {
    border-color: rgba(255, 255, 255, 0.34);
    color: #fff;
    background: rgba(7, 19, 29, 0.66);
    backdrop-filter: blur(8px);
  }

  .home-page .rokmob-story__visual .mobile-slider-nav__dots i {
    background: rgba(255, 255, 255, 0.46);
  }

  .home-page .rokmob-story__visual .mobile-slider-nav__dots i.is-active {
    background: #fff;
  }

  .home-page .rokmob-story__logo {
    margin-top: -34px;
  }

  .home-page .rokmob-story__copy {
    padding: 34px var(--touch-inset) 58px;
  }

  .home-page .rokmob-story .benefit-list {
    margin-top: 28px;
  }

  .home-page .rokmob-story__statement {
    min-height: 360px;
  }

  .home-page .rokmob-story__statement span {
    font-size: clamp(1.35rem, 6vw, 1.75rem);
  }

  /* Sortiment remains 2 x 2, without mobile descriptions. */
  .home-page .rokmob-sortiment {
    padding-block: 24px 60px;
  }

  .home-page .rokmob-sortiment__intro {
    padding: 28px var(--touch-inset) 22px;
  }

  .home-page .rokmob-story .category-card {
    min-height: 220px;
  }

  .home-page .rokmob-story .category-card__text {
    display: none;
  }

  .home-page .rokmob-story .category-card__body {
    padding: 44px 14px 14px;
  }

  .home-page .rokmob-story .category-card__title {
    font-size: clamp(0.92rem, 4.4vw, 1.14rem);
  }

  /* NH-FB01: full-width autoplay video, then a separate image gallery. */
  .home-page .fb01-story__intro {
    padding-block: 56px 28px;
  }

  .home-page .fb01-mobile-stack {
    display: block;
    width: calc(100% - (2 * var(--touch-inset)));
    margin-inline: auto;
  }

  .home-page .fb01-mobile-video {
    position: relative;
    width: 100%;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    background: #dce3e1;
  }

  .home-page .fb01-mobile-video video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .home-page .fb01-mobile-play {
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    width: 74px;
    height: 74px;
    padding: 0 0 0 4px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 50%;
    color: #fff;
    background: rgba(7, 19, 29, 0.68);
    font-size: 1.35rem;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -50%);
    transition: opacity 180ms ease;
  }

  .home-page .fb01-mobile-play.is-visible {
    opacity: 1;
    pointer-events: auto;
  }

  .home-page .fb01-mobile-gallery {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 100%;
    gap: 10px;
    margin-top: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .home-page .fb01-mobile-gallery::-webkit-scrollbar {
    display: none;
  }

  .home-page .fb01-mobile-gallery__item {
    margin: 0;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    scroll-snap-align: start;
    background: #dce3e1;
  }

  .home-page .fb01-mobile-gallery__item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .home-page .fb01-mobile-stack > .mobile-slider-nav {
    width: 100%;
    margin-top: 10px;
  }

  .home-page .fb01-story__features {
    margin-top: 34px;
  }

  /* Zimmermöbel: same room source, one crop and tap-hotspots per card. */
  .home-page .room-focus__camera,
  .home-page .room-focus__states {
    display: none;
  }

  .home-page .room-focus__overlay {
    width: 100%;
    max-width: none;
    padding: 0 0 60px;
  }

  .home-page .room-focus__intro {
    width: calc(100% - (2 * var(--touch-inset)));
    margin-inline: auto;
    padding: 56px 0 28px;
  }

  .home-page .room-focus__intro .h2 {
    max-width: 12ch;
  }

  .home-page .room-mobile-gallery {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(88vw, 370px);
    gap: 12px;
    padding: 0 var(--touch-inset) 2px;
    overflow-x: auto;
    scroll-padding-inline: var(--touch-inset);
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .home-page .room-mobile-gallery + .mobile-slider-nav {
    display: flex;
  }

  .home-page .room-mobile-gallery::-webkit-scrollbar {
    display: none;
  }

  .home-page .room-mobile-card {
    margin: 0;
    overflow: hidden;
    scroll-snap-align: start;
    background: #fff;
  }

  .home-page .room-mobile-card__media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #dce3e1;
  }

  .home-page .room-mobile-card__media > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(2.35);
  }

  .home-page .room-mobile-card--bed .room-mobile-card__media > img { object-position: left bottom; transform: scale(2.55); transform-origin: 18% 82%; }
  .home-page .room-mobile-card--nightstand .room-mobile-card__media > img { object-position: 45% bottom; transform: scale(3.1); transform-origin: 45% 82%; }
  .home-page .room-mobile-card--desk .room-mobile-card__media > img { object-position: 72% bottom; transform: scale(2.7); transform-origin: 72% 80%; }
  .home-page .room-mobile-card--shelf .room-mobile-card__media > img { object-position: right top; transform: scale(2.75); transform-origin: 90% 38%; }

  .home-page .room-mobile-card .room-focus__hotspot,
  .home-page .room-mobile-card .room-focus__hotspot--reverse,
  .home-page .room-mobile-card .room-focus__hotspot--vertical {
    position: absolute;
    top: var(--mobile-y);
    left: var(--mobile-x);
    z-index: 3;
    display: block;
    width: 44px;
    height: 44px;
    color: var(--nashorn-blue);
    opacity: 1;
    translate: -50% -50%;
    transform: none;
  }

  .home-page .room-mobile-card .room-focus__anchor,
  .home-page .room-mobile-card .room-focus__hotspot--reverse .room-focus__anchor,
  .home-page .room-mobile-card .room-focus__hotspot--vertical .room-focus__anchor {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 14px;
    height: 14px;
    margin: 0;
    translate: -50% -50%;
  }

  .home-page .room-mobile-card .room-focus__line {
    display: none;
  }

  .home-page .room-mobile-card .room-focus__hotspot-copy,
  .home-page .room-mobile-card .room-focus__hotspot--reverse .room-focus__hotspot-copy,
  .home-page .room-mobile-card .room-focus__hotspot--vertical .room-focus__hotspot-copy {
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    display: none;
    width: min(208px, 58vw);
    max-width: none;
    padding: 11px 13px;
    color: var(--navy-900);
    text-align: left;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 10px 28px rgba(7, 19, 29, 0.14);
    transform: translateX(-50%);
  }

  .home-page .room-mobile-card .room-focus__hotspot-copy p {
    font-size: 0.76rem;
    line-height: 1.4;
  }

  .home-page .room-mobile-card .room-focus__hotspot.is-open {
    z-index: 5;
  }

  .home-page .room-mobile-card .room-focus__hotspot.is-open .room-focus__hotspot-copy {
    display: block;
  }

  .home-page .room-mobile-card__meta {
    display: grid;
    gap: 5px;
    padding: 18px;
    color: var(--navy-900);
    text-align: left;
  }

  .home-page .room-mobile-card__meta span {
    font-family: var(--font-heading);
    font-size: 1.28rem;
    font-weight: 600;
    letter-spacing: -0.02em;
  }

  .home-page .room-mobile-card__meta strong {
    color: var(--nashorn-blue);
    font: 600 0.72rem/1.2 var(--font-ui);
    letter-spacing: 0.11em;
  }

  /* Einsatzbereiche: compact landscape cards, no mobile descriptions. */
  .home-page .applications__head {
    margin-bottom: 26px;
  }

  .home-page .applications__head .section-head__text {
    display: none;
  }

  .home-page .application-grid {
    gap: 10px;
  }

  .home-page .application-grid > li,
  .home-page .application-grid > li:nth-child(n) {
    height: 100%;
  }

  .home-page .application-card__text {
    display: none;
  }

  .home-page .application-card__body {
    padding: 20px var(--touch-inset);
    background: linear-gradient(to top, rgba(7, 19, 29, 0.92), rgba(7, 19, 29, 0.08) 82%);
  }

  .home-page .application-card__title {
    max-width: 75%;
    font-size: 1.2rem;
  }

  .home-page .application-card__icon {
    width: 28px;
    height: 28px;
  }

  /* Durchdacht: fuller product stage, restrained hotspot chrome. */
  .home-page .engineering-story .engineering__inner {
    gap: 30px;
  }

  .home-page .engineering-story__visual {
    grid-auto-columns: min(90vw, 380px);
    padding-inline: 22px;
  }

  .home-page .engineering-story__state,
  .home-page .engineering-story__state.is-active {
    min-height: 500px;
  }

  .home-page .engineering-story__media {
    inset: 18px 6px 94px;
  }

  .home-page .engineering-story__hotspots .hotspots__product,
  .home-page .engineering-story__hotspots--cl02 .hotspots__product,
  .home-page .engineering-story__hotspots--mattress .hotspots__product,
  .home-page .engineering-story__hotspots--chair .hotspots__product {
    width: min(96%, 570px);
  }

  .home-page .engineering-story__hotspots .hotspot-marker {
    width: 38px;
    height: 38px;
  }

  .home-page .engineering-story__product {
    right: 16px;
    bottom: 16px;
    left: 16px;
    padding-top: 12px;
  }

  .home-page .engineering-story__visual + .mobile-slider-nav {
    margin-top: 12px;
  }

  /* Showroom and About */
  .home-page .showroom__content {
    padding-block: 56px 34px;
  }

  .home-page .showroom__photo {
    height: 270px;
  }

  .home-page .showroom__map {
    display: none;
  }

  .home-page .about__inner {
    padding-block: 60px;
  }

  .home-page .about__board {
    grid-template-columns: 1fr;
    gap: 1px;
    margin: 32px 22px 0;
    background: var(--line);
  }

  .home-page .about__board .about__tile,
  .home-page .about__board .about__tile:nth-child(2),
  .home-page .about__board .about__tile:nth-child(3) {
    grid-column: auto;
    min-height: 0;
    padding: 24px 22px;
    border: 0;
  }

  .home-page .about__board .about__photo {
    display: none;
  }

  /* Aktuelles: desktop-style eyebrow plus visible archive route. */
  .home-page .news__head {
    position: relative;
    margin-bottom: 26px;
  }

  .home-page .news__intro .eyebrow {
    padding-right: 96px;
  }

  .home-page .news__all {
    position: absolute;
    top: 0;
    right: 0;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding-bottom: 3px;
    color: var(--nashorn-blue);
    border-bottom: 1px solid rgba(1, 73, 142, 0.42);
    font: 600 0.69rem/1.25 var(--font-ui);
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .home-page .news__all span {
    font-size: 0;
  }

  .home-page .news__all span::after {
    content: "Alle News";
    font-size: 0.69rem;
  }

  .home-page .news__all .icon {
    width: 14px;
    height: 14px;
  }

  .home-page .news__stage {
    gap: 14px;
    margin: 0;
  }

  /* Final CTA: same rhythm, no empty mobile viewport. */
  .home-page .cta {
    min-height: 570px;
  }

  .home-page .cta__inner {
    min-height: 570px;
    align-items: flex-end;
    padding-block: 58px max(58px, env(safe-area-inset-bottom));
  }

  .home-page .cta__content .h2 {
    font-size: clamp(2rem, 8.6vw, 2.55rem);
  }

  .home-page:not(.site-shell) .site-footer__grid{
    padding-block: 44px 28px;
  }

  /* Hero: portrait room image behaves as one full-width background layer. */
  .home-page .hero__media {
    inset: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    overflow: hidden;
    background-color: #07131d;
    background-image: var(--home-hero-portrait);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100% auto;
  }

  .home-page .hero__media picture,
  .home-page .hero__media picture > img {
    visibility: hidden;
  }

  .home-page .hero__media picture > img {
    transform: none;
    animation: none;
  }

  .home-page .hero__panel::before {
    background: linear-gradient(180deg, #07131d 0%, #07131d 22%, rgba(7, 19, 29, 0.97) 38%, rgba(7, 19, 29, 0.72) 56%, rgba(7, 19, 29, 0.24) 72%, transparent 88%);
  }

  .home-page .hero__title {
    max-width: none;
    font-size: clamp(2.25rem, 9.7vw, 2.55rem);
  }

  /* One line-based caret component for every mobile carousel. */
  .home-page .mobile-slider-nav__button {
    position: relative;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--navy-900);
    font-size: 0;
    touch-action: manipulation;
  }

  .home-page .mobile-slider-nav__button::before {
    content: "";
    display: block;
    width: 11px;
    height: 11px;
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
  }

  .home-page .mobile-slider-nav__button--prev::before { transform: rotate(-135deg); }
  .home-page .mobile-slider-nav__button--next::before { transform: rotate(45deg); }

  .home-page .mobile-slider-nav--counter {
    width: calc(100% - (2 * var(--touch-inset)));
    max-width: 430px;
    margin-top: 14px;
  }

  .home-page .mobile-slider-nav--counter .mobile-slider-nav__status {
    font-size: 0.78rem;
    font-variant-numeric: tabular-nums;
  }

  .home-page .mobile-slider-nav--overlay {
    position: absolute;
    inset: 0;
    z-index: 5;
    width: 100%;
    margin: 0;
    pointer-events: none;
  }

  .home-page .mobile-slider-nav--overlay .mobile-slider-nav__button {
    position: absolute;
    top: 50%;
    z-index: 2;
    color: #fff;
    background: transparent !important;
    backdrop-filter: none !important;
    filter: drop-shadow(0 1px 2px rgba(7, 19, 29, 0.7));
    pointer-events: auto;
    transform: translateY(-50%);
  }

  .home-page .mobile-slider-nav--overlay .mobile-slider-nav__button--prev { left: 5px; }
  .home-page .mobile-slider-nav--overlay .mobile-slider-nav__button--next { right: 5px; }

  .home-page .mobile-slider-nav--overlay .mobile-slider-nav__dots {
    position: absolute;
    right: 0;
    bottom: 34px;
    left: 0;
    justify-content: center;
  }

  .home-page .mobile-slider-nav--overlay .mobile-slider-nav__dots i {
    background: rgba(255, 255, 255, 0.56);
  }

  .home-page .mobile-slider-nav--overlay .mobile-slider-nav__dots i.is-active {
    background: #fff;
  }

  /* Sicherheit */
  .home-page .rokmob-story__visual > .mobile-slider-nav {
    inset: 0;
    width: 100%;
  }

  .home-page .rokmob-story__logo {
    margin-top: -20px;
  }

  .home-page .rokmob-story .benefit-list {
    width: 100%;
    max-width: none;
  }

  .home-page .rokmob-story .benefit-list__item .icon,
  .home-page .fb01-story__icon,
  .home-page .about .highlight-list__icon {
    width: 42px;
    height: 42px;
  }

  /* Sortiment keeps its 2 × 2 geometry and joins the 60px section rhythm. */
  .home-page .rokmob-sortiment {
    padding: 36px 0 0;
  }

  .home-page .rokmob-sortiment__intro {
    padding: 0 var(--touch-inset) 24px;
  }

  /* Compact, baseline-aligned mobile detail actions. */
  .home-page .cta-swap.btn--secondary,
  .home-page .fb01-story__cta.btn--secondary,
  .home-page .engineering__cta.btn--secondary,
  .home-page .about__cta.btn--secondary {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    width: auto;
    min-height: 44px;
    padding: 0 2px 4px 0;
  }

  .home-page .cta-swap.btn--secondary .btn__in,
  .home-page .fb01-story__cta.btn--secondary .btn__in,
  .home-page .engineering__cta.btn--secondary .btn__in,
  .home-page .about__cta.btn--secondary .btn__in {
    position: static;
    display: grid;
    order: 2;
    width: 18px;
    height: 18px;
    opacity: 1;
    transform: none;
  }

  .home-page .cta-swap.btn--secondary .btn__out,
  .home-page .fb01-story__cta.btn--secondary .btn__out,
  .home-page .engineering__cta.btn--secondary .btn__out,
  .home-page .about__cta.btn--secondary .btn__out {
    display: none;
  }

  .home-page .cta-swap.btn--secondary .btn__label,
  .home-page .fb01-story__cta.btn--secondary .btn__label,
  .home-page .engineering__cta.btn--secondary .btn__label,
  .home-page .about__cta.btn--secondary .btn__label {
    order: 1;
    transform: none;
  }

  /* NH-FB01 */
  .home-page .fb01-story__intro {
    padding-top: 0;
  }

  .home-page .fb01-story__intro .eyebrow::before {
    content: none;
  }

  .home-page .fb01-mobile-gallery-shell {
    position: relative;
    margin-top: 12px;
  }

  .home-page .fb01-mobile-gallery {
    margin-top: 0;
  }

  .home-page .fb01-mobile-gallery-shell > .mobile-slider-nav {
    inset: 0;
  }

  .home-page .fb01-mobile-gallery-shell .mobile-slider-nav__dots {
    bottom: 16px;
  }

  /* Zimmermöbel square markers and shared chapter navigation. */
  .home-page .room-mobile-card .room-focus__anchor,
  .home-page .room-mobile-card .room-focus__hotspot--reverse .room-focus__anchor,
  .home-page .room-mobile-card .room-focus__hotspot--vertical .room-focus__anchor {
    width: 16px;
    height: 16px;
    background: var(--nashorn-blue);
  }

  .home-page .room-mobile-card .room-focus__anchor::before {
    top: 50%;
    left: 50%;
    width: 5px;
    height: 5px;
    background: #fff;
    transform: translate(-50%, -50%);
  }

  .home-page .room-mobile-card .room-focus__anchor::after {
    inset: 0;
    border-radius: 0;
    animation: rt-square-pulse 1.9s ease-out infinite;
  }

  /* Einsatzbereiche */
  .home-page .applications {
    padding-bottom: 0;
  }

  .home-page .application-grid {
    gap: 0;
    padding-bottom: 0;
    margin-bottom: 0;
  }

  .home-page .application-card__icon {
    width: 38px;
    height: 38px;
  }

  /* Durchdacht: one stable, full-height mobile product chapter. */
  .home-page .engineering-story .engineering__inner {
    width: 100%;
  }

  .home-page .engineering-story__visual {
    grid-auto-columns: 100vw;
    gap: 0;
    padding-inline: 0;
    scroll-padding-inline: 0;
  }

  .home-page .engineering-story__state,
  .home-page .engineering-story__state.is-active {
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 0;
    max-height: none;
    padding: 0 0 18px;
    background: #fff;
    scroll-snap-align: start;
  }

  .home-page .engineering-mobile-detail {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 0 0 clamp(150px, 20svh, 188px);
    min-height: 150px;
    padding: 24px var(--touch-inset) 18px;
    color: var(--navy-900);
  }

  .home-page .engineering-mobile-detail .hotspot-label__icon {
    flex: 0 0 38px;
    color: var(--nashorn-blue);
    background: transparent;
    border: 0;
    border-radius: 0;
  }

  .home-page .engineering-mobile-detail .hotspot-label__title {
    font-family: var(--font-heading);
    font-size: 1.08rem;
    line-height: 1.25;
  }

  .home-page .engineering-mobile-detail .hotspot-label__text {
    font-size: 0.84rem;
    line-height: 1.45;
  }

  .home-page .engineering-mobile-detail__features {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 20px;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .home-page .engineering-mobile-detail__features li {
    position: relative;
    padding-left: 13px;
    font-family: var(--font-heading);
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.35;
  }

  .home-page .engineering-mobile-detail__features li::before {
    content: "";
    position: absolute;
    top: 0.48em;
    left: 0;
    width: 5px;
    height: 5px;
    background: var(--nashorn-blue);
  }

  .home-page .engineering-story__media {
    position: relative;
    inset: auto;
    flex: none;
    width: 100%;
    height: clamp(300px, 42svh, 390px);
    padding: 16px var(--touch-inset);
    background: #fff;
    overflow: hidden;
  }

  .home-page .engineering-story__media > img,
  .home-page .engineering-story__cabinet-loop,
  .home-page .engineering-story__cabinet-loop img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }

  .home-page .engineering-story__hotspots .hotspots__stage {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
  }

  .home-page .engineering-story__hotspots .hotspots__product,
  .home-page .engineering-story__hotspots--cl02 .hotspots__product,
  .home-page .engineering-story__hotspots--mattress .hotspots__product,
  .home-page .engineering-story__hotspots--chair .hotspots__product {
    width: min(100%, 570px);
    max-height: 100%;
  }

  .home-page .engineering-story__hotspots .hotspots__product img {
    width: 100%;
    max-height: calc(clamp(300px, 42svh, 390px) - 32px);
    object-fit: contain;
  }

  .home-page .engineering-story__hotspots .hotspot-labels,
  .home-page .engineering-story__hotspots .hotspot-lines {
    display: none;
  }

  .home-page .engineering-story__hotspots .hotspot {
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    border-radius: 0;
  }

  .home-page .engineering-story__hotspots .hotspot::before,
  .home-page .engineering-story__hotspots .hotspot::after {
    width: 13px;
    height: 13px;
    border-radius: 0;
  }

  .home-page .engineering-story__hotspots .hotspot::before {
    background: var(--nashorn-blue);
    border: 1px solid #fff;
    box-shadow: 0 0 0 2px rgba(1, 73, 142, 0.16);
  }

  .home-page .engineering-story__hotspots .hotspot::after {
    display: none;
  }

  .home-page .engineering-story__hotspots .hotspot.is-mobile-selected::before {
    transform: scale(1.28);
    background: var(--nashorn-blue);
  }

  .home-page .engineering-story__media--family {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .home-page .engineering-story__media--family figure {
    height: 100%;
  }

  .home-page .engineering-story__media--family img {
    height: 100%;
    aspect-ratio: auto;
    object-fit: contain;
  }

  .home-page .engineering-story__media--family figcaption {
    display: none;
  }

  .home-page .engineering-mobile-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 0 0 58px;
    width: 100%;
    padding: 0 12px;
  }

  .home-page .engineering-story__product,
  .home-page .engineering-story__state:is([data-engineering-state="4"], [data-engineering-state="5"]) .engineering-story__product {
    position: relative;
    inset: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    width: calc(100% - (2 * var(--touch-inset)));
    min-height: 64px;
    margin: 0 auto;
    padding: 17px 0 0;
    border-top: 1px solid rgba(13, 28, 39, 0.2);
  }

  .home-page .engineering-story__product p {
    font-size: 1.32rem;
  }

  .home-page .engineering-story__product h3 {
    max-width: none;
    text-align: right;
  }

  .home-page .engineering-story__media > .engineering-story__facts {
    display: none;
  }

  /* Über Nashorn: exact card/image checkerboard, edge to edge. */
  .home-page .about__board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, minmax(190px, auto));
    gap: 0;
    width: 100%;
    margin: 34px 0 0;
    background: transparent;
  }

  .home-page .about__board .about__tile,
  .home-page .about__board .about__tile:nth-child(2),
  .home-page .about__board .about__tile:nth-child(3) {
    grid-column: auto;
    min-height: 190px;
    padding: var(--touch-inset);
    border: 0;
  }

  .home-page .about__board .about__photo {
    position: relative;
    display: block;
    min-height: 190px;
    padding: 0;
    overflow: hidden;
  }

  .home-page .about__board .about__photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .home-page .about__board .about__tile--f1 { grid-column: 1; grid-row: 1; }
  .home-page .about__board .about__tile--i1 { grid-column: 2; grid-row: 1; }
  .home-page .about__board .about__tile--i2 { grid-column: 1; grid-row: 2; }
  .home-page .about__board .about__tile--f2 { grid-column: 2; grid-row: 2; background: #fff; }
  .home-page .about__board .about__tile--f3 { grid-column: 1; grid-row: 3; }
  .home-page .about__board .about__tile--i3 { grid-column: 2; grid-row: 3; }

  .home-page .about .highlight-list__item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    grid-template-columns: none;
    gap: 7px;
  }

  .home-page .about .highlight-list__icon {
    flex: none;
    grid-row: auto;
    margin: 0 0 8px;
  }

  .home-page .about .highlight-list__item strong {
    font-size: 0.92rem;
  }

  .home-page .about .highlight-list__item span {
    font-size: 0.74rem;
    line-height: 1.38;
  }

  /* Compact two-column footer, with brand/contact/legal spanning when useful. */
  .home-page:not(.site-shell) .site-footer__grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 24px;
  }

  .home-page:not(.site-shell) .site-footer__brand,
.home-page:not(.site-shell) .site-footer__contact{
    grid-column: 1 / -1;
  }

  .home-page:not(.site-shell) .site-footer__col{
    min-width: 0;
  }

  /* Full dynamic viewport menu and transform-led image subpanels. */
  .home-page:not(.site-shell) .mobile-menu{
    inset: 0;
    width: 100%;
    max-width: 100vw;
    box-sizing: border-box;
    height: 100vh;
    height: 100dvh;
    min-height: 100vh;
    min-height: 100dvh;
    padding: calc(68px + 24px + env(safe-area-inset-top)) var(--rt-edge) max(24px, env(safe-area-inset-bottom));
    overflow-x: hidden;
    overflow-y: auto;
    box-shadow: 0 32px 0 #07131d;
  }

  html.is-mobile-menu-open.legacy-home-menu,
html.is-mobile-menu-open.legacy-home-menu body{
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    overflow-x: hidden;
    overscroll-behavior: none;
  }

  .home-page:not(.site-shell) .mobile-menu__nav{
    width: 100%;
    min-width: 0;
    min-height: 0;
    overflow-x: clip;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .home-page:not(.site-shell) .mobile-menu__panel,
.home-page:not(.site-shell) .mobile-menu__panel[hidden]{
    position: fixed;
    inset: calc(68px + env(safe-area-inset-top)) 0 0;
    z-index: 3;
    width: 100vw;
    max-width: 100vw;
    box-sizing: border-box;
    display: grid;
    align-content: start;
    gap: 18px;
    padding: 18px var(--rt-edge) max(24px, env(safe-area-inset-bottom));
    overflow-x: hidden;
    overflow-y: auto;
    background: #07131d;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(100%, 0, 0);
    transition: transform 240ms cubic-bezier(.22, 1, .36, 1), opacity 220ms ease, visibility 0s linear 240ms;
  }

  .home-page:not(.site-shell) .mobile-menu__panel:not([hidden]){
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
    transition-delay: 0s;
  }

  .home-page:not(.site-shell) .mobile-menu__panel::before,
.home-page:not(.site-shell) .mobile-menu__panel > li::before{
    content: none;
  }

  .home-page:not(.site-shell) .mobile-menu__panel-head{
    border: 0;
  }

  .home-page:not(.site-shell) .mobile-menu__back{
    align-items: center;
    min-height: 44px;
    padding: 0;
    color: #fff;
    font-family: var(--font-ui);
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .home-page:not(.site-shell) .mobile-menu__back > span{
  }

  .home-page:not(.site-shell) .mobile-menu__back > span:first-child{
  }

  .home-page:not(.site-shell) .mobile-menu__panel-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    border: 0;
  }

  .home-page:not(.site-shell) .mobile-menu__panel-list{
    display: grid;
    gap: 10px;
    border: 0;
  }

  .home-page:not(.site-shell) .mobile-menu__sub .mobile-menu__image-link{
    position: relative;
    display: grid;
    min-height: 158px;
    padding: 0;
    overflow: hidden;
    border: 0;
    color: #fff;
    background: #142635;
  }

  .home-page:not(.site-shell) .mobile-menu__sub .mobile-menu__image-link--wide{
    min-height: 130px;
  }

  .home-page:not(.site-shell) .mobile-menu__image-link::after{
    content: "";
    position: absolute;
    inset: 35% 0 0;
    background: linear-gradient(transparent, rgba(7, 19, 29, 0.9));
  }

  .home-page:not(.site-shell) .mobile-menu__image-link img{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .home-page:not(.site-shell) .mobile-menu__image-link > span,
.home-page:not(.site-shell) .mobile-menu__image-link > i,
.home-page:not(.site-shell) .mobile-menu__image-link > .icon{
    position: relative;
    z-index: 1;
    align-self: end;
  }

  .home-page:not(.site-shell) .mobile-menu__image-link > span{
    letter-spacing: -0.01em;
  }

  .home-page:not(.site-shell) .mobile-menu__image-link > i,
.home-page:not(.site-shell) .mobile-menu__image-link > .icon{
    position: absolute;
    color: #fff;
    font-style: normal;
  }

  .home-page:not(.site-shell) .mobile-menu__image-link > .icon{
  }

  .home-page:not(.site-shell) .mobile-menu__panel-all{
    border: 0;
  }

  .home-page:not(.site-shell) .mobile-menu__panel-all > a{
    display: flex;
    justify-content: space-between;
    color: rgba(255, 255, 255, 0.76);
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }

  .home-page:not(.site-shell) .mobile-menu__panel-all > a .icon{
  }
}

@keyframes rt-hero-image {
  from { opacity: 0.72; transform: scale(1.09); }
  to { opacity: 1; transform: scale(1.035); }
}

@media (prefers-reduced-motion: reduce) {
  .home-page .rt-reveal,
  .home-page .hero__media img {
    opacity: 1;
    transform: none;
    animation: none;
    transition: none;
  }
}

@media (min-width: 1600px) {
  .home-page .hero__panel::before {
    width: calc((100vw - var(--container)) / 2 + 560px);
  }
}

@media (min-width: 1920.01px) {
  .home-page .hero-scroll-scene,
  .home-page .rokmob-story,
  .home-page .fb01-story,
  .home-page .room-focus,
  .home-page .applications,
  .home-page .engineering-story,
  .home-page .showroom,
  .home-page .about,
  .home-page .news,
  .home-page .cta {
    max-width: none;
    margin-inline: 0;
  }

  .home-page :is(.fb01-story__intro, .room-focus__overlay, .engineering__inner, .showroom__content, .news__inner, .cta__inner){
    width: min(100% - clamp(64px, 6vw, 160px), 1840px);
    margin-inline: auto;
  }

  .home-page .about__inner {
    width: min(100% - clamp(64px, 6vw, 160px), 1840px);
    margin-inline: auto;
  }
}

/* Phone portrait scale only. */
@media (max-width: 389.98px) {
  .home-page {
    --rt-edge: 20px;
  }

  .home-page .container,
  .home-page .container--wide,
  .home-page .hero__content,
  .home-page .fb01-mobile-stack,
  .home-page .room-focus__intro {
    width: calc(100% - 40px);
  }

  .home-page .room-mobile-gallery,
  .home-page .engineering-story__visual {
    padding-inline: 20px;
  }
}

@media (max-width: 379.98px) {
  .home-page .rokmob-story .category-grid {
    grid-template-columns: 1fr;
  }
}

@keyframes rt-square-pulse {
  0% { opacity: 0.32; transform: scale(1); }
  72%, 100% { opacity: 0; transform: scale(1.5); }
}

@media (max-width: 767.98px) and (prefers-reduced-motion: reduce),
       (min-width: 768px) and (max-width: 1023.98px) and (orientation: portrait) and (prefers-reduced-motion: reduce),
       (min-width: 768px) and (max-width: 1199.98px) and (orientation: landscape) and (max-height: 600px) and (prefers-reduced-motion: reduce) {
  .home-page .room-mobile-card .room-focus__anchor::after {
    animation: none;
  }

  .home-page:not(.site-shell) .mobile-menu__panel{
    transition: none;
  }
}

/* Tablet portrait only scales the shared touch structure above. */
@media (min-width: 768px) and (max-width: 1023.98px) and (orientation: portrait) {
  .home-page {
    --rt-edge: clamp(32px, 4vw, 42px);
    --touch-inset: var(--rt-edge);
    --rt-section: clamp(82px, 10vw, 116px);
    --touch-section-y: var(--rt-section);
    --touch-app-card-height: clamp(210px, 25vw, 280px);
    --touch-product-card-width: calc(100vw - (2 * var(--touch-inset)));
    --stp-eyebrow-size: clamp(0.94rem, 1.9vw, 1.08rem);
    --stp-body-size: clamp(1.18rem, 2.15vw, 1.32rem);
    --stp-action-size: clamp(1rem, 1.9vw, 1.15rem);
    --stp-menu-size: clamp(1.8rem, 4.2vw, 2.18rem);
  }

  .home-page .eyebrow,
  .home-page .hero .eyebrow {
    font-size: var(--stp-eyebrow-size);
  }

  .home-page .body-copy,
.home-page .hero__lead,
.home-page .section-head__text,
.home-page .feature__text,
.home-page .product-card__text,
.home-page .featured__lead,
.home-page .featured__text,
.home-page .fb01-story__desc,
.home-page .about__text,
.home-page .showroom__text,
.home-page .engineering__text,
.home-page .cta__text,
.home-page .btn,
.home-page .benefit-list__row,
.home-page .room-mobile-card__meta,
.home-page .application-card__title,
.home-page .mobile-slider-nav,
.home-page .rokmob-story__copy p,
.home-page .fb01-story__intro p,
.home-page .room-focus__intro p,
.home-page .engineering__content p,
.home-page .showroom__content p,
.home-page .about__copy p,
.home-page:not(.site-shell) .site-footer p,
.home-page:not(.site-shell) .site-footer a{
    font-size: var(--stp-body-size);
    line-height: 1.52;
  }

  .home-page .room-focus__intro .eyebrow {
    font-size: var(--stp-eyebrow-size);
    line-height: 1.2;
  }

  .home-page .product-lines .product-card__title {
    font-size: clamp(1.48rem, 2.8vw, 1.72rem);
    line-height: 1.12;
  }

  .home-page .hero,
  .home-page .hero__panel {
    min-height: 100svh;
  }

  .home-page .hero__veil {
    opacity: 1;
    background: linear-gradient(125deg, rgba(7, 19, 29, 0.9) 0%, rgba(7, 19, 29, 0.68) 34%, rgba(7, 19, 29, 0.28) 62%, transparent 100%);
  }

  .home-page .hero__veil-focus,
  .home-page .hero__veil-keep {
    opacity: 0;
  }

  .home-page .hero__panel::before {
    content: none;
    background: none;
  }

  .home-page .hero__content {
    padding-top: calc(var(--header-h) + clamp(48px, 9svh, 88px));
    padding-bottom: clamp(48px, 8svh, 80px);
  }

  .home-page .hero__title {
    font-size: clamp(3.2rem, 7vw, 4.3rem);
  }

  .home-page .h2,
  .home-page .h2--md,
  .home-page .news__head .h2 {
    font-size: clamp(2.35rem, 5.5vw, 3.1rem);
  }

  .home-page .product-lines__head {
    padding-inline: 0;
  }

  .home-page .product-lines__meta .cta-swap.btn--secondary {
    border-bottom: 0;
  }

  .home-page .rokmob-story__visual {
    aspect-ratio: auto;
  }

  .home-page .rokmob-story__reel {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .home-page .fb01-mobile-video,
  .home-page .fb01-mobile-gallery,
  .home-page .fb01-mobile-gallery__item,
  .home-page .room-mobile-card__media {
    aspect-ratio: 16 / 10;
  }

  .home-page .rokmob-story__frame[data-frame] {
    width: 100% !important;
    min-width: 0;
    max-width: 100%;
    height: 100% !important;
    aspect-ratio: 16 / 9;
    object-fit: contain !important;
    object-position: center bottom !important;
    transform: none !important;
  }

  .home-page .rokmob-story__frame[data-frame="4"] {
    object-fit: cover !important;
  }

  .home-page .rokmob-story__logo {
    margin-top: -20px;
  }

  .home-page .rokmob-story .category-card {
    min-height: 280px;
  }

  .home-page .room-mobile-gallery {
    grid-auto-columns: calc(100% - (2 * var(--touch-inset)));
    pointer-events: auto;
    touch-action: pan-x;
    overscroll-behavior-x: contain;
  }

  .home-page .room-focus__sticky {
    min-height: 0;
    height: auto;
  }

  .home-page .room-focus__overlay {
    min-height: 0;
    padding-bottom: 32px;
    pointer-events: auto;
  }

  .home-page .room-focus__intro {
    position: relative;
    inset: auto;
    max-width: none;
  }

  .home-page .room-mobile-gallery + .mobile-slider-nav {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin-top: 18px;
    padding-inline: var(--touch-inset);
    pointer-events: auto;
  }

  .home-page .room-mobile-gallery + .mobile-slider-nav .mobile-slider-nav__button {
    width: 58px;
    height: 58px;
  }

  .home-page .room-mobile-gallery + .mobile-slider-nav .mobile-slider-nav__button::before {
    width: 17px;
    height: 17px;
    border-width: 2px 2px 0 0;
  }

  .home-page .room-mobile-gallery + .mobile-slider-nav .mobile-slider-nav__status {
    font-size: 1.05rem;
    letter-spacing: 0.1em;
  }

  .home-page .room-mobile-card .room-focus__hotspot,
  .home-page .room-mobile-card .room-focus__hotspot--reverse,
  .home-page .room-mobile-card .room-focus__hotspot--vertical {
    width: 44px;
    height: 44px;
  }

  .home-page .room-mobile-card .room-focus__anchor,
  .home-page .room-mobile-card .room-focus__hotspot--reverse .room-focus__anchor,
  .home-page .room-mobile-card .room-focus__hotspot--vertical .room-focus__anchor {
    width: 16px;
    height: 16px;
    transform: scale(1.5);
    transform-origin: center;
  }

  .home-page .room-mobile-card .room-focus__anchor::before {
    width: 5px;
    height: 5px;
  }

  .home-page .room-mobile-card .room-focus__hotspot-copy p {
    font-size: clamp(1.05rem, 2.1vw, 1.18rem);
    line-height: 1.45;
  }

  .home-page .room-mobile-card--nightstand .room-focus__hotspot-copy {
    top: auto;
    bottom: calc(100% + 8px);
  }

  .home-page .room-mobile-card__meta span {
    font-size: clamp(1.6rem, 3.4vw, 1.9rem);
  }

  .home-page .room-mobile-card__meta strong {
    font-size: clamp(1.08rem, 2.1vw, 1.22rem);
  }

  .home-page .application-grid > li:nth-child(n) .application-card__body {
    align-items: flex-start;
    padding-right: var(--touch-inset);
    padding-left: var(--touch-inset);
    text-align: left;
  }

  .home-page .application-card__title {
    max-width: calc(100% - 64px);
    font-size: clamp(1.48rem, 3vw, 1.7rem);
    text-align: left;
  }

  .home-page .application-grid > li:nth-child(n) .application-card__arrow {
    top: 24px;
    right: var(--touch-inset);
    width: 38px;
    height: 38px;
  }

  .home-page .applications__head .section-head__text {
    display: block;
    max-width: 58ch;
    margin-top: 24px;
  }

  .home-page .room-mobile-card__identity,
  .home-page .engineering-mobile-detail {
    padding-inline: var(--touch-inset);
  }

  .home-page .engineering-story__visual {
    grid-auto-columns: 100%;
  }

  .home-page .engineering-story .engineering__content {
    width: calc(100% - (2 * var(--rt-edge)));
    max-width: none;
    margin-inline: auto;
    padding-bottom: clamp(44px, 6vw, 60px);
  }

  .home-page .engineering-story .engineering__content > .eyebrow {
    font-size: var(--stp-eyebrow-size);
    line-height: 1.2;
  }

  .home-page .engineering-story .engineering__text {
    max-width: 58ch;
  }

  .home-page .engineering-story__media {
    height: clamp(300px, 42svh, 390px);
  }

  .home-page .engineering-mobile-detail {
    flex-basis: clamp(150px, 20svh, 188px);
    min-height: 150px;
  }

  .home-page .engineering-mobile-detail .hotspot-label__icon {
    display: grid;
    flex-basis: 54px;
    width: 54px;
    height: 54px;
    padding: 13px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--nashorn-blue);
  }

  .home-page .engineering-mobile-detail .hotspot-label__icon .icon {
    width: 100%;
    height: 100%;
  }

  .home-page .engineering-mobile-detail .hotspot-label__title {
    font-size: clamp(1.34rem, 2.8vw, 1.55rem);
  }

  .home-page .engineering-mobile-detail .hotspot-label__text {
    font-size: clamp(1.02rem, 2vw, 1.15rem);
    line-height: 1.5;
  }

  .home-page .engineering-story__hotspots .hotspot {
    width: 52px;
    height: 52px;
    margin: -26px 0 0 -26px;
  }

  .home-page .engineering-story__hotspots .hotspot::before,
  .home-page .engineering-story__hotspots .hotspot::after {
    width: 19px;
    height: 19px;
  }

  .home-page .engineering-story__product p {
    font-size: clamp(1.68rem, 3.4vw, 1.92rem);
  }

  .home-page .engineering-story__product h3 {
    font-size: clamp(1.05rem, 2.1vw, 1.2rem);
  }

  .home-page .engineering-mobile-detail__features li {
    padding-left: 18px;
    font-size: clamp(1.08rem, 2.15vw, 1.22rem);
    line-height: 1.4;
  }

  .home-page .engineering-mobile-detail__features li::before {
    top: 0.47em;
    width: 8px;
    height: 8px;
  }

  .home-page .engineering-story__media--cabinet {
    display: grid;
    place-items: center;
  }

  .home-page .engineering-story__media--cabinet .engineering-story__cabinet-loop {
    position: relative;
    inset: auto;
    left: auto;
    width: min(100%, 358px);
    height: auto;
    aspect-ratio: 1;
    overflow: visible;
  }

  .home-page .engineering-story__media--cabinet .engineering-story__cabinet-loop img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    transform: none;
  }

  .home-page main .eyebrow {
    font-size: var(--stp-eyebrow-size) !important;
    line-height: 1.2 !important;
  }

  .home-page .showroom__company {
    font-size: clamp(1.42rem, 2.8vw, 1.62rem);
  }

  .home-page .showroom__street,
  .home-page .showroom__city {
    font-size: clamp(1.16rem, 2.2vw, 1.3rem);
  }

  .home-page .showroom__photo {
    height: clamp(380px, 52vw, 460px);
  }

  .home-page .news__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: calc(100% - (2 * var(--rt-edge)));
    gap: 0;
  }

  .home-page .news__head {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    gap: 32px;
    width: 100%;
    margin-bottom: 38px;
  }

  .home-page .news__intro .eyebrow {
    padding-right: 0;
  }

  .home-page .news__all {
    position: relative;
    top: auto;
    right: auto;
    justify-self: end;
    align-self: start;
    justify-content: flex-end;
    width: auto;
    min-height: 50px;
    padding: 0 0 1px;
    border-bottom: 1px solid rgba(1, 73, 142, 0.42);
    font-size: var(--stp-action-size);
  }

  .home-page .news__stage {
    display: grid;
    grid-auto-flow: row;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    grid-auto-columns: auto;
    gap: 18px;
    width: 100%;
    height: clamp(600px, 78vw, 720px);
    margin: 0;
    padding: 0;
    overflow: visible;
    scroll-snap-type: none;
  }

  .home-page .news__rail {
    display: block;
    min-width: 0;
    height: 100%;
  }

  .home-page .news__pair--a {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 18px;
    height: 100%;
  }

  .home-page .news__pair--b {
    display: none;
  }

  .home-page .news .news-card,
  .home-page .news .news-card--later {
    display: flex;
    min-width: 0;
    min-height: 0;
  }

  .home-page .news .news-card--feature .news-card__media {
    flex: 1 1 auto;
    min-height: 0;
    aspect-ratio: auto;
  }

  .home-page .news .news-card--feature .news-card__body {
    flex: 0 0 auto;
  }

  .home-page .news .news-card--small .news-card__body {
    padding: 18px 20px 20px;
  }

  .home-page .news .news-card--small .news-card__title {
    font-size: clamp(1.08rem, 2.1vw, 1.24rem);
  }

  .home-page .about__tile {
    min-height: 230px;
    padding: clamp(24px, 4vw, 34px);
  }

  .home-page .about .highlight-list__icon {
    width: 42px;
    height: 42px;
  }

  .home-page .about .highlight-list__item strong {
    font-size: clamp(1.25rem, 2.5vw, 1.55rem);
  }

  .home-page .about .highlight-list__item span {
    font-size: clamp(0.92rem, 1.55vw, 1.04rem);
    line-height: 1.46;
  }

  .home-page .cta,
  .home-page .cta__inner {
    min-height: clamp(560px, 68svh, 720px);
  }

  .home-page:not(.site-shell) .site-footer__grid{
    column-gap: clamp(28px, 7vw, 64px);
  }

  .home-page:not(.site-shell) .site-header__logo img,
.home-page:not(.site-shell) .site-header.is-scrolled .site-header__logo img{
    height: 54px;
  }

  .home-page:not(.site-shell) .menu-toggle{
    width: 62px;
    height: 62px;
    margin-right: -12px;
  }

  .home-page:not(.site-shell) .menu-toggle__bars{
    width: 34px;
    height: 16px;
  }

  .home-page:not(.site-shell) .menu-toggle__bars span:last-child{
    top: 14px;
  }

  .home-page:not(.site-shell) .menu-toggle[aria-expanded="true"] .menu-toggle__bars span:first-child,
.home-page:not(.site-shell) .menu-toggle[aria-expanded="true"] .menu-toggle__bars span:last-child{
    top: 7px;
  }

  .home-page:not(.site-shell) .mobile-menu__list > li::before{
    top: 50%;
    font-size: var(--stp-menu-size);
    transform: translateY(-47%);
  }

  .home-page:not(.site-shell) .mobile-menu__list > li > a,
.home-page:not(.site-shell) .mobile-menu__row > a{
    padding-block: 24px;
    padding-inline: clamp(78px, 10vw, 96px) 76px;
    font-size: var(--stp-menu-size);
  }

  .home-page:not(.site-shell) .mobile-menu__list > li{
    padding-block: 14px;
  }

  .home-page:not(.site-shell) .mobile-menu__pm{
    top: 20px;
    width: 64px;
    height: 64px;
  }

  .home-page:not(.site-shell) .mobile-menu__pm .nav-pm{
    transform: scale(2.1);
  }

  .home-page:not(.site-shell) .mobile-menu__list > li:last-child .icon{
    width: 36px;
    height: 36px;
  }

  .home-page:not(.site-shell) .mobile-menu__footer .btn{
    min-height: 66px;
    padding-inline: 26px;
    font-size: clamp(1.15rem, 2.1vw, 1.34rem);
  }

  .home-page:not(.site-shell) .mobile-menu__footer .btn__icon{
    width: 28px;
    height: 28px;
  }

  .home-page:not(.site-shell) .mobile-menu__contact,
.home-page:not(.site-shell) .mobile-menu__contact a{
    font-size: clamp(1.45rem, 2.65vw, 1.65rem);
    line-height: 1.5;
  }

  .home-page:not(.site-shell) .mobile-menu__back{
    display: inline-grid;
    grid-template-columns: auto max-content;
    align-items: center;
    column-gap: 14px;
    white-space: nowrap;
    font-size: clamp(1.4rem, 2.65vw, 1.65rem);
    line-height: 1;
  }

  .home-page:not(.site-shell) .mobile-menu__back > span{
    display: block;
    line-height: 1;
  }

  .home-page:not(.site-shell) .mobile-menu__panel-all > a{
    font-size: clamp(1.22rem, 2.35vw, 1.45rem);
    line-height: 1.45;
  }

  .home-page:not(.site-shell) .mobile-menu__back > span:first-child{
    font-size: 2.2rem;
    transform: translateY(-1px);
  }

  .home-page:not(.site-shell) .mobile-menu__sub .mobile-menu__image-link{
    min-height: 184px;
  }

  .home-page:not(.site-shell) .mobile-menu__sub .mobile-menu__image-link--wide{
    min-height: 156px;
  }

  .home-page:not(.site-shell) .mobile-menu__image-link > span{
    padding-right: 54px;
    font-size: clamp(1.22rem, 2.35vw, 1.45rem);
  }

  .home-page:not(.site-shell) .mobile-menu__image-link > i,
.home-page:not(.site-shell) .mobile-menu__image-link > .icon{
    right: 18px;
    bottom: 17px;
  }

  .home-page:not(.site-shell) .mobile-menu__image-link > .icon{
    width: 30px;
    height: 30px;
  }

  .home-page:not(.site-shell) .mobile-menu__panel-all > a{
    min-height: 68px;
    padding-block: 20px;
  }

  .home-page:not(.site-shell) .mobile-menu__panel-all > a .icon{
    width: 30px;
    height: 30px;
  }

  .home-page #mobile-produkte {
    grid-template-rows: auto minmax(0, 1fr) auto;
    align-content: stretch;
  }

  .home-page:not(.site-shell) #mobile-produkte .mobile-menu__panel-grid{
    grid-template-rows: repeat(2, minmax(0, 1fr));
    min-height: 0;
  }

  .home-page:not(.site-shell) #mobile-produkte .mobile-menu__image-link{
    height: 100%;
    min-height: 0;
  }

  .home-page:not(.site-shell) #mobile-produkte .mobile-menu__image-link > span{
    font-size: clamp(1.4rem, 2.7vw, 1.68rem);
  }

  .home-page:not(.site-shell) #mobile-produkte .mobile-menu__panel-all > a{
    min-height: 76px;
    font-size: clamp(1.4rem, 2.7vw, 1.68rem);
  }

  .home-page:not(.site-shell) #mobile-produkte .mobile-menu__panel-all > a .icon{
    width: 34px;
    height: 34px;
  }

  .home-page #mobile-einsatz {
    grid-template-rows: auto minmax(0, 1fr);
    align-content: stretch;
  }

  .home-page:not(.site-shell) #mobile-einsatz .mobile-menu__panel-list{
    grid-template-rows: repeat(3, minmax(0, 1fr));
    min-height: 0;
  }

  .home-page:not(.site-shell) #mobile-einsatz .mobile-menu__image-link{
    height: 100%;
    min-height: 0;
  }

  .home-page:not(.site-shell) #mobile-einsatz .mobile-menu__image-link > span{
    font-size: clamp(1.4rem, 2.7vw, 1.68rem);
  }

  .home-page:not(.site-shell) #mobile-einsatz .mobile-menu__image-link > .icon{
    width: 34px;
    height: 34px;
  }

  .home-page .product-grid {
    grid-auto-flow: row;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-columns: auto;
    gap: clamp(14px, 2vw, 18px);
    padding-inline: 0;
    padding-bottom: 0;
    overflow: visible;
    scroll-padding-inline: 0;
    scroll-snap-type: none;
  }

  .home-page .product-grid > li {
    min-width: 0;
  }

  .home-page .cta-swap.btn--secondary,
  .home-page .fb01-story__cta.btn--secondary,
  .home-page .engineering__cta.btn--secondary,
  .home-page .about__cta.btn--secondary,
  .home-page .news__all {
    min-height: 50px;
    font-size: var(--stp-action-size);
  }

  .home-page .cta-swap.btn--secondary::after,
  .home-page .fb01-story__cta.btn--secondary::after,
  .home-page .engineering__cta.btn--secondary::after,
  .home-page .about__cta.btn--secondary::after {
    bottom: 8px;
  }

  .home-page .news__all {
    padding-bottom: 1px;
  }

  .home-page .cta-swap.btn--secondary .btn__in,
  .home-page .fb01-story__cta.btn--secondary .btn__in,
  .home-page .engineering__cta.btn--secondary .btn__in,
  .home-page .about__cta.btn--secondary .btn__in,
  .home-page .news__all .icon {
    width: 23px;
    height: 23px;
  }

  .home-page .news__all span::after {
    font-size: var(--stp-action-size);
  }

  /* Final CTA: one centered composition on the full background image. */
  .home-page .cta__media {
    inset: 0;
  }

  .home-page .cta__media img {
    object-fit: cover;
    object-position: center center;
  }

  .home-page .cta__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-block: var(--rt-section);
    text-align: center;
  }

  .home-page .cta__shift,
  .home-page .cta__content {
    width: 100%;
    margin-inline: auto;
  }

  .home-page .cta__content {
    max-width: 720px;
  }

  .home-page .cta__text {
    margin-inline: auto;
  }

  .home-page .cta__actions {
    justify-content: center;
  }

  /* Footer: editorial two-column brand and contact rows. */
  .home-page:not(.site-shell) .site-footer__brand{
    display: grid;
    grid-template-columns: minmax(180px, 0.8fr) minmax(0, 1.2fr);
    align-items: start;
    gap: clamp(28px, 5vw, 52px);
    padding-right: 0;
  }

  .home-page:not(.site-shell) .site-footer__statement{
    max-width: none;
    margin-top: 0;
    font-size: clamp(1.05rem, 2vw, 1.18rem);
  }

  .home-page:not(.site-shell) .site-footer__contact{
    border-bottom: 0;
  }

  .home-page:not(.site-shell) .site-footer__contact address{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, auto);
    column-gap: clamp(28px, 5vw, 52px);
  }

  .home-page:not(.site-shell) .site-footer__contact address > :nth-child(1){
    grid-column: 1;
    grid-row: 1;
  }

  .home-page:not(.site-shell) .site-footer__contact address > :nth-child(2){
    grid-column: 1;
    grid-row: 2;
  }

  .home-page:not(.site-shell) .site-footer__contact address > :nth-child(3){
    grid-column: 1;
    grid-row: 3;
  }

  .home-page:not(.site-shell) .site-footer__contact address > :nth-child(4){
    grid-column: 2;
    grid-row: 1;
  }

  .home-page:not(.site-shell) .site-footer__contact address > :nth-child(5){
    grid-column: 2;
    grid-row: 2;
  }

  .home-page:not(.site-shell) .site-footer__contact a{
    width: fit-content;
    margin-top: 0;
  }

  .home-page:not(.site-shell) .site-footer__heading{
    font-size: clamp(0.94rem, 1.8vw, 1.08rem);
  }

  .home-page:not(.site-shell) .site-footer__col li,
.home-page:not(.site-shell) .site-footer__contact address{
    font-size: clamp(1rem, 1.85vw, 1.14rem);
  }

  .home-page .mobile-consultation-cta {
    min-height: 58px;
    padding-inline: 22px;
    gap: 14px;
  }

  .home-page .mobile-consultation-cta > span::after {
    font-size: clamp(0.95rem, 1.9vw, 1.08rem);
  }

  .home-page .mobile-consultation-cta .icon {
    width: 25px;
    height: 25px;
  }
}

/* Tablet landscape scale: Desktop Master structure with compact sizing only. */
@media (min-width: 768px) and (max-width: 1199.98px) and (orientation: landscape) and (min-height: 601px),
       (min-width: 1024px) and (max-width: 1199.98px) and (orientation: portrait) {
  .home-page {
    --gutter: 40px;
    --tablet-landscape-gutter: var(--gutter);
  }

  .home-page:not(.site-shell) .site-header__inner{
    width: calc(100% - 2 * var(--tablet-landscape-gutter));
    gap: clamp(8px, 1.1vw, 14px);
  }

  .home-page:not(.site-shell) .site-header__logo img,
.home-page:not(.site-shell) .site-header.is-scrolled .site-header__logo img{
    height: clamp(40px, 4vw, 48px);
  }

  .home-page:not(.site-shell) .primary-nav{
    margin-right: 0;
  }

  .home-page:not(.site-shell) .primary-nav__list{
    gap: clamp(7px, 1vw, 12px);
  }

  .home-page:not(.site-shell) .primary-nav__item{
    gap: 3px;
  }

  .home-page:not(.site-shell) .primary-nav__link{
    font-size: clamp(0.67rem, 1.02vw, 0.78rem);
    letter-spacing: 0.025em;
  }

  .home-page:not(.site-shell) .primary-nav__toggle{
    width: 18px;
  }

  .home-page:not(.site-shell) .site-header__tools{
    gap: 7px;
  }

  .home-page:not(.site-shell) .header-download,
.home-page:not(.site-shell) .site-header.is-scrolled .header-download{
    width: 42px;
    height: 42px;
  }

  .home-page:not(.site-shell) .site-header__cta{
    min-height: 44px;
    gap: 8px;
    padding-inline: clamp(12px, 1.4vw, 18px);
    font-size: clamp(0.66rem, 1vw, 0.76rem);
  }

  .home-page:not(.site-shell) .site-header__cta .btn__icon{
    width: 16px;
    height: 16px;
  }

  .home-page .hero-scroll-scene,
  .home-page .hero-scroll-sticky,
  .home-page .hero-scroll-scene .hero {
    height: 100dvh;
    min-height: 100dvh;
  }

  .home-page .hero-scroll-sticky {
    overflow: hidden;
  }

  .home-page .hero-scroll-scene .hero__stage {
    height: 100%;
    aspect-ratio: auto;
  }

  .home-page .hero-scroll-scene .hero__media {
    inset: 0;
  }

  .home-page .hero-scroll-scene .hero__panel {
    position: absolute;
    inset: 0;
    order: initial;
    min-height: 0;
    background: transparent;
  }

  .home-page .hero-scroll-scene .hero__panel::before {
    content: none;
  }

  .home-page .hero-scroll-scene .hero__content {
    width: 100%;
    margin-inline: 0;
    padding-top: calc(var(--header-h) + 56px);
    padding-inline: var(--tablet-landscape-gutter);
    padding-bottom: 48px;
  }

  .home-page .hero-scroll-scene .hero__veil,
  .home-page .hero-scroll-scene .hero__veil-focus,
  .home-page .hero-scroll-scene .hero__veil-keep {
    background: linear-gradient(125deg, rgba(12, 26, 41, 0.92) 0%, rgba(12, 26, 41, 0.74) 26%, rgba(12, 26, 41, 0.34) 52%, rgba(12, 26, 41, 0.1) 74%, rgba(12, 26, 41, 0.02) 100%);
  }

  .home-page .hero-scroll-scene .hero-spot__label,
  .home-page .hero-scroll-scene .hero-spots__lines {
    display: block;
  }

  .home-page .hero-scroll-scene .hero-spots {
    display: none;
  }

  .home-page .hero__title {
    max-width: 14ch;
    font-size: clamp(3rem, 5.5vw, 4rem);
    line-height: 1.05;
  }

  .home-page .hero__lead {
    max-width: 34rem;
    margin-top: 16px;
  }

  .home-page .hero__actions {
    margin-top: 22px;
  }

  .home-page .product-lines__head {
    display: block;
    padding-inline: 0;
    margin-bottom: 64px;
  }

  .home-page .product-lines__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
  }

  .home-page .product-lines__meta .eyebrow {
    margin-bottom: 0;
  }

  .home-page .product-lines__title-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 32px 48px;
    align-items: end;
    width: 100%;
  }

  .home-page .product-lines__title-row .h2,
  .home-page .product-lines__title-row .section-head__text {
    max-width: none;
    margin: 0;
  }

  .home-page .rokmob-story.is-cinematic .rokmob-story__lead,
  .home-page .rokmob-story.is-cinematic .benefit-list {
    left: var(--tablet-landscape-gutter);
    right: var(--tablet-landscape-gutter);
  }

  .home-page .engineering-story .engineering__inner {
    position: relative;
    top: auto;
    display: block;
    height: 100%;
    min-height: 100%;
    padding-block: 0;
  }

  .home-page .engineering-story .engineering__content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
      "eyebrow cta"
      "title text";
    gap: 18px 48px;
    width: 100%;
    max-width: none;
    padding-block: clamp(48px, 7vh, 72px) 32px;
    align-items: start;
  }

  .home-page .engineering-story .engineering__content > .eyebrow {
    grid-area: eyebrow;
    margin: 0;
  }

  .home-page .engineering-story .engineering__content > .h2 {
    grid-area: title;
    margin: 0;
  }

  .home-page .engineering-story .engineering__content .br-desktop {
    display: inline;
  }

  .home-page .engineering-story .engineering__text {
    grid-area: text;
    max-width: 38ch;
    margin: 0 0 0 auto;
    text-align: left;
  }

  .home-page .engineering-story .engineering__cta {
    grid-area: cta;
    justify-self: end;
    align-self: start;
  }

  .home-page .engineering-story__visual {
    position: sticky;
    top: 0;
    width: 100%;
    height: 100dvh;
    min-height: 100dvh;
  }

  .home-page .engineering-story__facts--table li + li {
    border-top: 0;
  }

  .home-page .applications__head {
    grid-template-columns: minmax(0, 1fr) 420px;
    margin-bottom: 64px;
  }

  .home-page .application-grid {
    --app-gap: 14px;
    container-type: size;
    position: relative;
    width: min(var(--container-wide), 100% - 2 * min(var(--gutter), 40px));
    height: clamp(300px, 35vh, 336px);
    margin-inline: auto;
  }

  .home-page .application-grid > li {
    --skew: 8.66cqh;
    --w: calc((100% - 2 * var(--app-gap)) / 3);
    position: absolute;
    bottom: 0;
    z-index: 1;
    height: 100%;
    margin: 0;
    pointer-events: none;
    container-type: size;
  }

  .home-page .application-grid > li:nth-child(1) {
    left: 0;
    width: calc(var(--w) + var(--skew) / 2);
  }

  .home-page .application-grid > li:nth-child(2) {
    left: calc(var(--w) - var(--skew) / 2 + var(--app-gap));
    width: calc(var(--w) + var(--skew));
  }

  .home-page .application-grid > li:nth-child(3) {
    right: 0;
    width: calc(var(--w) + var(--skew) / 2);
  }

  .home-page .showroom.is-cinematic {
    height: 190vh;
    --shrink: 0;
    --map-in: 0;
    --map-fade: 0;
    --draw: 0;
    --mark: 0;
    --label: 0;
    --pulse: 0;
    --shine: 1;
    --shine-o: 0;
  }

  .home-page .showroom.is-cinematic .showroom__sticky {
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    height: 100dvh;
    min-height: 0;
    padding-block: 0;
    overflow: clip;
  }

  .home-page .showroom.is-cinematic .showroom__photo {
    flex: 0 0 calc(50% - var(--shrink) * 11%);
    order: 1;
    width: auto;
    height: 100%;
    min-height: 100%;
  }

  .home-page .showroom.is-cinematic .showroom__content {
    flex: 0 0 calc(50% - var(--shrink) * 17%);
    order: 2;
    display: flex;
    align-items: center;
    min-width: 360px;
    width: auto;
    max-width: none;
    margin: 0;
    padding: 80px 0 80px clamp(32px, 3.9vw, 56px);
  }

  .home-page .showroom.is-cinematic .showroom__map {
    position: relative;
    inset: auto;
    flex: 1 1 0%;
    order: 3;
    min-width: 0;
    width: auto;
    height: auto;
    margin: 0;
    opacity: var(--map-fade);
    transform: translate3d(calc((1 - var(--map-in)) * 100%), 0, 0);
  }

  .home-page .showroom.is-cinematic .showroom__germany {
    position: absolute;
    top: 50%;
    right: -9vw;
    left: auto;
    width: 126%;
    height: 126%;
    max-width: none;
    transform: translateY(-50%);
  }

  .home-page .cta {
    --cta-img-y: 0px;
    --cta-text-y: 0px;
    align-items: stretch;
    min-height: clamp(620px, 78vh, 820px);
    overflow: hidden;
  }

  .home-page .cta__media {
    z-index: 1;
    inset: 0;
    width: auto;
  }

  .home-page .cta__inner {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-rows: minmax(48px, 1fr) auto minmax(48px, 1fr);
    justify-items: center;
    align-items: stretch;
    width: 100%;
    max-width: none;
    min-height: clamp(620px, 78vh, 820px);
    margin-inline: 0;
    padding-block: 0;
  }

  .home-page .cta__line {
    grid-row: 1;
    display: block;
    width: 2px;
    margin-bottom: 36px;
    background: #f6f8fa;
  }

  .home-page .cta__shift {
    display: block;
    grid-row: 2;
    width: min(820px, calc(100% - 2 * min(var(--gutter), 40px)));
    text-align: center;
    transform: translate3d(0, var(--cta-text-y), 0);
  }

  .home-page .cta__content {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding: 0;
    text-align: center;
    transform: none;
  }

  .home-page .cta__actions {
    justify-content: center;
  }

  .home-page .cta__text {
    width: min(640px, 100%);
    max-width: 640px;
    margin-inline: auto;
    text-align: center;
  }
}

/* Large touch landscapes retain the ratio-driven cinematic Hero. */
@media (min-width: 1200px) and (orientation: landscape) and (min-height: 601px) and (hover: none) and (pointer: coarse) {
  .home-page .hero-scroll-scene .hero,
  .home-page .hero-scroll-scene .hero__stage {
    height: var(--hero-frame-h, min(100dvh, 56.25vw));
  }

  .home-page .hero__media picture > img {
    object-fit: cover;
    object-position: center;
  }
}

/* Tall landscape touch screens keep their scroll tracks, while image-bound
   Room Focus layers share one ratio-driven media canvas. */
@media (orientation: landscape) and (min-height: 601px) and (hover: none) and (pointer: coarse),
       (min-width: 1024px) and (max-width: 1199.98px) and (orientation: portrait) {
  .home-page .room-focus__camera > img {
    object-fit: cover;
    object-position: center;
  }

  .home-page .room-focus.is-cinematic .room-focus__sticky {
    --room-media-height: min(100dvh, 56.25vw);
    top: calc((100dvh - var(--room-media-height)) / 2);
    height: var(--room-media-height);
    min-height: 0;
  }

  .home-page .room-focus.is-cinematic .room-focus__camera,
  .home-page .room-focus.is-cinematic .room-focus__shade {
    inset: 0 0 auto;
    height: var(--room-media-height);
  }

  .home-page .room-focus.is-cinematic .room-focus__overlay {
    position: absolute;
    inset: 0 0 auto;
    height: var(--room-media-height);
    min-height: 0;
  }

  .home-page .engineering-story__hotspots.is-wide-layout .hotspot {
    opacity: 1;
    scale: 1;
  }

  .home-page .engineering-story__hotspots.is-wide-layout .hotspot-label {
    opacity: 1;
    transform: none;
  }

  .home-page .engineering-story__hotspots.is-wide-layout.has-active .hotspot-label:not(.is-active) {
    opacity: 0.45;
  }
}

/* Approved phone Mobile Master refinements shared unchanged with low-height landscape. */
@media (max-width: 767.98px) and (orientation: portrait),
       (max-width: 1199.98px) and (orientation: landscape) and (max-height: 600px) {
  .home-page .room-focus__sticky {
    min-height: 0;
    height: auto;
  }

  .home-page .room-focus__overlay {
    min-height: 0;
    padding-bottom: 32px;
    pointer-events: auto;
  }

  .home-page .room-focus__intro {
    position: relative;
    inset: auto;
    display: block;
    max-width: none;
  }

  .home-page .room-focus__intro .eyebrow {
    font-size: var(--mobile-eyebrow-size);
    line-height: 1.2;
  }

  .home-page .room-focus__intro > p:last-child {
    font-size: 1rem;
    line-height: 1.52;
  }

  .home-page .room-mobile-gallery {
    grid-auto-columns: calc(100% - (2 * var(--touch-inset)));
    pointer-events: auto;
    touch-action: pan-x;
    overscroll-behavior-x: contain;
  }

  .home-page .room-mobile-card {
    scroll-snap-stop: always;
  }

  .home-page .room-mobile-gallery + .mobile-slider-nav {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin-top: 16px;
    padding-inline: var(--touch-inset);
    pointer-events: auto;
  }

  .home-page .room-mobile-gallery + .mobile-slider-nav .mobile-slider-nav__button {
    width: 52px;
    height: 52px;
  }

  .home-page .room-mobile-gallery + .mobile-slider-nav .mobile-slider-nav__button::before {
    width: 15px;
    height: 15px;
    border-width: 2px 2px 0 0;
  }

  .home-page .room-mobile-gallery + .mobile-slider-nav .mobile-slider-nav__status {
    font-size: 0.95rem;
    letter-spacing: 0.1em;
  }

  .home-page .room-mobile-card .room-focus__anchor,
  .home-page .room-mobile-card .room-focus__hotspot--reverse .room-focus__anchor,
  .home-page .room-mobile-card .room-focus__hotspot--vertical .room-focus__anchor {
    width: 16px;
    height: 16px;
    transform: scale(1.5);
    transform-origin: center;
  }

  .home-page .room-mobile-card .room-focus__hotspot-copy p {
    font-size: 0.96rem;
    line-height: 1.45;
  }

  .home-page .room-mobile-card--bed .room-focus__hotspot .room-focus__hotspot-copy,
  .home-page .room-mobile-card--bed .room-focus__hotspot--vertical .room-focus__hotspot-copy,
  .home-page .room-mobile-card--nightstand .room-focus__hotspot .room-focus__hotspot-copy,
  .home-page .room-mobile-card--nightstand .room-focus__hotspot--vertical .room-focus__hotspot-copy {
    top: auto;
    bottom: calc(100% + 8px);
  }

  .home-page .room-mobile-card__meta span {
    font-size: 1.45rem;
  }

  .home-page .room-mobile-card__meta strong {
    font-size: 0.98rem;
  }

  .home-page .applications__head .section-head__text {
    display: block;
    max-width: 58ch;
    margin-top: 20px;
    font-size: 1rem;
    line-height: 1.52;
  }

  .home-page .application-grid > li:nth-child(n) .application-card__body {
    align-items: flex-start;
    padding: 20px var(--touch-inset);
    text-align: left;
  }

  .home-page .application-grid > li:nth-child(n) .application-card__icon {
    top: 20px;
    left: var(--touch-inset);
    width: 34px;
    height: 34px;
    transform: none;
  }

  .home-page .application-grid > li:nth-child(n) .application-card__arrow {
    top: 20px;
    right: var(--touch-inset);
    width: 28px;
    height: 28px;
  }

  .home-page .application-grid > li:nth-child(n) .application-card__title {
    max-width: calc(100% - 48px);
    text-align: left;
  }

  .home-page .engineering-story .engineering__content {
    padding-bottom: 42px;
  }

  .home-page .engineering-mobile-detail .hotspot-label__icon {
    display: grid;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    padding: 11px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: var(--nashorn-blue);
  }

  .home-page .engineering-mobile-detail .hotspot-label__icon .icon {
    width: 100%;
    height: 100%;
  }

  .home-page .engineering-story__hotspots .hotspot {
    width: 46px;
    height: 46px;
    margin: -23px 0 0 -23px;
  }

  .home-page .engineering-story__hotspots .hotspot::before,
  .home-page .engineering-story__hotspots .hotspot::after {
    width: 16px;
    height: 16px;
  }

  .home-page .engineering-story__media--cabinet {
    display: grid;
    place-items: center;
  }

  .home-page .engineering-story__media--cabinet .engineering-story__cabinet-loop {
    position: relative;
    inset: auto;
    left: auto;
    width: min(100%, 320px);
    height: auto;
    aspect-ratio: 1;
    overflow: visible;
  }

  .home-page .engineering-story__media--cabinet .engineering-story__cabinet-loop img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    transform: none;
  }

  .home-page .about .highlight-list__item strong {
    font-size: 1.05rem;
    line-height: 1.25;
  }

  .home-page .about .highlight-list__item span {
    font-size: 0.86rem;
    line-height: 1.45;
  }

  .home-page .news__scene,
  .home-page .news__sticky {
    position: relative;
    display: block;
    height: auto;
    overflow: visible;
  }

  .home-page .news__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: calc(100% - (2 * var(--touch-inset)));
    margin-inline: auto;
    gap: 0;
  }

  .home-page .news__head {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: 18px 16px;
    width: 100%;
    margin-bottom: 28px;
  }

  .home-page .news__intro {
    display: contents;
  }

  .home-page .news__intro .eyebrow {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    margin: 0;
    padding-right: 0;
  }

  .home-page .news__intro .h2 {
    grid-column: 1 / -1;
    grid-row: 2;
    margin: 0;
  }

  .home-page .news__all {
    position: relative;
    top: auto;
    right: auto;
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    justify-self: end;
  }

  .home-page .news__stage {
    display: grid;
    grid-auto-flow: row;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    overflow: visible;
  }

  .home-page .news__rail,
  .home-page .news__pair--a {
    display: contents;
  }

  .home-page .news__pair--b {
    display: none;
  }

  .home-page .news .news-card,
  .home-page .news .news-card--later {
    display: flex;
    height: auto;
    min-height: 0;
  }

  .home-page .cta__media {
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .home-page .cta__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center center;
  }

  .home-page .cta__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 570px;
    padding-block: var(--rt-section);
    text-align: center;
  }

  .home-page .cta__shift,
  .home-page .cta__content {
    width: 100%;
    margin-inline: auto;
  }

  .home-page .cta__content {
    max-width: 34rem;
  }

  .home-page .cta__text {
    margin-inline: auto;
  }

  .home-page .cta__actions {
    justify-content: center;
  }

  .home-page:not(.site-shell) .site-footer__contact{
    border-bottom: 0;
  }
}

/* Mobile Landscape menu scale: the approved mobile menu in a two-column frame. */
@media (max-width: 1199.98px) and (orientation: landscape) and (max-height: 600px) {
  .home-page .hero,
  .home-page .hero__panel {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  .home-page .hero__stage,
  .home-page .hero__media {
    inset: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
  }

  .home-page .hero__media {
    background-image: none;
  }

  .home-page .hero__media picture,
  .home-page .hero__media picture > img {
    visibility: visible;
  }

  .home-page .hero__media picture > img {
    object-fit: cover;
    object-position: center;
    transform: none;
    animation: none;
  }

  .home-page .hero__panel::before {
    background: linear-gradient(
      90deg,
      rgba(7, 19, 29, 0.98) 0%,
      rgba(7, 19, 29, 0.94) 38%,
      rgba(7, 19, 29, 0.58) 58%,
      rgba(7, 19, 29, 0.08) 82%,
      transparent 100%
    );
  }

  .home-page .hero__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 50%;
    height: 100%;
    margin: 0;
    padding: 68px clamp(20px, 3vw, 34px) 0 var(--rt-edge);
  }

  .home-page .hero .eyebrow {
    margin-bottom: 10px;
    font-size: clamp(0.58rem, 1.05vw, 0.7rem);
  }

  .home-page .hero__title {
    max-width: none;
    margin-bottom: 12px;
    font-size: clamp(1.85rem, 4vw, 2.4rem);
    line-height: 1;
  }

  .home-page .hero__lead {
    margin-bottom: 14px;
    font-size: clamp(0.78rem, 1.5vw, 0.92rem);
    line-height: 1.42;
  }

  .home-page .hero__actions {
    gap: 6px;
  }

  .home-page .hero__actions .btn {
    min-height: 48px;
  }

  .home-page .product-lines {
    padding-block: clamp(40px, 7vw, 60px);
  }

  .home-page .product-lines__head {
    padding-inline: 0;
  }

  .home-page .product-grid {
    display: grid;
    grid-auto-flow: row;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-columns: auto;
    gap: clamp(8px, 1.25vw, 14px);
    margin-inline: 0;
    padding: 0;
    overflow: visible;
    scroll-padding-inline: 0;
    scroll-snap-type: none;
  }

  .home-page .product-grid > li {
    min-width: 0;
    scroll-snap-align: none;
    scroll-snap-stop: normal;
  }

  .home-page .product-card {
    min-height: 0;
    aspect-ratio: 1.08 / 1;
  }

  .home-page .product-lines .product-card__reveal {
    display: none;
  }

  .home-page .fb01-mobile-stack {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: clamp(10px, 1.5vw, 16px);
  }

  .home-page .fb01-mobile-video {
    aspect-ratio: 4 / 3;
  }

  .home-page .fb01-mobile-gallery-shell {
    min-width: 0;
    height: 100%;
    margin-top: 0;
  }

  .home-page .fb01-mobile-gallery,
  .home-page .fb01-mobile-gallery__item {
    height: 100%;
  }

  .home-page .fb01-mobile-gallery__item {
    aspect-ratio: auto;
  }

  .home-page .room-mobile-gallery {
    grid-auto-columns: min(44vw, 360px);
  }

  .home-page .room-mobile-card__media {
    aspect-ratio: 16 / 9;
  }

  .home-page .application-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: var(--touch-app-card-height);
    gap: clamp(8px, 1.25vw, 12px);
  }

  .home-page .engineering__content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto;
    column-gap: clamp(28px, 6vw, 72px);
    width: calc(100% - (2 * var(--rt-edge)));
    max-width: none;
    margin-inline: auto;
  }

  .home-page .engineering__content > .eyebrow {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    margin-bottom: 12px;
  }

  .home-page .engineering__content > .h2 {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
    margin: 0;
  }

  .home-page .engineering__content > .engineering__cta {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    justify-self: end;
    margin: 0;
  }

  .home-page .engineering__content > .engineering__text {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    justify-self: end;
    width: 100%;
    max-width: 36rem;
    margin: 0;
    text-align: left;
  }

  .home-page .news__stage {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(10px, 1.5vw, 16px);
  }

  .home-page .news__rail,
  .home-page .news__pair--a {
    display: contents;
  }

  .home-page .news__pair--b {
    display: none;
  }

  .home-page .news .news-card,
  .home-page .news .news-card--later {
    min-width: 0;
  }

  .home-page:not(.site-shell) .mobile-menu{
    justify-content: initial;
    gap: clamp(14px, 3vh, 22px);
    padding: calc(68px + 12px) var(--rt-edge) max(16px, env(safe-area-inset-bottom));
  }

  .home-page:not(.site-shell) .mobile-menu__nav{
    flex: 1 1 auto;
    min-height: 0;
  }

  .home-page:not(.site-shell) .mobile-menu__list{
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, minmax(0, 1fr));
    column-gap: clamp(28px, 6vw, 72px);
    height: 100%;
  }

  .home-page:not(.site-shell) .mobile-menu__list > li{
    min-width: 0;
  }

  .home-page:not(.site-shell) .mobile-menu__row,
.home-page:not(.site-shell) .mobile-menu__list > li > a{
    height: 100%;
  }

  .home-page:not(.site-shell) .mobile-menu__list > li::before{
    top: 50%;
    font-size: clamp(0.88rem, 1.7vw, 1.12rem);
    transform: translateY(-50%);
  }

  .home-page:not(.site-shell) .mobile-menu__list > li > a,
.home-page:not(.site-shell) .mobile-menu__row > a{
    display: flex;
    align-items: center;
    padding-block: 6px;
    font-size: clamp(1.05rem, 2.5vw, 1.55rem);
  }

  .home-page:not(.site-shell) .mobile-menu__pm{
    top: 50%;
    transform: translateY(-50%);
  }

  .home-page:not(.site-shell) .mobile-menu__footer{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    column-gap: clamp(28px, 6vw, 72px);
  }

  .home-page:not(.site-shell) .mobile-menu__footer .btn{
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    min-height: 48px;
    padding-inline: 16px;
    font-size: clamp(0.72rem, 1.35vw, 0.82rem);
  }

  .home-page:not(.site-shell) .mobile-menu__footer .btn__icon{
    width: 18px;
    height: 18px;
  }

  .home-page:not(.site-shell) .mobile-menu__contact,
.home-page:not(.site-shell) .mobile-menu__contact a{
    font-size: clamp(0.72rem, 1.35vw, 0.82rem);
    line-height: 1.45;
  }

  .home-page:not(.site-shell) .mobile-menu__contact{
    grid-column: 1;
    grid-row: 1;
    margin: 0;
  }

  .home-page:not(.site-shell) #mobile-produkte .mobile-menu__panel-grid{
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: minmax(0, 1fr);
  }

  .home-page:not(.site-shell) #mobile-einsatz .mobile-menu__panel-list{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: minmax(0, 1fr);
  }
}
