.rubik-topbar .container { align-items:center; flex-wrap:nowrap; }
.rubik-topbar { padding-block:0; }
.rubik-topbar .container>span { font-size:.72rem; }
.region-trigger { display:inline-flex; align-items:center; justify-content:space-between; gap:10px; flex-shrink:0; min-height:44px; padding:5px 12px; border-inline:1px solid #ffffff12; color:#d1dfef; background:transparent; font-size:.74rem; font-weight:600; }
.region-trigger:hover { background:#ffffff07; color:#9af4ce; }
.region-trigger>span:last-child { color:#87a0bc; }
.wa-float { position:fixed; right:25px; bottom:25px; z-index:28; display:flex; align-items:center; gap:13px; padding:15px 19px; min-height:60px; border-radius:40px; background:#75f1bb; color:#092c21; box-shadow:0 8px 32px #0005; border:1px solid #bcffdc; transition:transform .2s,box-shadow .2s; }
.wa-float:hover { transform:translateY(-3px); color:#092c21; box-shadow:0 12px 40px #75f1bb26; background:#9df6cd; }
.wa-float img { width:29px; height:29px; object-fit:contain; }
.wa-float-label { font-size:.83rem; font-weight:700; }
.wa-country-flag { position:absolute; right:-3px; bottom:-3px; width:27px; height:27px; border:1px solid #ffffff35; background:#14223a; border-radius:50%; display:grid; place-items:center; font-size:.85rem; line-height:1; }
.quote-open .wa-float,.region-open .wa-float,.region-open .mobile-quote { visibility:hidden; }
html.region-open { overflow:hidden; }
#region-dialog { color:var(--ink); background:var(--bg); padding:0; border:1px solid var(--line); border-radius:23px; width:min(470px,calc(100% - 30px)); max-width:470px; max-height:90vh; max-height:90dvh; overflow:auto; box-shadow:0 30px 100px #0008; }
#region-dialog::backdrop { background:#040911c9; backdrop-filter:blur(6px); }
#region-dialog[open] { animation:dialog-in .2s ease; }
.region-panel { position:relative; padding:34px; background:radial-gradient(ellipse at 100% 0,#75f1bb08,transparent 60%); }
#region-close { position:absolute; top:14px; right:14px; width:44px; height:44px; border:1px solid var(--line); background:var(--surface); color:var(--muted); border-radius:50%; }
.region-mark { width:54px; height:54px; border-radius:15px; display:grid; place-items:center; border:1px solid var(--line); background:var(--surface); color:var(--green-ink); font-size:2.1rem; margin-bottom:24px; }
.region-panel .section-kicker { font-size:.63rem; margin-bottom:13px; }
#region-title { font-size:2rem; margin-bottom:12px; letter-spacing:-.04em; }
#region-description { font-size:.9rem; color:var(--muted); margin-bottom:25px; }
#region-country { font-size:1rem; padding:12px; min-height:52px; }
.region-languages { border:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 16px; }
.region-languages legend { float:none; width:auto; font-size:.78rem; font-weight:550; margin-bottom:10px; }
.region-languages label { position:relative; cursor:pointer; }.region-languages input { position:absolute; width:1px; height:1px; opacity:0; }
.region-languages span { display:flex; align-items:center; gap:12px; min-height:52px; padding:11px 15px; border:1px solid var(--line); border-radius:9px; background:var(--surface); color:var(--muted); font-size:.9rem; }
.region-languages b { font-size:1.3rem; font-weight:400; }.region-languages input:checked+span { color:var(--ink); border-color:var(--green-ink); background:#75f1bb08; box-shadow:inset 0 0 0 1px var(--green-ink); }.region-languages input:focus-visible+span { outline:2px solid var(--green-ink); outline-offset:4px; }
#region-detection { font-size:.75rem; color:var(--muted); line-height:1.7; margin-bottom:17px; }
.region-contact-summary { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; border-block:1px solid var(--line); padding:17px 0; margin-bottom:22px; }
.region-contact-summary>span { font-size:.73rem; color:var(--muted); }.region-contact-summary>strong { font-size:.86rem; color:var(--green-ink); font-weight:650; }
#region-form>.rubik-button { width:100%; justify-content:space-between; }
.region-remember { text-align:center; font-size:.7rem; color:var(--muted); margin:16px 0 0; line-height:1.75; }
html[lang=en] .rubik-nav nav { gap:17px; }html[lang=en] .rubik-nav nav a { font-size:.8rem; }
@media(max-width:1199px) { .rubik-topbar .container>span { display:none; } }
@media(max-width:575px) { .rubik-topbar .container { justify-content:space-between!important; gap:12px!important; }.rubik-topbar a { font-size:.64rem; }.region-trigger { padding-inline:6px; min-width:95px; font-size:.7rem; border:0; }.wa-float { right:18px; bottom:calc(86px + env(safe-area-inset-bottom)); padding:15px; width:58px; height:58px; min-height:58px; justify-content:center; }.wa-float-label { display:none; }.wa-country-flag { right:-3px; bottom:-3px; }.region-panel { padding:29px 24px; }#region-title { font-size:1.8rem; }.region-languages span { font-size:.85rem; padding:11px; }.region-contact-summary { gap:7px; }html[lang=en] .hero-content .eyebrow { font-size:.57rem; } }
@media(max-width:375px) { .region-panel { padding-inline:21px; }#region-title { font-size:1.62rem; }.region-contact-summary>span { font-size:.7rem; }.region-contact-summary>strong { font-size:.79rem; }.mobile-quote>span { max-width:145px; }.mobile-quote>button { padding-inline:12px; font-size:.78rem; } }
@media(prefers-reduced-motion:reduce) { #region-dialog[open] { animation:none; }.wa-float { transition:none; }.wa-float:hover { transform:none; } }
/* Mantener los tres controles del header en una fila en ambos idiomas. */
@media(max-width:575px) {
  html[lang=en] .rubik-brand small { font-size:.4rem; letter-spacing:.075em; max-width:145px; }
  .region-panel { padding:25px 23px; }
  .region-mark { width:44px; height:44px; font-size:1.75rem; margin-bottom:18px; }
  .region-panel .section-kicker { margin-bottom:10px; }
  #region-title { font-size:1.65rem; margin-bottom:10px; }
  #region-title:focus { outline:none; }
  #region-description { font-size:.85rem; line-height:1.65; margin-bottom:20px; }
  .region-languages { margin-bottom:13px; }
  #region-detection { margin-bottom:13px; font-size:.7rem; }
  .region-contact-summary { padding-block:13px; margin-bottom:18px; }
  .region-remember { font-size:.66rem; margin-top:13px; }
}
@media(max-width:375px) {
  html[lang=en] .rubik-brand small { font-size:.36rem; max-width:125px; }
  .region-panel { padding-inline:21px; }
  #region-title { font-size:1.5rem; }
}
@media(max-width:575px) {
  .rubik-nav { display:grid; grid-template-columns:minmax(0,1fr) auto 44px; gap:8px; }
  .rubik-nav>.rubik-brand { min-width:0; flex-shrink:1; }
  .rubik-nav>.rubik-brand>span { min-width:0; }
  .rubik-nav>.rubik-brand img { flex-shrink:0; }
  .rubik-nav>.rubik-brand small { max-width:100%; }
  .rubik-nav>.menu-toggle { grid-column:2; margin-left:0; }
  .rubik-nav>.theme-toggle { grid-column:3; }
  .rubik-nav>nav { grid-column:1/-1; }
}
