.language-switch { display: flex; flex: 0 0 auto; align-items: center; gap: 2px; margin-left: 12px; }
.language-switch__select { display: none; }
.site-header { grid-template-columns: auto minmax(0,1fr) auto auto; gap: 20px; }
.language-switch { pointer-events: auto; }
html[lang=es] .benefits__hint::after { content:'Desliza las tarjetas'; }
html[lang=zh] .benefits__hint::after { content:'滑动浏览卡片'; }
html[lang=de] .benefits__hint::after { content:'Durch die Karten wischen'; }
html[lang=zh] { font-family:Inter,'PingFang SC','Microsoft YaHei',sans-serif; }
.guide-header .language-switch { gap: 2px; }
.detail-header > a:not(.brand) { font-size: 12px; }
.language-switch a { display: grid; place-items: center; min-width: 34px; min-height: 44px; padding: 0 5px; border-radius: 8px; color: #94999c; font: 500 11px/1 var(--font-body, sans-serif); letter-spacing: .04em; text-decoration: none; transition: color 180ms, background 180ms; }
.language-switch a:hover { color: #fff; background: #ffffff0c; }
.language-switch a[aria-current] { color: #a7dfef; }
.language-switch a:focus-visible { outline: 2px solid #a7dfef; outline-offset: 2px; }
.site-header .language-switch { order: 3; }
.site-header .menu-toggle { order: 4; }
.site-header .site-nav { gap: clamp(12px,1.5vw,28px); }
.site-header .header-cta { white-space: nowrap; }
html:not([lang=ru]) .benefit-card h3 { font-size: clamp(17px,1.55vw,26px); overflow-wrap: normal; }
html[lang=de] .benefit-card h3 { hyphens:auto; overflow-wrap:anywhere; }
html[lang=en] .benefits__hint::after { content: 'Swipe through the cards'; }
html[lang=id] .benefits__hint::after { content: 'Geser kartu'; }
html:not([lang=ru]) .property-room h3 { font-size: clamp(26px,4.6vw,74px); }
@media (max-width:1200px) {
  .site-header { grid-template-columns: minmax(0,1fr) auto auto; gap: 8px; }
  /* A backdrop filter would trap the fixed menu inside the header's bounds. */
  .site-header.menu-active { backdrop-filter: none; -webkit-backdrop-filter: none; }
  .site-header .site-nav,.site-header .header-cta { display: none; }
  .site-header .menu-toggle { position: relative; z-index: 102; display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid #ffffff52; border-radius: 50%; background: transparent; }
  .menu-toggle span { position: absolute; width: 17px; height: 1px; background: currentColor; transition: transform .3s var(--ease); }
  .menu-toggle span:first-child { transform: translateY(-3px); }
  .menu-toggle span:last-child { transform: translateY(3px); }
  .menu-toggle[aria-expanded=true] span:first-child { transform: rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:last-child { transform: rotate(-45deg); }
  .mobile-menu { position: fixed; z-index: 101; inset: 0; display: flex; flex-direction: column; justify-content: safe flex-end; overflow-y: auto; padding: 110px 24px 28px; background: #000; visibility: hidden; opacity: 0; pointer-events: none; }
  .mobile-menu.is-open { visibility: visible; opacity: 1; pointer-events: auto; }
  .mobile-menu nav { display: grid; }
  .mobile-menu nav a { padding: 12px 0; border-bottom: 1px solid #ffffff25; font-size: clamp(22px,4vw,34px); }
  .site-header.menu-active .language-switch { position: relative; z-index: 102; }
  .site-header .language-switch { margin-left: auto; margin-right: 12px; }
}
@media (max-width:760px) {
  .language-switch { margin-left: auto; gap: 0; }
  .language-switch a { min-width: 30px; font-size: 10px; padding: 0 3px; }
  .site-header .language-switch { margin-right: 5px; }
  .site-header .brand span { font-size: 10px; }
  .guide-header,.detail-header { flex-wrap: wrap; gap: 12px; }
  .guide-header .language-switch { display: flex; }
  .guide-header,.detail-header { display: grid; grid-template-columns: minmax(0,1fr) auto; border-radius: 24px; padding: 12px; }
  .guide-header .brand,.detail-header .brand { grid-column: 1; grid-row: 1; }
  .guide-header .language-switch,.detail-header .language-switch { grid-column: 2; grid-row: 1; margin: 0; }
  .guide-header > .guide-cta,.detail-header > a:not(.brand) { grid-column: 1/-1; grid-row: 2; justify-content: center; padding: 12px; }
  html:not([lang=ru]) .legal-intro .legal-story__heading h2 { font-size: clamp(27px,7.1vw,54px); }
  html:not([lang=ru]) .property-room h3 { font-size: clamp(25px,6.6vw,44px); white-space: normal; }
}
@media (max-width:600px) { .site-header .brand span,.guide-header .brand span,.detail-header .brand span { display: none; } }

/* Phone layouts retain the desktop typefaces, with readable facts and touch targets. */
@media (max-width:760px) {
  .language-switch a { display: none; }
  .language-switch__select { display: block; min-height: 44px; width: 144px; max-width: 100%; padding: 8px 12px; border: 1px solid #a7dfef; border-radius: 12px; background: #10232c; color: #a7dfef; font: 16px var(--font-body,sans-serif); color-scheme: dark; }
  .language-switch__select:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
  .site-header .menu-toggle { width: 44px; height: 44px; }
  .site-header .brand,.detail-header .brand { min-width: 44px; min-height: 44px; }
  .detail-header > a:not(.brand) { display: flex; align-items: center; min-height: 44px; }
  .detail-intro dl.ocean-facts > div:last-child { grid-column: auto; border-top: 0; }
  .detail-intro dl.ocean-facts { gap: 0 16px; }
  .detail-intro dl.ocean-facts > div:nth-child(n+3) { border-top: 1px solid #ffffff29; }
  .detail-contact > a:last-child { display: flex; width: fit-content; margin-top: 16px; }
  .detail-contact .button { width: 100%; min-height: 52px; white-space: normal; text-align: center; }
  .detail-actions { gap: 12px; margin-top: 20px; }
  .detail-actions:empty { display: none; }
  .detail-actions a { min-height: 44px; }
  .project-detail .project-preview__actions { display: grid; grid-template-columns: minmax(0,1fr); }
  .project-detail .project-action { width: 100%; min-height: 52px; }
  .detail-footer { padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
  .ocean-neighborhood__facts p { margin: 0; }
  .ocean-neighborhood__facts { gap: 28px; }
  .ocean-neighborhood__brand { justify-self: start; padding-left: 0; }
  .ocean-brands { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
  .ocean-brands > span { width: 100%; min-width: 0; padding: 8px; }
  .ocean-details h2 { overflow-wrap: anywhere; }
  .site-footer a { min-height: 44px; display: inline-flex; align-items: center; overflow-wrap: anywhere; }
  .lead-form :is(input,select,button) { min-height: 48px; font-size: 16px; }
  .language-switch a { font-size: 11px; min-width: 32px; }
  .site-header { top: max(10px,env(safe-area-inset-top)); }
  .mobile-menu { padding: max(98px,calc(env(safe-area-inset-top) + 82px)) max(18px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left)); overscroll-behavior: contain; }
  .mobile-menu .button { flex-shrink: 0; }
  .project-story__copy > span { font-size: 14px; line-height: 1.65; }
  .project-story dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .project-story dl > div { padding: 16px 10px 16px 0; }
  .project-story dl > div:nth-child(2) { border-right: 0; }
  .project-story dl > div:last-child { grid-column: 1/-1; padding-left: 0; border-top: 1px solid #ffffff29; }
  .project-story dd { font-size: 10px; line-height: 1.5; color: #b3bec5; letter-spacing: .04em; }
  .project-story dt, .ocean-presentation .project-story dt { font-size: 15px; line-height: 1.4; }
  .project-story__copy > a { width: 100%; min-height: 48px; justify-content: space-between; font-size: 13px; }
  .project-story__copy > a i { flex: 0 0 44px; width: 44px; height: 44px; }
  .guide-back { min-height: 44px; display: inline-flex; align-items: center; }
  .detail-contact > a:last-child { min-height: 44px; display: flex; align-items: center; }
  .detail-intro dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .detail-intro dl > div:last-child { grid-column: 1/-1; border-top: 1px solid #ffffff29; }
  .detail-intro dd { font-size: 12px; line-height: 1.5; }
  .guide-footer { flex-wrap: wrap; line-height: 1.6; }
}
@media (max-height:500px) and (max-width:1200px) {
  .mobile-menu { justify-content: flex-start; padding-top: max(88px,calc(env(safe-area-inset-top) + 76px)); }
  .mobile-menu nav a { min-height: 44px; padding: 8px 0; font-size: 22px; }
  .mobile-menu > p { margin-top: 16px; }
}
.whatsapp-float { position:fixed; right:max(20px,env(safe-area-inset-right)); bottom:max(20px,env(safe-area-inset-bottom)); z-index:90; display:grid; place-items:center; width:56px; height:56px; border:1px solid #ffffff80; border-radius:50%; background:#087f47; color:#fff; box-shadow:0 4px 18px #0005; transition:background .15s ease; }
.whatsapp-float svg { width:30px; height:30px; }
.whatsapp-float:hover { background:#096b40; }
.whatsapp-float:focus-visible { outline:3px solid #fff; outline-offset:4px; }
body:has(dialog[open],.reel-player.is-open,.mobile-menu.is-open) .whatsapp-float { visibility:hidden; }
@media(max-width:760px) { .whatsapp-float { right:max(14px,env(safe-area-inset-right)); bottom:max(14px,env(safe-area-inset-bottom)); width:52px; height:52px; } }
@media(max-width:760px) { body:has(.whatsapp-float) .hero-actions { bottom:calc(80px + env(safe-area-inset-bottom)); } }

.project-story dt.turnkey-price { margin-top: 16px; }
.price-usd { display: block; margin-top: 6px; font-size: 12px; line-height: 1.5; color: #a4afb6; }
@media (max-width:540px) {
  .land-selection .land-selection__offers { display: grid; grid-template-columns: 1fr; gap: 12px; }
  .land-selection__offers > div { display: grid; grid-template-columns: 64px minmax(0,1fr); gap: 16px; align-items: start; }
  .land-selection .land-selection__offers > div + div { border-left: 0; border-top: 1px solid #ffffff26; padding: 12px 0 0; }
  .land-selection__offers dd { margin-top: 0; }
}
@media (max-width:760px) {
  .detail-header { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; gap: 8px; padding: 8px 12px; border-radius: 16px; }
  .detail-header .brand { grid-column: 1; grid-row: 1; }
  .detail-header .brand span { display: none; }
  .detail-header > a:not(.brand) { grid-column: 2; grid-row: 1; padding: 0 4px; font-size: 12px; text-align: center; }
  .detail-header .language-switch { grid-column: 3; grid-row: 1; }
  .detail-header .language-switch__select { width: 116px; padding: 8px; }
}
