/* Shared styles for the 9 solution pages (identical in en/pt/fr).
   Loaded after style.css. After editing: copy to pt/ and fr/, then run
   python3 scripts/bump_css_version.py */
/* Force light mode */
  :root { color-scheme: only light; }
  html { background-color: #ffffff !important; color: #1a1d22 !important; }


*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--navy:#0d1b2a;--navy2:#1a2e42;--blue:#2563a8;--blue-light:#4a8fd4;--accent:#c8151b;--gray-bg:#f2f3f5;--gray-line:#d6d9de;--text:#1a1d22;--muted:#3d4452;--white:#fff;}
body{background:var(--white);color:var(--text);font-family:'Source Sans 3',sans-serif;overflow-x:hidden;}
.skip-link{position:absolute;top:-40px;left:0;background:var(--accent);color:white;padding:8px 16px;font-family:'Rajdhani',sans-serif;font-size:13px;font-weight:700;letter-spacing:0.1em;text-decoration:none;z-index:9999;}
.skip-link:focus{top:0;}
.a11y-btn{position:fixed;bottom:24px;right:16px;left:auto;z-index:998;width:40px;height:40px;border-radius:50%;background:var(--navy);border:2px solid rgba(37,99,168,0.6);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,0.2);opacity:0.7;}
.a11y-btn:hover{background:var(--blue);}
.a11y-btn svg{width:22px;height:22px;}
.a11y-panel{position:fixed;bottom:80px;right:16px;left:auto;z-index:997;background:var(--white);border:1px solid var(--gray-line);box-shadow:0 8px 32px rgba(0,0,0,0.18);width:240px;padding:20px;display:none;}
.a11y-panel.open{display:block;}
.a11y-panel h4{font-family:'Rajdhani',sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--navy);margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid var(--accent);}
.a11y-option{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.1);font-size:13px;}
.a11y-option:last-child{border-bottom:none;}
.a11y-toggle{background:var(--gray-line);border:none;border-radius:12px;width:40px;height:22px;cursor:pointer;position:relative;transition:background .2s;}
.a11y-toggle.on{background:var(--blue);}
.a11y-toggle::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:white;transition:left .2s;}
.a11y-toggle.on::after{left:21px;}
nav{background:transparent;border-bottom:3px solid transparent;display:flex;align-items:center;justify-content:space-between;padding:0 48px;height:76px;position:fixed;top:0;left:0;right:0;z-index:100;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease;}
.nav-logo{display:flex;align-items:center;text-decoration:none;}
.nav-logo img{height:60px;width:auto;}
.nav-links{display:flex;align-items:stretch;height:100%;list-style:none;}
.nav-links a{font-family:'Rajdhani',sans-serif;font-size:13px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.9);text-decoration:none;padding:0 22px;height:100%;display:flex;align-items:center;border-bottom:3px solid transparent;margin-bottom:-3px;transition:all .2s;}
.nav-links a:hover{color:var(--blue);border-bottom-color:var(--blue);}
.nav-links a.active{color:var(--accent);border-bottom-color:var(--accent);}
.nav-right{display:flex;align-items:center;gap:20px;}
.lang-flags{display:flex;align-items:center;gap:4px;}
.flag-btn{display:flex;align-items:center;gap:5px;border:1px solid transparent;padding:5px 9px;border-radius:3px;transition:all .2s;text-decoration:none;background:none;}
.flag-btn:hover{border-color:var(--gray-line);}
.flag-btn.active{border-color:var(--navy);background:rgba(13,27,42,0.05);}
.flag-box{width:22px;height:15px;border-radius:2px;overflow:hidden;flex-shrink:0;display:block;}
.flag-label{font-family:'Rajdhani',sans-serif;font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--navy);}
.nav-cta{font-family:'Rajdhani',sans-serif;font-size:12px;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--white);background:var(--accent);border:none;padding:11px 24px;cursor:pointer;white-space:nowrap;}
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.hamburger span{display:block;width:24px;height:2px;background:white;margin:5px 0;}
.mobile-menu{display:none;position:fixed;top:76px;left:0;right:0;background:var(--navy);border-bottom:3px solid var(--accent);z-index:99;padding:20px 24px;box-shadow:0 8px 24px rgba(0,0,0,0.12);}
.mobile-menu.open{display:block;}
.mobile-menu a{display:block;font-family:'Rajdhani',sans-serif;font-size:16px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--white);text-decoration:none;padding:14px 0;border-bottom:1px solid rgba(255,255,255,0.1);}
.mobile-flags{display:flex;gap:8px;padding:14px 0;}
.page-hero{position:relative;padding:56px 48px 52px;overflow:hidden;min-height:280px;display:flex;align-items:center;}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 40%;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(13,27,42,0.97) 0%,rgba(13,27,42,0.82) 50%,rgba(13,27,42,0.3) 100%);}
.hero-bar{display:none;}
.hero-content{position:relative;z-index:3;}
.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:14px;}
.breadcrumb a{font-family:'Rajdhani',sans-serif;font-size:11px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.5);text-decoration:none;}
.breadcrumb a:hover{color:rgba(255,255,255,0.9);}
.breadcrumb .sep{color:rgba(255,255,255,0.3);font-size:11px;}
.breadcrumb .current{font-family:'Rajdhani',sans-serif;font-size:11px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--accent);}
.page-hero h1{font-family:'Rajdhani',sans-serif;font-size:clamp(32px,4.5vw,54px);font-weight:700;text-transform:uppercase;letter-spacing:0.03em;color:var(--white);line-height:1;margin-bottom:12px;}
.page-hero p{font-size:15px;font-weight:400;color:rgba(255,255,255,0.92);max-width:560px;line-height:1.7;}
.sub-content{padding:64px 48px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.sec-tag{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.sec-tag::before{content:'';width:20px;height:2px;background:var(--accent);}
.sec-tag span{font-family:'Rajdhani',sans-serif;font-size:13px;font-weight:700;letter-spacing:0.25em;text-transform:uppercase;color:var(--accent);}
h2{font-family:'Rajdhani',sans-serif;font-size:clamp(24px,3vw,36px);font-weight:700;text-transform:uppercase;letter-spacing:0.03em;color:var(--navy);line-height:1.05;}
.sub-body{font-size:15px;font-weight:400;line-height:1.85;color:var(--muted);}
.sub-body p{margin-bottom:18px;}
.sub-body p:last-child{margin-bottom:0;}
.sub-body strong{color:var(--text);font-weight:600;}
.cap-list{list-style:none;margin-top:8px;}
.cap-list li{display:flex;align-items:flex-start;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,0.1);font-size:14px;font-weight:400;color:var(--text);}
.cap-list li:first-child{border-top:1px solid var(--gray-line);}
.cap-list li::before{content:'';width:5px;height:5px;background:var(--accent);flex-shrink:0;margin-top:6px;}
.img-gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.img-box{overflow:hidden;position:relative;}
.img-box img{width:100%;height:100%;object-fit:cover;transition:transform .4s;display:block;}
.img-box:hover img{transform:scale(1.04);}
.img-sq{aspect-ratio:4/3;}
.img-tall{aspect-ratio:3/4;}
.img-wide{grid-column:1/-1;aspect-ratio:16/7;}
.img-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(13,27,42,0.85));padding:14px 14px 10px;font-family:'Rajdhani',sans-serif;font-size:11px;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,0.85);}
.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.product-card{background:var(--gray-bg);border:1px solid var(--gray-line);padding:20px 16px;text-align:center;transition:all .25s;}
.product-card:hover{border-color:var(--blue);box-shadow:0 6px 20px rgba(37,99,168,0.1);}
.product-card img{width:100%;height:160px;object-fit:contain;background:var(--white);padding:12px;margin-bottom:14px;display:block;}
.product-name{font-family:'Rajdhani',sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.07em;color:var(--navy);margin-bottom:6px;line-height:1.3;}
.product-desc{font-size:12px;font-weight:400;color:var(--muted);line-height:1.55;}
.product-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.specs-sec{background:var(--gray-bg);padding:40px 48px;}
.specs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--gray-line);margin-top:28px;}
.spec-box{background:var(--white);padding:22px 20px;}
.spec-label{font-family:'Rajdhani',sans-serif;font-size:10px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;}
.spec-val{font-family:'Rajdhani',sans-serif;font-size:16px;font-weight:700;color:var(--navy);letter-spacing:0.03em;}
.action-banner{position:relative;overflow:hidden;margin:0 48px 64px;}
.action-banner img{width:100%;aspect-ratio:21/8;object-fit:cover;display:block;}
.action-banner-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,27,42,0.88) 0%,rgba(13,27,42,0.3) 55%,transparent 100%);}
.action-banner-text{position:absolute;top:50%;left:40px;transform:translateY(-50%);}
.action-banner-text h3{font-family:'Rajdhani',sans-serif;font-size:clamp(20px,2.5vw,28px);font-weight:700;text-transform:uppercase;color:var(--white);margin-bottom:8px;}
.action-banner-text p{font-size:14px;color:rgba(255,255,255,0.75);max-width:340px;line-height:1.6;}
.field-badge{background:var(--navy);border-left:4px solid var(--accent);padding:18px 22px;margin-top:16px;}
.field-badge p{font-family:'Rajdhani',sans-serif;font-size:13px;font-weight:600;letter-spacing:0.05em;color:var(--white);line-height:1.5;text-transform:uppercase;}
.field-badge span{color:var(--blue-light);}
.sub-cta{background:var(--navy);padding:48px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.sub-cta h3{font-family:'Rajdhani',sans-serif;font-size:24px;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var(--white);line-height:1.1;}
.sub-cta p{font-size:14px;color:rgba(255,255,255,0.65);font-weight:300;margin-top:6px;}
.cta-btns{display:flex;gap:12px;flex-shrink:0;flex-wrap:wrap;}
.btn-red{font-family:'Rajdhani',sans-serif;font-size:12px;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--white);background:var(--accent);border:none;padding:13px 28px;cursor:pointer;text-decoration:none;display:inline-block;}
.btn-ghost{font-family:'Rajdhani',sans-serif;font-size:12px;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--white);background:transparent;border:2px solid rgba(255,255,255,0.4);padding:11px 26px;cursor:pointer;text-decoration:none;display:inline-block;}
.btn-ghost:hover{border-color:white;}
footer{background:#070f18;border-top:1px solid rgba(255,255,255,0.05);padding:28px 48px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.footer-copy{font-size:12px;color:rgba(255,255,255,0.45);}
.footer-links{display:flex;gap:22px;flex-wrap:wrap;}
.footer-links button{font-family:'Rajdhani',sans-serif;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.45);background:none;border:none;cursor:pointer;padding:0;}
.footer-links button:hover{color:rgba(255,255,255,0.9);}
.footer-langs{display:flex;gap:2px;align-items:center;}
.footer-flag{display:flex;align-items:center;gap:6px;background:none;border:1px solid transparent;padding:10px 12px;cursor:pointer;border-radius:3px;text-decoration:none;min-height:44px;}
.footer-flag.active{border-color:rgba(255,255,255,0.35);}
.footer-flag-box{width:24px;height:16px;border-radius:1px;overflow:hidden;display:block;}
.footer-flag-label{font-family:'Rajdhani',sans-serif;font-size:13px;font-weight:700;letter-spacing:0.1em;color:rgba(255,255,255,0.55);}
.footer-flag.active .footer-flag-label{color:white;}
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(13,27,42,0.78);z-index:999;align-items:center;justify-content:center;backdrop-filter:blur(4px);padding:16px;}
.modal-overlay.open{display:flex;}
.modal{background:var(--white);width:100%;max-width:460px;position:relative;animation:modalIn .25s ease both;max-height:90vh;display:flex;flex-direction:column;}
.modal-lg{max-width:640px;}
@keyframes modalIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.modal-header{background:var(--navy);padding:22px 28px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.modal-header h3{font-family:'Rajdhani',sans-serif;font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--white);}
.modal-close{background:none;border:none;cursor:pointer;color:rgba(255,255,255,0.5);font-size:20px;line-height:1;padding:0;}
.modal-close:hover{color:var(--white);}
.modal-body{padding:28px;text-align:center;overflow-y:auto;}
.modal-tag{font-family:'Rajdhani',sans-serif;font-size:11px;font-weight:700;letter-spacing:0.25em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;}
.modal-title{font-family:'Rajdhani',sans-serif;font-size:20px;font-weight:700;text-transform:uppercase;color:var(--navy);margin-bottom:6px;line-height:1.1;}
.modal-sub{font-size:13px;color:#3d4452;margin-bottom:22px;line-height:1.6;}
.qr-wrap{display:inline-flex;padding:14px;border:1px solid var(--gray-line);margin-bottom:16px;}
.qr-wrap img{width:180px;height:180px;display:block;}
.modal-hint{font-size:12px;color:#3d4452;display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:22px;}
.modal-divider{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.modal-divider-line{flex:1;height:1px;background:var(--gray-line);}
.modal-divider-text{font-size:11px;color:#3d4452;letter-spacing:0.1em;text-transform:uppercase;white-space:nowrap;}
.btn-link{font-family:'Rajdhani',sans-serif;font-size:12px;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--white);background:var(--blue);border:none;padding:12px 28px;cursor:pointer;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;}
.modal-footer-note{background:var(--gray-bg);border-top:1px solid var(--gray-line);padding:12px 28px;display:flex;align-items:flex-start;gap:8px;flex-shrink:0;}
.modal-footer-note p{font-size:11px;color:#3d4452;line-height:1.5;}
@media(max-width:1024px){.sub-content{grid-template-columns:1fr;gap:40px;}.specs-grid{grid-template-columns:repeat(2,1fr);}.action-banner{margin:0 24px 48px;}nav{padding:0 24px;}.sub-content{padding:48px 24px;}.specs-sec{padding:32px 24px;}.sub-cta{padding:40px 24px;}.action-banner-text{left:24px;}footer{padding:24px;}}
@media(max-width:768px){nav{padding:0 20px;height:64px;}.nav-links,.nav-right{display:none;}.hamburger{display:block;}.nav-logo img{height:48px;}.img-gallery{grid-template-columns:1fr;}.img-wide{aspect-ratio:4/3;}.product-grid,.product-grid-3{grid-template-columns:1fr;}.specs-grid{grid-template-columns:1fr 1fr;}.sub-cta{flex-direction:column;align-items:flex-start;}.action-banner{margin:0 0 48px;}.action-banner img{aspect-ratio:4/3;}.cta-btns{width:100%;}.btn-red,.btn-ghost{width:100%;text-align:center;}footer{flex-direction:column;align-items:flex-start;padding:24px 20px;gap:20px;}.a11y-btn{bottom:16px;left:16px;}.a11y-panel{left:16px;bottom:72px;width:calc(100vw - 32px);}}
  @media (prefers-color-scheme: dark) {
    html { filter: invert(0) !important; background: #fff !important; }
  }

  @media (max-width: 600px) {
    table { font-size: 11px !important; }
    table th, table td { padding: 8px 8px !important; }
    table th { font-size: 10px !important; letter-spacing: 0.06em !important; }
  }
  @media (max-width: 400px) {
    table { font-size: 10px !important; }
    table th, table td { padding: 6px 6px !important; }
  }
nav.scrolled{background:var(--navy);border-bottom-color:var(--accent);box-shadow:0 2px 20px rgba(0,0,0,0.35);}
