/* Transparent custom lettering above the panoramic lounge scene. */
.hero--campaign { display:block; padding:74px 0 0; height:auto; min-height:0; max-height:none; background:linear-gradient(180deg,#7baad0 0%,#8eb9db 28%,#a3c9e1 52%,#bfdbec 74%,#daeaf2 88%,var(--linen) 100%); }
.hero-stage-grid { display:block; min-height:0; position:relative; z-index:2; }
.hero-editorial { width:100%; padding:22px 5% 0; display:flex; align-items:center; justify-content:flex-start; text-align:center; }
.hero-editorial h1 { position:relative; width:min(680px,100%); max-width:none; margin:0; line-height:1; }
.hero-lettering { display:block; width:100%; height:auto; }
.hero-editorial .hero-lettering-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.hero-bottom-scene { position:relative; z-index:1; margin:-7vw 0 0; width:100%; max-width:none; }
.hero-bottom-scene img { display:block; width:128%; max-width:none; margin-left:-14%; height:auto; }
.hero-tabletop,.hero-lounge-image,.hero__scallop { display:none; }

.hero-foliage { position:absolute; z-index:0; top:74px; left:0; width:100%; display:flex; justify-content:space-between; pointer-events:none; overflow:hidden; }
.hero-foliage span { position:relative; display:block; width:30%; overflow:hidden; }
.hero-foliage img { display:block; width:200%; max-width:none; height:auto; }
.hero-foliage span:last-child img { margin-left:-100%; }

.hero-language { margin-top:4px; font-size:12px; letter-spacing:.08em; }
.hero-language button { border:0; background:none; color:inherit; font:inherit; cursor:pointer; padding:8px 3px; opacity:.55; }
.hero-language button[aria-pressed="true"] { opacity:1; text-decoration:underline; text-underline-offset:4px; }

.site-language { display:flex; align-items:center; gap:3px; font-size:12px; letter-spacing:.04em; white-space:nowrap; }
.site-language button { border:0; background:transparent; color:inherit; font:inherit; padding:8px 3px; cursor:pointer; opacity:.55; }
.site-language button[aria-pressed="true"] { opacity:1; text-decoration:underline; text-underline-offset:4px; }

/* Mobile hero section: generous vertical presence (86svh) with tightly unified poster composition */
@media (max-width: 768px) {
  .hero--campaign {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 86svh;
    min-height: 86vh;
    padding-top: 64px;
    padding-bottom: 28px;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
  }
  .hero-foliage {
    top: 60px;
    z-index: 1;
  }
  .hero-foliage span {
    width: 26%;
  }
  .hero-foliage img {
    width: 180%;
  }
  .hero-foliage span:last-child img {
    margin-left: -80%;
  }
  .hero-stage-grid {
    flex: 0 0 auto;
    padding-top: 8px;
    padding-bottom: 0;
    z-index: 2;
    position: relative;
    width: 100%;
    margin-bottom: -6px;
  }
  .hero-editorial {
    padding: 0 20px;
    width: 100%;
    display: flex;
    justify-content: center;
  }
  .hero-editorial h1 {
    width: min(390px, 88%);
    margin: 0 auto;
  }
  .hero-bottom-scene {
    flex: 0 0 auto;
    position: relative;
    z-index: 2;
    width: 100%;
    margin: 0;
  }
  .hero-bottom-scene img {
    display: block;
    width: 165%;
    max-width: none;
    margin-left: -32.5%;
    height: auto;
  }
  .campaign-header__right {
    gap: 8px;
  }
  .room {
    padding-top: 50px;
  }
}
