/* Shared additions: real GDI logo, GDI band, Contact us layout */
.brand img{display:block;height:32px;width:auto;max-width:100%}
.foot__logo{display:block;height:28px;width:auto;margin-bottom:14px}
.foot__brand{font-weight:500}
.site-footer a{text-underline-offset:3px}
.gdi-band{background:var(--warm);border-block:1px solid var(--line)}
.gdi-band__in{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr) auto;gap:clamp(20px,4vw,56px);align-items:center;padding-block:clamp(28px,4vw,48px)}
.gdi-band__logo{width:100%;max-width:260px;height:auto}
.gdi-band__tx h2{font-size:clamp(1.35rem,2.4vw,1.75rem);margin:0 0 8px;color:var(--accent)}
.gdi-band__tx p{margin:0 0 10px;max-width:60ch;color:var(--ink-2)}
.gdi-band__facts{display:flex;gap:clamp(20px,3vw,40px);margin:0}
.gdi-band__facts div{min-width:0}
.gdi-band__facts dt{font-size:clamp(2rem,4vw,2.75rem);font-weight:500;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}
.gdi-band__facts dd{margin:6px 0 0;font-size:.95rem;color:var(--ink-3);max-width:14ch}
@media (max-width:900px){.gdi-band__in{grid-template-columns:1fr}.gdi-band__logo{max-width:220px}}
.contact-grid--gdi{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}
.aside--address{position:sticky;top:96px}
.aside--address h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:0 0 12px}
.aside__intro{margin:0 0 22px;color:var(--ink-2)}
.address p{margin:0 0 10px}
.address__label{font-weight:500;color:var(--label)}
.address a{color:var(--accent);text-underline-offset:3px}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:.95rem;color:var(--ink-2)}
.consent input{margin-top:4px;width:18px;height:18px;flex:none;accent-color:var(--accent)}
@media (max-width:900px){.contact-grid--gdi{grid-template-columns:minmax(0,1fr)}.aside--address{position:static}}

/* Language switch, footer legal row, cookie dialog */
.nav .lang{font-weight:500;letter-spacing:.04em;text-decoration:none;padding:4px 9px;border:1px solid var(--line);border-radius:3px;color:var(--ink-2);font-size:.9375rem}
.nav .lang:hover{background:var(--soft);text-decoration:none}
.nav .lang span{color:var(--ink-3)}
.foot__legal{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 24px;padding-top:20px;margin-top:8px;border-top:1px solid rgba(216,195,155,.3);font-size:.9375rem}
.foot__legal a,.foot__legal button{color:var(--cream);text-underline-offset:3px;background:none;border:0;padding:0;font:inherit;cursor:pointer;text-decoration:underline}
.foot__legal a:focus-visible,.foot__legal button:focus-visible{outline:2px solid var(--accent-hi);outline-offset:3px}
.foot__legal button[hidden]{display:none}
.cc{position:fixed;left:max(16px,env(safe-area-inset-left,0px));bottom:16px;z-index:60;width:min(440px,calc(100vw - 32px));background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:20px 22px;box-shadow:0 18px 40px -18px rgba(36,26,18,.5)}
.cc[hidden]{display:none}
.cc__t{font-size:1.15rem;margin:0 0 8px;color:var(--accent)}
.cc__p,.cc__m,.cc__s{margin:0 0 10px;font-size:.95rem;line-height:1.55}
.cc__s:empty{display:none}
.cc__m a{color:var(--accent);text-underline-offset:3px}
.cc__b{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.btn--ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.legal{max-width:78ch}
.legal h2{font-size:clamp(1.25rem,2.2vw,1.6rem);margin:38px 0 10px;color:var(--accent)}
.legal p,.legal li{color:var(--ink-2)}
.legal ul{padding-left:1.2rem}
.legal table{width:100%;border-collapse:collapse;margin:14px 0;font-size:.97rem}
.legal th,.legal td{text-align:left;vertical-align:top;padding:10px 12px;border:1px solid var(--line)}
.legal th{background:var(--warm);font-weight:500}
.legal .tbl{overflow-x:auto}
.legal dl.facts{display:grid;grid-template-columns:minmax(120px,200px) 1fr;gap:0;margin:20px 0;border-top:1px solid var(--line)}
.legal dl.facts dt,.legal dl.facts dd{margin:0;padding:12px 8px;border-bottom:1px solid var(--line)}
.legal dl.facts dt{font-weight:500;color:var(--label)}
.legal .updated{color:var(--ink-3);font-size:.95rem}
.legal .keypts{display:grid;gap:10px;margin:22px 0 8px;padding:18px 22px;border:1px solid var(--line);border-radius:4px;background:var(--warm);list-style:none}
@media (max-width:640px){.legal dl.facts{grid-template-columns:1fr}.legal dl.facts dt{border-bottom:0;padding-bottom:0}}

/* Longer nav (Contact us, language link): keep the logo full size, switch to the menu button sooner */
.brand{flex:none}
.nav{gap:clamp(12px,1.6vw,26px)}
@media (max-width:1120px){
  html:not([lang="es"]) .menu-btn{display:grid}
  html:not([lang="es"]) .nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:8px var(--gut) 16px;display:none}
  html:not([lang="es"]) .nav.is-open{display:flex}
  html:not([lang="es"]) .nav a:not(.btn){padding:12px 0;border-bottom:1px solid var(--line-2)}
  html:not([lang="es"]) .nav .btn{margin-top:12px}
}
@media (max-width:1260px){
  html[lang="es"] .menu-btn{display:grid}
  html[lang="es"] .nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:8px var(--gut) 16px;display:none}
  html[lang="es"] .nav.is-open{display:flex}
  html[lang="es"] .nav a:not(.btn){padding:12px 0;border-bottom:1px solid var(--line-2)}
  html[lang="es"] .nav .btn{margin-top:12px}
}
.nav .lang{align-self:flex-start}
@media (min-width:1121px){.nav .lang{align-self:auto}}
