/* Readability refresh. Calibri is used when installed; no proprietary font is redistributed. */
:root{--font-ui:Calibri,Carlito,"Segoe UI",Tahoma,Arial,sans-serif}
body,button,input,select,textarea,h1,h2,h3,h4,.mono,.label,.brand,.footer-brand,[dir=rtl] body,[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3,[dir=rtl] .mono,[dir=rtl] .btn,[dir=rtl] .link{font-family:var(--font-ui)!important}
body{font-size:18px;line-height:1.75}
.nav{position:relative;gap:18px}.nav nav{font-size:16px;gap:18px}.brand>div{font-size:23px}.brand small{font-size:10px;letter-spacing:.05em}.brand img{width:60px}.nav-devis{font-size:16px;gap:14px;padding-inline:19px}.language-select{font-size:14px;max-width:82px;padding:7px}.theme-toggle{width:36px;height:36px}.menu-btn{font-size:22px}
.btn{font-size:17px;line-height:1.4;min-height:52px;gap:22px}.btn>span{width:30px;height:30px}.link{font-size:17px;line-height:1.5}.label,.mono{font-size:13px;letter-spacing:.06em}.hero .label{font-size:13px;letter-spacing:.12em}.hero-description p{font-size:20px;line-height:1.65}.hero-discover{font-size:14px}.hero-bottom .mono{font-size:11px;letter-spacing:.08em}.hero h1{font-weight:400;letter-spacing:-.04em}.hero-description{max-width:520px}
.stats span:not(.mono):not(.stat-unit){font-size:15px;line-height:1.5}.stat-intro p{font-size:18px}.stat-intro .mono{font-size:12px}.stats strong{font-size:50px}.stats strong .stat-unit{font-size:25px}
.section-head>p,.bureau-grid>div>p,.service-body p,.resources-layout p,.faq-grid>div>p,.digital p{font-size:18px;line-height:1.8}.section-head h2,.bureau-grid h2,.resources h2,.faq-grid h2{font-size:50px;line-height:1.12;letter-spacing:-.025em}.service-body h3{font-size:32px;line-height:1.2;letter-spacing:-.02em}.service-body p{min-height:0}.service-body>.mono{font-size:12px}.service-tags{font-size:14px;line-height:1.7}.service-more{font-size:16px}.service-more b{font-size:22px}.bureau-grid blockquote{font-size:19px;line-height:1.8}.bureau-grid cite{font-size:16px}.bureau-grid cite span{font-size:14px}.values b{font-size:16px}.values>span{font-size:14px}.since>span:last-child{font-size:14px}.since .mono{font-size:12px}
.qualification-grid h3{font-size:28px;line-height:1.25}.qualification-grid p,.qualification-extra p{font-size:17px;line-height:1.7}.qualification-extra .mono{font-size:12px}.qualification-extra h3{font-size:25px}.qualifications .note,.note{font-size:14px!important;line-height:1.8!important}
.filters{flex-wrap:wrap;gap:5px}.filters button{font-size:14px;padding:9px 13px}.search input{font-size:17px}.resultline{font-size:12px;line-height:1.6}.project-info h3{font-size:21px;line-height:1.35;letter-spacing:0}.project-info p{font-size:15px;line-height:1.5}.project-photo>span{font-size:12px;letter-spacing:.04em;padding:6px 10px}.project-info>span{width:36px;height:36px}.clients-heading .mono{font-size:13px}.clients-heading p{font-size:17px}.client span{font-size:13px;line-height:1.5}.client{min-height:132px}.client img{height:42px}.method-steps h3{font-size:30px}.method-steps p{font-size:17px;line-height:1.7}.method-steps>div>span{font-size:14px}.method-footer{font-size:12px}.news-card h3{font-size:36px;line-height:1.15}.news-card>.mono{font-size:12px}.news-more{font-size:16px}.resource-list a{font-size:17px;line-height:1.6}.resource-list .pdf{font-size:11px}.faq summary{font-size:18px;line-height:1.65}.faq details p{font-size:17px;line-height:1.8}
.offices p{font-size:17px;line-height:1.7}.offices .mono{font-size:12px}.offices a{font-size:20px}.offices small{font-size:14px}.offices .official{font-size:14px}.contact-inline,.contact-whatsapp{font-size:17px}.map-caption p{font-size:15px;line-height:1.6}.map-caption{min-height:124px}.map-frame b{font-size:17px}.map-frame small{font-size:14px}.contact .map-external{font-size:16px}
.footer-top>div{font-size:16px;line-height:1.8}.footer-brand span{font-size:15px}.footer-bottom,.footer-bottom button{font-size:16px;line-height:1.8}.footer-bottom>span:last-child{font-size:14px}.footer-social>span{font-size:17px}.footer-social nav{gap:12px}.footer-social a{display:grid;place-items:center;width:50px;height:50px;padding:0;border-radius:16px;color:var(--text);background:var(--surface);border:1px solid var(--border);transition:transform .2s,box-shadow .2s,border-color .2s}.footer-social a:hover{transform:translateY(-3px);box-shadow:0 8px 20px #10213a12}.footer-social a[data-social=linkedin]{color:#0a66c2}.footer-social a[data-social=instagram]{color:#bc348a}.footer-social a[data-social=whatsapp]{color:#148449}.social-icon{width:25px;height:25px;display:block;flex-shrink:0}.whatsapp-float{display:grid;place-items:center;width:58px;height:58px;padding:0;border-radius:19px;background:#11643e;box-shadow:0 8px 28px #071b3738}.whatsapp-float .social-icon{width:29px;height:29px;color:#fff}.contact-whatsapp.social-only{display:inline-grid;place-items:center;width:48px;height:48px;border:1px solid #ffffff70;border-radius:15px;margin-top:14px;color:#fff;text-decoration:none}
dialog p,dialog li{font-size:18px;line-height:1.8}.fields label{font-size:16px;line-height:1.6}.fields input,.fields select,.fields textarea{font-size:18px;padding:12px 13px}.fields .check{font-size:15px;line-height:1.7}.form-activation,.form-status{font-size:16px!important}.quote-summary dt,.quote-summary dd{font-size:16px}.modal-actions .btn{font-size:17px}.close{width:36px;height:36px;font-size:23px}.consent-banner b{font-size:18px}.consent-banner p{font-size:16px;line-height:1.7}.consent-actions button{font-size:16px}.consent-banner{width:min(700px,calc(100% - 40px))}
.action-icon{display:inline-block;vertical-align:-.17em;width:1.15em;height:1.15em;flex-shrink:0;overflow:visible;transition:transform .22s ease}.btn .action-icon{width:20px;height:20px}.round-arrow .action-icon{width:22px;height:22px}.resource-list a>span:last-child,.project-info>span{display:grid;place-items:center}.btn:hover .action-icon,.link:hover .action-icon,.resource-list a:hover .action-icon,.project-card:hover .action-icon,.map-external:hover .action-icon{transform:translate(2px,-2px)}[dir=rtl] .action-icon{transform:scaleX(-1)}[dir=rtl] .btn:hover .action-icon,[dir=rtl] .link:hover .action-icon{transform:scaleX(-1) translate(2px,-2px)}
@media(max-width:1150px){.nav nav{display:none}.nav .menu-btn{display:block;margin-inline-start:auto}.nav nav.open{display:flex;position:absolute;inset-inline:0;top:calc(100% + 12px);flex-direction:column;align-items:flex-start;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:0 12px 35px #071b3726}.nav nav a{font-size:18px}.nav{gap:12px}.brand>div{font-size:20px}.brand img{width:48px}.nav-devis{font-size:15px}.section-head h2,.bureau-grid h2,.resources h2,.faq-grid h2{font-size:43px}}
@media(max-width:650px){body{font-size:17px}.nav{gap:8px}.brand>div{font-size:16px;letter-spacing:-.03em}.brand img{width:38px}.brand small{font-size:8px;letter-spacing:0}.language-select{font-size:13px;max-width:70px;padding:6px}.theme-toggle{width:31px;height:31px}.menu-btn{font-size:20px;padding:3px 7px}.nav-devis{display:none}.hero .label{font-size:10px;letter-spacing:.08em;max-width:100%}.hero-description p{font-size:17px;line-height:1.65}.hero-description{margin-top:25px}.hero .btn{font-size:16px;padding:13px 18px;gap:16px}.hero-discover{font-size:12px}.hero-bottom .mono{font-size:9px}.hero-v2{height:auto;min-height:800px}.hero-inner{min-height:800px;padding-bottom:135px}.hero h1{line-height:1.03}.hero-buttons{gap:16px}.stats strong{font-size:40px}.stats span:not(.mono):not(.stat-unit){font-size:13px}.stat-intro p{font-size:17px}.stat-intro .mono{font-size:11px}.section-head h2,.bureau-grid h2,.resources h2,.faq-grid h2{font-size:37px}.section-head>p,.bureau-grid>div>p,.service-body p,.resources-layout p,.faq-grid>div>p,.digital p{font-size:17px;line-height:1.75}.service-body h3{font-size:31px}.service-body>.mono{font-size:11px}.service-tags{font-size:13px}.service-more{font-size:16px}.qualification-grid p{font-size:16px}.qualification-grid h3{font-size:24px}.qualification-grid article{padding:22px 18px!important}.filters button{font-size:13px;padding:8px 10px}.project-grid{grid-template-columns:1fr}.project-photo{height:240px}.project-info h3{font-size:21px}.project-info p{font-size:15px}.project-photo>span{font-size:11px}.resultline{font-size:11px;flex-wrap:wrap;gap:5px}.client span{font-size:12px}.client{min-height:132px}.clients-heading p{font-size:16px}.news-card h3{font-size:32px}.resource-list a{font-size:16px}.faq summary{font-size:17px}.faq details p{font-size:16px}.offices p{font-size:16px}.offices a{font-size:19px}.contact-inline{font-size:16px}.map-caption{min-height:0}.map-caption p{font-size:14px}.footer-bottom,.footer-bottom button{font-size:15px}.footer-bottom>span:last-child{font-size:13px}.footer-top>div{font-size:15px}.footer-brand span{font-size:14px}.footer-social a{width:48px;height:48px}.whatsapp-float{width:54px;height:54px;bottom:77px}.mobile-quote{font-size:15px;min-height:46px;padding:10px 20px}.consent-banner{width:calc(100% - 24px);padding:20px}.consent-banner p{font-size:15px}.consent-actions button{font-size:15px}.fields input,.fields textarea,.fields select{font-size:17px}.modal-actions .btn{font-size:16px}.qualifications .note,.note{font-size:13px!important}}
@media(prefers-reduced-motion:reduce){.action-icon,.footer-social a{transition:none;transform:none!important}}
