/* Language, theme and privacy controls, kept separate from the visual identity. */
.footer-social{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;padding:26px 0 6px}.footer-social>span{font-size:15px;color:var(--secondary)}.footer-social nav{display:flex;flex-wrap:wrap;gap:12px}.footer-social a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-size:14px;padding:9px 15px;border:1px solid var(--border);border-radius:24px;background:var(--surface)}.footer-social .social-mark{display:grid;place-items:center;min-width:23px;height:23px;font-size:13px;font-weight:600;border-radius:6px;background:var(--surface-soft)}.footer-social a:hover{border-color:#285195}.footer-social a:focus-visible,.map-external:focus-visible{outline:3px solid #83a9dd;outline-offset:3px}
.whatsapp-float{position:fixed;inset-inline-end:20px;bottom:20px;z-index:12;display:flex;align-items:center;gap:9px;background:#11643e;color:#fff;padding:10px 16px;border:1px solid #8bd1ad;border-radius:30px;box-shadow:0 5px 25px #071b3738;text-decoration:none;font-size:12px}.whatsapp-float span{display:grid;place-items:center;width:25px;height:25px;border:1px solid #fff9;border-radius:50%;font-size:10px;font-weight:600}.whatsapp-float b{font-weight:500}.whatsapp-float:hover{background:#0d5132}.whatsapp-float:focus-visible{outline:3px solid #8bd1ad;outline-offset:4px}.contact-whatsapp{display:inline-flex;margin-top:12px;color:white;font-size:11px;text-decoration:underline;text-underline-offset:4px}@media(max-width:650px){.whatsapp-float{bottom:70px;inset-inline-end:18px;padding:8px 13px;font-size:11px}}
:root{color-scheme:light;--surface:#fff;--surface-soft:#f3f6fa;--text:#253349;--secondary:#64748b;--border:#dbe3ef}
:root[data-theme=dark]{color-scheme:dark;--surface:#1a273b;--surface-soft:#121e30;--text:#e7edf7;--secondary:#aab9cf;--border:#33445e}
.site-tools{display:flex;align-items:center;gap:8px;flex-shrink:0}.theme-toggle{border:1px solid var(--border);background:var(--surface-soft);color:var(--text);border-radius:50%;height:33px;width:33px;display:grid;place-items:center;font-size:18px;cursor:pointer}.language-select{font-size:10px;padding:7px 8px;border:1px solid var(--border);border-radius:9px;background:var(--surface-soft);color:var(--text);max-width:78px}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.nav{gap:18px}.nav nav{gap:19px}.nav-devis{gap:10px}.mobile-quote{display:none}.contact-inline{display:block;background:#ffffff16;border:1px solid #ffffff60;border-radius:22px;padding:8px 15px;color:#fff;margin-top:17px;font-size:11px}.contact-inline:hover{background:#ffffff2b}.footer-settings{display:flex;gap:18px}.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:35px;padding-top:30px;border-top:1px solid #ffffff2b}.map-card{min-width:0;background:#ffffff0b;border:1px solid #ffffff2c;border-radius:18px;overflow:hidden}.map-caption{padding:18px 22px}.map-caption h3{font-size:20px;font-weight:400;margin:0 0 6px}.map-caption p{font-size:10px;color:#d1def2;margin:0}.map-frame{height:260px;background:#e3eaf4;position:relative}.map-frame>button{display:flex;width:100%;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:0;background:linear-gradient(135deg,#ecf1f8,#d0dcec);color:#24416d}.map-frame>button>span{font-size:48px;font-weight:300;line-height:1.2}.map-frame b{font-size:13px;font-weight:500}.map-frame small{font-size:10px;color:#5c7090}.map-frame iframe{width:100%;height:100%;border:0}.consent-banner{position:fixed;bottom:20px;inset-inline-start:20px;z-index:30;width:min(620px,calc(100% - 40px));background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:18px;box-shadow:0 15px 70px #071b373b;padding:23px 25px}.consent-banner[hidden]{display:none}.consent-banner b{font-size:14px;font-weight:500}.consent-banner p{font-size:11px;line-height:1.8;color:var(--secondary);margin:8px 0 15px;max-width:560px}.consent-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.consent-actions button{font-size:11px;border:1px solid var(--border);border-radius:30px;padding:9px 18px;background:var(--surface-soft);color:var(--text)}.consent-actions button[data-consent=allow]{background:#285195;color:#fff;border-color:#285195}.consent-actions .link{background:transparent;border-color:transparent;padding-inline:5px}.honey{position:absolute!important;left:0!important;top:0!important;clip-path:inset(50%)!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}.form-status{color:#a53939!important;font-size:12px!important;line-height:1.7}.form-activation{background:var(--surface-soft);border-inline-start:2px solid #799bc9;padding:12px 16px;font-size:11px!important;color:var(--secondary)!important;border-radius:8px}.form-activation:empty,.form-status:empty{display:none}.g-recaptcha{margin:15px 0;min-width:0}.fields .check input{min-width:16px;max-width:16px;height:16px;accent-color:#285195;flex-shrink:0}.fields .check{font-size:10px;line-height:1.9}.privacy-inline{padding:0;border:0;background:transparent;color:var(--blue);text-decoration:underline;font-size:inherit}.modal-actions .btn:disabled{cursor:progress;opacity:.55;transform:none}dialog .user-value{direction:auto;unicode-bidi:plaintext}.unavailable-image{visibility:hidden}a[href^="tel:"],a[href^="mailto:"],.brand,.footer-brand{direction:ltr;unicode-bidi:isolate}.hero-scene img{max-width:none}
:root[data-theme=dark] body{background:#101b2c;color:var(--text)}:root[data-theme=dark] .nav{background:#17243aed;border-color:#34445e;box-shadow:0 12px 35px #0003}:root[data-theme=dark] .brand>div{color:#edf3fd}:root[data-theme=dark] .brand small{color:#b4c9e8}:root[data-theme=dark] .brand img{background:#fff;padding:2px}:root[data-theme=dark] .nav nav a{color:#c5d1e4}:root[data-theme=dark] .menu-btn{border-color:#44546e;color:#e3edff}:root[data-theme=dark] .nav nav{background-color:#17243a}:root[data-theme=dark] .stats-grid{background:#1b2a40;border-color:#34435a;box-shadow:0 15px 40px #0002}:root[data-theme=dark] .stats strong,:root[data-theme=dark] .stat-intro p{color:#e1eaf9}:root[data-theme=dark] .stat-intro .mono,:root[data-theme=dark] .stats span:not(.mono):not(.stat-unit){color:#abbcd5}:root[data-theme=dark] .stats-grid>div:not(:first-child){border-color:#3b4b65}:root[data-theme=dark] .stats-grid .stat-intro{border-color:#3b4b65}:root[data-theme=dark] .label,:root[data-theme=dark] .link{color:#acc9ef}:root[data-theme=dark] .section-head>p,:root[data-theme=dark] .bureau-grid>div>p,:root[data-theme=dark] .service-body p{color:#afbdd2}:root[data-theme=dark] .service-card{background:#1a283f;border-color:#34445c;color:#e4edf9}:root[data-theme=dark] .service-more,:root[data-theme=dark] .service-tags,:root[data-theme=dark] .service-body>.mono{color:#b6c9e4}:root[data-theme=dark] .service-more{border-color:#354962}:root[data-theme=dark] .bureau-section{background:#152239;border-color:#2f405b}:root[data-theme=dark] blockquote{color:#bacbe0}:root[data-theme=dark] cite{color:#b5cdf0}:root[data-theme=dark] cite span{color:#9eb2cd}:root[data-theme=dark] .values{border-color:#35445d}:root[data-theme=dark] .values b{color:#d4e2f6}:root[data-theme=dark] .qualification-grid article{background:linear-gradient(145deg,#1b2b43,#152239);border-color:#35465f!important}:root[data-theme=dark] .qualification-grid p{color:#b3c4dc}:root[data-theme=dark] .qualification-icon{background:#263b59;color:#b1cef2}:root[data-theme=dark] .qualification-extra{background:#1c2c44}:root[data-theme=dark] .qualification-extra .mono,:root[data-theme=dark] .qualification-extra p{color:#adc0d9}:root[data-theme=dark] .btn.outline{color:#c7dcfa;border-color:#506783}:root[data-theme=dark] .btn.outline:hover{background:#263c59}:root[data-theme=dark] .note{color:#a5b8d1!important}:root[data-theme=dark] .references{background:#142137;border-color:#314159}:root[data-theme=dark] .reference-toolbar{background:#1c2c43;border-color:#3b4d68}:root[data-theme=dark] .filters button{color:#b8c8df}:root[data-theme=dark] .filters .active{color:#fff;background:#416eaf}:root[data-theme=dark] .search{background:#111e30}:root[data-theme=dark] .search input{color:#d9e7fa}:root[data-theme=dark] .project-card{color:#e0eafa}:root[data-theme=dark] .project-info p,:root[data-theme=dark] .resultline{color:#a3b5cf}:root[data-theme=dark] .project-info>span{background:#2b4160;color:#d7e7ff}:root[data-theme=dark] .client{background:#24344b;border-color:#3a4c68}:root[data-theme=dark] .client img{filter:none;background:#fff;border-radius:5px;opacity:1}:root[data-theme=dark] .client span,:root[data-theme=dark] .clients-heading p{color:#bacbe3}:root[data-theme=dark] .clients-heading{border-color:#3b4c63}:root[data-theme=dark] .clients-heading .mono{color:#acc9ef}:root[data-theme=dark] .news-card{background:#1b2a40;border-color:#35445d!important;color:#e2ebfa}:root[data-theme=dark] .news-card:hover{background:#263a55}:root[data-theme=dark] .news-card>.mono,:root[data-theme=dark] .news-more{color:#b8cfee}:root[data-theme=dark] .resources{background:#16243a}:root[data-theme=dark] .resources-layout p,:root[data-theme=dark] .faq-grid>div>p{color:#adbed6}:root[data-theme=dark] .resource-list a{background:#21334d;color:#d7e5f9}:root[data-theme=dark] .resource-list a:hover{background:#2d4666}:root[data-theme=dark] .resource-list .pdf{background:#3d5676;color:#e4f0ff}:root[data-theme=dark] .faq{background:#111e31}:root[data-theme=dark] .faq details{background:#1c2c44;border-color:#3b4e6b!important}:root[data-theme=dark] .faq details[open]{background:#253b58}:root[data-theme=dark] .faq details p{color:#b9cce5}:root[data-theme=dark] footer{background:#111c2e}:root[data-theme=dark] .footer-top>div,:root[data-theme=dark] .footer-brand span,:root[data-theme=dark] .footer-bottom,:root[data-theme=dark] .footer-bottom button{color:#a8bad3}:root[data-theme=dark] .footer-bottom{border-color:#35445d}:root[data-theme=dark] dialog{background:#17263c;color:#e3edfb;border-color:#425875}:root[data-theme=dark] .close{background:#2b4161;color:#d5e7ff}:root[data-theme=dark] dialog p,:root[data-theme=dark] dialog ul{color:#b8c9e1}:root[data-theme=dark] .fields label{color:#c3d3e9}:root[data-theme=dark] .fields input,:root[data-theme=dark] .fields select,:root[data-theme=dark] .fields textarea{background:#101d30;color:#e4eefb;border-color:#415574}:root[data-theme=dark] dialog .data-grid{border-color:#3a4d69}:root[data-theme=dark] dialog .data-grid span{color:#a6c5ee}:root[data-theme=dark] .credential-list article{background:#253b59}:root[data-theme=dark] .quote-summary{background:#122034}:root[data-theme=dark] .quote-summary>div{border-color:#3a4d68}:root[data-theme=dark] .quote-summary dt{color:#acbeda}:root[data-theme=dark] .form-status{color:#ffb7b7!important}:root[data-theme=dark] .privacy-inline{color:#b0cff8}
[dir=rtl] body{font-family:Tahoma,Arial,sans-serif}[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3,[dir=rtl] .mono,[dir=rtl] .label{letter-spacing:0!important}[dir=rtl] .hero-copy{margin-inline-start:0;margin-inline-end:auto}[dir=rtl] .hero-scene img{transform:scaleX(-1);animation:none}[dir=rtl] .hero-scene:after{background:linear-gradient(270deg,#0b1828f5 0%,#0b1828bc 37%,#142c4e30 78%),linear-gradient(0deg,#101b2a 0%,transparent 60%)}[dir=rtl] .hero-orbit{right:auto;left:16%}[dir=rtl] .hero h1{font-size:86px;line-height:1.25}[dir=rtl] .hero .label{font-size:10px}[dir=rtl] .hero-inner{padding-top:150px}[dir=rtl] .hero-description{margin-top:15px}[dir=rtl] .hero-buttons{margin-top:20px}[dir=rtl] .hero-description p{font-size:13px}[dir=rtl] .hero-discover{font-size:10px}[dir=rtl] .hero h1{margin-bottom:18px}[dir=rtl] h2{font-size:40px;line-height:1.5}[dir=rtl] .service-card,[dir=rtl] .project-card,[dir=rtl] .news-card{text-align:right}[dir=rtl] .service-body h3{font-size:23px;line-height:1.6}[dir=rtl] .bureau-grid h2{font-size:37px}[dir=rtl] blockquote{border-left:0;border-right:2px solid #285195;padding-left:0;padding-right:22px}[dir=rtl] .values b{margin-left:0;margin-right:8px}[dir=rtl] .stats-grid>div:not(:first-child){border-left:0;border-right:1px solid var(--border);padding-left:0;padding-right:24px}[dir=rtl] .faq summary{padding-left:28px;padding-right:0}[dir=rtl] .faq summary:after{right:auto;left:0}[dir=rtl] .search input{text-align:right}[dir=rtl] .resource-list a>span:last-child{margin-left:0;margin-right:auto}[dir=rtl] .contact h2{font-size:49px;line-height:1.5}[dir=rtl] .hero-bottom span:last-child{text-align:left}[dir=rtl] .btn,[dir=rtl] .link{font-family:Tahoma,Arial,sans-serif}[dir=rtl] dialog h2{font-size:30px;line-height:1.6}[dir=rtl] .mono{font-family:Tahoma,Arial,sans-serif}
@media(max-width:1150px){.nav{gap:12px}.nav nav{gap:12px;font-size:9px}.site-tools{gap:5px}.language-select{max-width:65px;font-size:9px}.theme-toggle{height:30px;width:30px}.nav-devis{font-size:9px;padding-inline:11px}.nav-devis>span{height:20px;width:20px}}
@media(max-width:900px){.nav nav{font-size:11px;gap:22px}.nav .site-tools{margin-inline-start:0}.menu-btn{margin-left:auto}[dir=rtl] .menu-btn{margin-left:0;margin-right:auto}[dir=rtl] .hero h1{font-size:75px}[dir=rtl] .hero-inner{padding-top:170px}}
@media(max-width:650px){.nav{padding-inline:10px;gap:8px}.nav-devis{display:none}.site-tools{gap:5px}.theme-toggle{width:29px;height:29px;font-size:16px}.language-select{font-size:9px;max-width:69px;padding:6px}.brand>div{font-size:14px}.brand img{width:39px}.menu-btn{padding:2px 7px}.mobile-quote{display:block;position:fixed;inset-inline-end:18px;bottom:18px;background:#285195;color:#fff;border:1px solid #a6bbdb;border-radius:30px;box-shadow:0 5px 30px #0a24543b;padding:11px 21px;font-size:11px;z-index:10}.map-grid{grid-template-columns:1fr;gap:20px;margin-top:28px;padding-top:26px}.map-caption{padding:17px}.map-caption h3{font-size:22px}.map-caption p{font-size:10px}.map-frame{height:230px}.consent-banner{bottom:12px;inset-inline-start:12px;width:calc(100% - 24px);padding:19px;border-radius:15px}.consent-banner b{font-size:13px}.consent-banner p{font-size:10px}.consent-actions{gap:8px}.consent-actions button{font-size:10px;padding:8px 15px}.fields .check{font-size:10px}.footer-settings{gap:17px}[dir=rtl] .hero-inner{padding-top:140px}[dir=rtl] .hero h1{font-size:60px;line-height:1.4}[dir=rtl] .hero .label{font-size:7px;max-width:330px}[dir=rtl] .hero-description p{font-size:11px;line-height:2}[dir=rtl] .hero-discover{font-size:9px}[dir=rtl] .hero-v2{height:780px;min-height:780px}[dir=rtl] .hero-scene:after{background:linear-gradient(270deg,#0c192bea,#10213b7a),linear-gradient(0deg,#101b2a,transparent 65%)}[dir=rtl] .hero .btn{font-size:11px}[dir=rtl] h2,[dir=rtl] .section-head h2,[dir=rtl] .bureau-grid h2,[dir=rtl] .faq-grid h2,[dir=rtl] .resources h2{font-size:29px;line-height:1.6}[dir=rtl] .service-body h3{font-size:25px;line-height:1.6}[dir=rtl] .contact h2{font-size:30px}[dir=rtl] .project-info h3{font-size:13px;line-height:1.8}[dir=rtl] .qualification-grid h3{font-size:20px;line-height:1.7}[dir=rtl] .stats-grid>div:not(:first-child){padding-right:14px}[dir=rtl] .hero-bottom .mono{font-size:6px}[dir=rtl] .news-card h3{font-size:23px;line-height:1.8}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.contact .map-grid{width:100%;min-width:0;align-items:stretch}.map-card{display:flex;flex-direction:column;min-width:0}.map-caption{min-height:104px}.map-frame{width:100%;height:360px;min-height:360px;overflow:hidden;isolation:isolate}.map-frame iframe.map-embed{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:100%;max-width:none;border:0;transform:none;filter:none}.map-external{display:block;padding:14px 20px;font-size:13px;line-height:1.6;color:#fff;text-decoration:underline;text-underline-offset:4px}.contact .map-external{font-size:13px}.footer-top>div{font-size:14px;line-height:1.8;gap:18px}.footer-brand span{font-size:13px;line-height:1.8}.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;font-size:14px;line-height:1.8;color:#42516a}.footer-bottom button{font-size:14px;line-height:1.8}.footer-bottom>span:last-child{font-size:13px;letter-spacing:.06em}.footer-settings{flex-wrap:wrap;gap:18px}
@media(max-width:650px){.map-frame{height:300px;min-height:300px}.map-caption{min-height:0}.footer-social{align-items:flex-start;gap:14px}.footer-social nav{gap:8px}.footer-social a{font-size:13px;padding:8px 11px}.footer-bottom,.footer-bottom button{font-size:13px}.footer-bottom>span:last-child{font-size:12px}.footer-top>div{font-size:13px}.footer-brand span{font-size:12px}}
