/* GPU WORLD shared navigation and footer. */
:root { --gw-shell-bg:#10271f; --gw-shell-deep:#0c1c16; --gw-shell-accent:#b8f16b; --gw-shell-text:#f5f7f0; --gw-shell-muted:#b4c3b8; --gw-shell-line:rgba(211,230,214,.14); }
.gw-shell-container { width:min(1280px,100%); margin-inline:auto; padding-inline:40px; }
.gw-header,.gw-footer,.gw-mobile-contact { font-family:'DM Sans',Arial,sans-serif; }
.gw-header a,.gw-footer a,.gw-mobile-contact a { text-decoration:none; }
.gw-header a:focus-visible,.gw-header button:focus-visible,.gw-footer a:focus-visible,.gw-mobile-contact a:focus-visible { outline:2px solid var(--gw-shell-accent); outline-offset:5px; }
.gw-skip-link { position:fixed; left:20px; top:-80px; z-index:3000; padding:12px 20px; background:var(--gw-shell-accent); color:#10271f; font-weight:700; border-radius:4px; }
.gw-skip-link:focus { top:12px; }
.gw-header { position:sticky; top:0; z-index:1000; color:var(--gw-shell-text); background:var(--gw-shell-bg); border-bottom:1px solid var(--gw-shell-line); }
.gw-header.scrolled { box-shadow:0 4px 24px rgba(0,0,0,.18); }
.gw-topbar { min-height:36px; background:var(--gw-shell-deep); border-bottom:1px solid var(--gw-shell-line); }
.gw-topbar-inner { display:flex; align-items:center; justify-content:space-between; min-height:36px; gap:20px; }
.gw-topbar-note { margin:0; font-size:11px; letter-spacing:.035em; color:var(--gw-shell-muted); }
.gw-topbar-contacts { display:flex; align-items:center; gap:24px; }
.gw-topbar-contacts a { font-size:11px; color:#e4ece3; white-space:nowrap; }
.gw-contact-region { margin-right:5px; color:#91a998; }
.gw-topbar-contacts .gw-topbar-whatsapp { color:var(--gw-shell-accent); font-weight:600; }
.gw-topbar-contacts a:hover { color:var(--gw-shell-accent); }
.gw-nav { display:flex; align-items:center; gap:25px; min-height:80px; }
.gw-brand { display:inline-flex; align-items:center; gap:11px; flex-shrink:0; color:var(--gw-shell-text); }
.gw-brand-mark { display:flex; align-items:center; justify-content:center; width:38px; height:38px; border:1px solid rgba(184,241,107,.55); color:var(--gw-shell-accent); border-radius:5px; }
.gw-brand-name { font-size:21px; font-weight:800; letter-spacing:-.05em; white-space:nowrap; line-height:1; }
.gw-brand-name>span { color:var(--gw-shell-accent); }
.gw-nav-links { display:flex; align-items:center; justify-content:center; flex:1; gap:21px; list-style:none; margin:0; padding:0; }
.gw-nav-link { color:#d6e0d5; font-size:12px; font-weight:500; white-space:nowrap; display:block; padding-block:12px; transition:color .15s; }
.gw-nav-link:hover,.gw-nav-link[aria-current=page] { color:var(--gw-shell-accent); }
.gw-nav-actions { margin-left:auto; display:flex; align-items:center; gap:14px; }
.gw-shell-button { display:inline-flex; align-items:center; justify-content:center; gap:18px; color:#14261a; background:var(--gw-shell-accent); font-size:12px; font-weight:700; line-height:1.35; padding:13px 18px; border:1px solid var(--gw-shell-accent); border-radius:4px; white-space:nowrap; transition:background .15s,transform .15s; }
.gw-shell-button:hover { background:#c9ff84; transform:translateY(-1px); color:#14261a; }
.gw-shell-button>span { font-size:18px; line-height:1; }
.gw-nav-toggle { display:none; padding:9px; width:42px; height:42px; border:1px solid var(--gw-shell-line); border-radius:4px; background:transparent; color:var(--gw-shell-text); cursor:pointer; }
.gw-nav-toggle>span { display:block; background:currentColor; width:21px; height:2px; margin:4px auto; transition:transform .2s,opacity .2s; }
.gw-nav-toggle[aria-expanded=true]>span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.gw-nav-toggle[aria-expanded=true]>span:nth-child(2) { opacity:0; }
.gw-nav-toggle[aria-expanded=true]>span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
.gw-mobile-menu { display:none; background:var(--gw-shell-bg); border-top:1px solid var(--gw-shell-line); max-height:calc(100dvh - 112px); overflow-y:auto; }
.gw-mobile-nav { display:flex; flex-direction:column; padding-block:10px 24px; }
.gw-mobile-nav>a { display:flex; align-items:center; justify-content:space-between; padding:13px 0; color:var(--gw-shell-text); font-size:15px; border-bottom:1px solid var(--gw-shell-line); }
.gw-mobile-nav>a[aria-current=page],.gw-mobile-nav>a:hover { color:var(--gw-shell-accent); }
.gw-mobile-nav>a.gw-mobile-quote { justify-content:center; margin-top:18px; padding:14px; color:#10271f; background:var(--gw-shell-accent); border:0; font-weight:700; border-radius:4px; }
.gw-content-target { display:block; height:0; scroll-margin-top:130px; }
.gw-footer { color:var(--gw-shell-text); background:var(--gw-shell-deep); border-top:1px solid var(--gw-shell-line); }
.gw-footer-intro { padding:52px 0 44px; display:flex; align-items:center; justify-content:space-between; gap:30px; border-bottom:1px solid var(--gw-shell-line); }
.gw-footer-eyebrow { font-size:10px; font-weight:600; letter-spacing:.15em; color:var(--gw-shell-accent); margin:0 0 12px; }
.gw-footer-intro h2 { font-family:'DM Sans',Arial,sans-serif; font-size:clamp(25px,3vw,34px); font-weight:500; letter-spacing:-.035em; line-height:1.2; color:var(--gw-shell-text); margin:0; }
.gw-footer-grid { display:grid; grid-template-columns:1.6fr 1fr .9fr 1.05fr; gap:45px; padding:48px 0 40px; }
.gw-footer-brand>.gw-brand { margin-bottom:20px; }
.gw-footer-brand>p { max-width:300px; font-size:13px; line-height:1.8; margin:0 0 18px; color:var(--gw-shell-muted); }
.gw-footer-contact-links { display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
.gw-footer-contact-links a { color:#e0e9dd; font-size:12px; }
.gw-footer-contact-links .gw-footer-whatsapp { margin-top:8px; color:var(--gw-shell-accent); font-weight:600; }
.gw-footer-column h3 { font-family:'DM Sans',Arial,sans-serif; margin:3px 0 20px; font-size:12px; font-weight:600; letter-spacing:.01em; color:var(--gw-shell-text); }
.gw-footer-column>a { display:block; margin:0 0 11px; font-size:12px; line-height:1.6; color:var(--gw-shell-muted); }
.gw-footer-column>p { color:var(--gw-shell-muted); font-size:12px; line-height:2; margin:0; }
.gw-footer-column>p.gw-footer-small { font-size:11px; line-height:1.7; margin-top:16px; color:#8da493; }
.gw-footer a:hover { color:var(--gw-shell-accent); }
.gw-footer .gw-shell-button:hover { color:#14261a; }
.gw-footer-offices { padding:26px 0; border-top:1px solid var(--gw-shell-line); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 60px; }
.gw-footer-office { font-style:normal; font-size:11px; color:var(--gw-shell-muted); line-height:1.8; }
.gw-footer-office>p { margin:0; color:var(--gw-shell-muted); }
.gw-footer-office>p.gw-footer-office-label { font-weight:600; color:#dbe6d7; margin-bottom:4px; }
.gw-footer-office>a { display:inline-block; margin-top:4px; color:var(--gw-shell-accent); }
.gw-footer-bottom { padding:22px 0; border-top:1px solid var(--gw-shell-line); display:flex; align-items:center; justify-content:space-between; gap:22px; }
.gw-footer-bottom>p { margin:0; color:#8ba190; font-size:10px; line-height:1.7; }
.gw-footer-bottom>nav { display:flex; gap:20px; font-size:10px; color:var(--gw-shell-muted); }
.gw-mobile-contact { display:none; }
@media(min-width:1101px) { .gw-mobile-menu.open { display:none; } }
@media(max-width:1200px) { .gw-shell-container { padding-inline:28px; } .gw-nav { gap:18px; } .gw-nav-links { gap:15px; } .gw-nav-link { font-size:11px; } .gw-brand-name { font-size:19px; } .gw-shell-button { padding-inline:14px; gap:11px; } }
@media(max-width:1100px) { .gw-nav-links { display:none; } .gw-nav-toggle { display:block; } .gw-mobile-menu.open { display:block; } .gw-nav { min-height:76px; } .gw-footer-grid { grid-template-columns:1.3fr 1fr; gap:36px; } }
@media(max-width:720px) { .gw-shell-container { padding-inline:22px; } .gw-topbar-note { display:none; } .gw-topbar-inner { justify-content:center; } .gw-topbar-contacts { gap:15px; justify-content:space-between; width:100%; } .gw-topbar-contacts a { font-size:10px; } .gw-topbar-whatsapp { display:none; } .gw-contact-region { margin-right:3px; } .gw-brand-name { font-size:20px; } .gw-brand-mark { width:34px; height:34px; } .gw-nav { gap:12px; } .gw-nav-actions>.gw-shell-button { font-size:10px; padding:11px 12px; } .gw-nav-actions>.gw-shell-button>span { display:none; } .gw-nav-actions { gap:10px; } .gw-footer-intro { align-items:flex-start; flex-direction:column; padding:38px 0 32px; gap:22px; } .gw-footer-grid { padding:34px 0; grid-template-columns:1fr 1fr; gap:30px 20px; } .gw-footer-brand { grid-column:1/-1; } .gw-footer-brand>p { max-width:460px; } .gw-footer-platforms { grid-column:1/-1; } .gw-footer-offices { grid-template-columns:1fr; gap:20px; padding-block:24px; } .gw-footer-bottom { align-items:flex-start; flex-wrap:wrap; gap:12px; padding-block:20px 88px; } .gw-footer-bottom>p:nth-child(2) { order:3; width:100%; } .gw-footer-bottom>nav { margin-left:auto; } .gw-mobile-contact { position:fixed; display:grid; grid-template-columns:1fr 1fr; bottom:0; left:0; right:0; z-index:1100; min-height:58px; padding-bottom:env(safe-area-inset-bottom); background:#10271f; border-top:1px solid rgba(184,241,107,.3); box-shadow:0 -5px 24px rgba(0,0,0,.2); } .gw-mobile-contact>a { display:flex; align-items:center; justify-content:center; gap:8px; min-height:58px; color:#f5f7f0; font-size:12px; font-weight:600; } .gw-mobile-contact>a:last-child { background:var(--gw-shell-accent); color:#14261a; } .gw-mobile-contact>a:focus-visible { outline-offset:-4px; } }
@media(max-width:380px) { .gw-shell-container { padding-inline:16px; } .gw-nav-actions>.gw-shell-button { display:none; } .gw-brand-name { font-size:19px; } .gw-topbar-contacts { gap:10px; } .gw-topbar-contacts a { font-size:9px; } }
@media(prefers-reduced-motion:reduce) { .gw-shell-button,.gw-nav-toggle>span { transition:none; } }
