html.language-pending { overflow: hidden; }
.language-pending body > :not(#language-welcome) { visibility: hidden; }
.language-switcher { position: fixed; right: max(18px, env(safe-area-inset-right)); bottom: max(18px, env(safe-area-inset-bottom)); z-index: 90; display: flex; gap: 4px; padding: 5px; border: 1px solid #cecbc2; border-radius: 30px; background: #f8f7f2; color: #25241f; box-shadow: 0 4px 20px #25241f16; font: 650 11px/1 Manrope, Arial, sans-serif; letter-spacing: .02em; }
.language-switcher a { min-width: 40px; min-height: 36px; display: grid; place-items: center; border-radius: 24px; color: inherit; text-decoration: none; }
.language-switcher a[aria-current] { color: #f8f7f2; background: #4e1c25; }
.language-switcher a:focus-visible, .language-options button:focus-visible { outline: 3px solid #8a5e38; outline-offset: 4px; }
.language-welcome { position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: clamp(20px, 4vw, 60px); border: 0; background: #eae7e0; color: #25241f; overflow-y: auto; font-family: Manrope, 'Segoe UI', Arial, sans-serif; letter-spacing: -.025em; }
.language-welcome[open] { display: grid; place-items: center; }
.language-welcome::backdrop { background: #eae7e0; }
.language-card { width: min(100%, 900px); position: relative; }
.language-meta { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #cecbc2; padding-bottom: 22px; margin-bottom: clamp(30px, 7vh, 70px); }
.language-meta > span:first-child { font-size: 30px; line-height: 1; font-weight: 800; letter-spacing: -.1em; }
.language-dot { color: #4e1c25; }
.language-meta > span:last-child, .language-eyebrow, .language-foot { font-size: 10px; font-weight: 600; letter-spacing: .035em; }
.language-eyebrow { color: #69665d; margin: 0 0 18px; }
.language-card h1 { font-size: clamp(64px, 10vw, 120px); line-height: .94; font-weight: 650; letter-spacing: -.07em; margin: 0 0 28px; }
.language-card h1 [lang=en] { color: #4e1c25; }
.language-card #language-description { font-size: clamp(14px, 2vw, 17px); line-height: 1.6; margin: 0; color: #69665d; }
.language-orbit { position: absolute; top: 24%; right: 6%; width: clamp(80px, 18vw, 180px); aspect-ratio: 1; display: grid; place-items: center; border: 1px solid #c4c5b7; border-radius: 50%; color: #4e1c25; font-size: clamp(40px, 8vw, 85px); font-weight: 400; background: #dedfce; }
.language-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 35px; }
.language-options button { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 98px; border: 1px solid #cecbc2; border-radius: 10px; padding: 20px 24px; background: #f8f7f2; color: #25241f; font: 550 clamp(22px, 3vw, 30px)/1.2 Manrope, Arial, sans-serif; text-align: left; cursor: pointer; }
.language-options small { display: block; font-size: 9px; font-weight: 600; letter-spacing: .06em; margin-bottom: 10px; color: #69665d; }
.language-options b { font-size: 32px; font-weight: 400; }
.language-options button:hover { background: #4e1c25; color: #f8f7f2; border-color: #4e1c25; }
.language-options button:hover small { color: #e3d5d3; }
.language-foot { display: flex; justify-content: space-between; gap: 12px; margin-top: 20px; color: #69665d; font-size: 9px; font-weight: 500; }
@media(max-width:540px) { .language-welcome { padding: 24px 20px; } .language-meta { margin-bottom: 40px; } .language-orbit { top: 26%; right: 0; width: 70px; font-size: 36px; } .language-card h1 { font-size: clamp(56px, 14vw, 76px); } .language-options { gap: 9px; margin-top: 28px; } .language-options button { padding: 17px 13px; font-size: 21px; min-height: 90px; } .language-options b { font-size: 23px; } .language-options small { font-size: 8px; } .language-foot { display: block; line-height: 1.8; } .language-foot span { display: block; } .language-switcher { right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); } }
@media(max-width:360px) { .language-orbit { width: 55px; font-size: 28px; } .language-card h1 { font-size: 55px; } .language-options button { font-size: 18px; } }
@media print { .language-switcher, .language-welcome { display: none !important; } .language-pending body > * { visibility: visible; } }
