/* Client review, 31 October 2026: shared navigation and footer. */
html{scroll-padding-top:var(--pj-header-clearance,140px)}
.site-header{height:124px;gap:20px}
.site-header .brand{gap:15px;flex:0 0 auto}
.site-header .client-logo{width:88px;height:88px}
.site-header .brand>span:not(.brand-mark){display:block;font-size:22px;line-height:1.15;font-weight:600;letter-spacing:-.035em}
.site-header .brand small{display:block;font-size:10px;line-height:1.7;letter-spacing:.17em;font-weight:500}
.site-header .desktop-nav,.pj-language-fr .site-header .desktop-nav{gap:clamp(14px,1.65vw,26px);align-items:center;margin-left:auto}
.site-header .desktop-nav a{font-size:14px;font-weight:500;white-space:nowrap}
.site-header .header-actions{gap:14px;margin-left:4px;flex-shrink:0}
.site-header .header-hire{font-size:12px;padding:14px 18px;gap:15px}
.site-header.is-sticky,body.menu-open .site-header{position:fixed;top:var(--pj-admin-offset,0px);background:rgba(23,43,58,.97);color:var(--ivory);border-bottom:1px solid #ffffff21;box-shadow:0 8px 36px #07131e20;backdrop-filter:blur(16px);z-index:100}
.site-header.is-sticky{animation:pj-header-arrive .25s ease-out both}
.site-header .brand:focus-visible,.site-header.is-sticky a:focus-visible{outline-color:var(--peach)}
@keyframes pj-header-arrive{from{opacity:.65;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.mobile-menu{z-index:90;overflow-y:auto}
.footer{padding-top:76px}
.footer .footer-main{grid-template-columns:minmax(310px,1.8fr) repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,70px);padding-bottom:64px}
.footer-main>.footer-brand{min-width:0;grid-column:auto;grid-row:auto}
.footer .footer-brand .brand{gap:18px;align-items:center;margin-bottom:24px}
.footer .footer-brand .client-logo{width:112px;height:112px}
.footer .footer-brand .brand>span{display:block;font-size:clamp(27px,2.5vw,38px);line-height:1.12;letter-spacing:-.035em;font-weight:600;min-width:0}
.footer .footer-brand .brand small{display:block;font-size:13px;letter-spacing:.16em;line-height:1.9;font-weight:500}
.footer-canadian{font-size:13px;line-height:1.65;letter-spacing:.08em;font-weight:500;text-transform:uppercase;margin:0 0 22px;max-width:440px;color:var(--peach)}
.footer-company-info{font-size:16px;line-height:1.8;color:#f1eee7;max-width:400px}
.footer-company-info strong{font-size:16px;font-weight:600}
.footer .footer-address{font-size:16px;line-height:1.8;margin-top:8px;font-weight:500;max-width:360px}
.footer .footer-main nav{grid-column:auto;grid-row:auto;align-self:start;margin-top:8px;font-size:16px;gap:14px;line-height:1.7;min-width:0}
.footer .footer-main nav .eyebrow{font-size:12px;letter-spacing:.12em;margin-bottom:12px;color:var(--peach)}
.footer .footer-main nav a{overflow-wrap:anywhere}
.footer .footer-bottom{font-size:12px;line-height:1.6;padding:26px 0;gap:18px;border-top:1px solid #ffffff33;align-items:center}
.pj-agency-contact{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:24px}
.pj-agency-contact a{display:inline-flex;align-items:center;gap:12px;font-size:15px;line-height:1.6;text-decoration:none}
.pj-agency-contact .agency-phone{font-weight:600;font-size:18px;letter-spacing:-.015em}
.pj-agency-contact .agency-whatsapp{border-bottom:1px solid currentColor;padding-bottom:3px}
.footer .agency-phone{color:var(--ivory)}
.footer .agency-whatsapp{color:var(--peach)}
.contact-paths .pj-agency-contact{padding:12px 0 22px;flex-direction:column;align-items:flex-start}
.contact-paths .pj-agency-contact a{border:0;padding:0;font-size:17px}
.pj-builder-preview .site-header{position:relative;top:0}
@media(max-width:1180px){
 .site-header{height:112px}
 .site-header .client-logo{width:80px;height:80px}
 .site-header .brand>span:not(.brand-mark){font-size:22px}
 .site-header .desktop-nav{display:none}
 .site-header .menu-toggle{display:block}
 .site-header .header-actions{margin-left:auto}
 .mobile-menu.open{display:block;padding-top:160px}
 .footer .footer-main{grid-template-columns:minmax(260px,1.6fr) repeat(3,minmax(0,1fr));gap:30px}
 .footer .footer-brand .client-logo{width:90px;height:90px}
 .footer .footer-brand .brand{gap:14px}
 .footer .footer-brand .brand>span{font-size:28px}
 .footer .footer-brand .brand small{font-size:11px}
 .footer .footer-main nav{font-size:15px}
}
@media(max-width:950px){
 .site-header .brand>span:not(.brand-mark){font-size:21px}
 .footer .footer-main{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}
 .footer-main>.footer-brand{grid-column:1/-1;max-width:620px}
 .footer .footer-brand .brand>span{font-size:36px}
 .footer .footer-brand .client-logo{width:112px;height:112px}
 .footer-company-info{max-width:500px}
 .footer .footer-canadian{max-width:500px}
 .footer .footer-main nav:nth-of-type(n){grid-column:auto;grid-row:auto;margin-top:0;align-self:start}
}
@media(max-width:640px){
 .site-header{height:104px;padding:0 20px;gap:12px}
 .site-header .brand{gap:10px}
 .site-header .client-logo{width:68px;height:68px}
 .site-header .brand>span:not(.brand-mark){font-size:18px}
 .site-header .brand small{font-size:8px;letter-spacing:.1em;line-height:1.8}
 .site-header .header-hire{display:none}
 .site-header .header-actions{gap:11px;margin-left:auto}
 .site-header .menu-toggle{width:28px}
 .mobile-menu.open{padding:145px 24px 40px}
 .footer{padding-top:50px}
 .footer .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px;padding-bottom:42px}
 .footer-main>.footer-brand{grid-column:1/-1}
 .footer .footer-brand .brand{gap:17px}
 .footer .footer-brand .client-logo{width:96px;height:96px}
 .footer .footer-brand .brand>span{font-size:30px}
 .footer .footer-brand .brand small{font-size:11px}
 .footer-canadian{font-size:11px;letter-spacing:.06em}
 .footer-company-info,.footer .footer-address,.footer-company-info strong{font-size:15px}
 .footer .footer-main nav:nth-of-type(3){grid-column:1/-1}
 .footer .footer-main nav{font-size:15px;gap:12px}
 .footer .footer-main nav .eyebrow{font-size:11px;margin-bottom:6px}
 .footer .footer-bottom{font-size:11px;align-items:flex-start;flex-direction:column;gap:10px}
 .pj-agency-contact .agency-phone{font-size:18px}
}
@media(max-width:360px){
 .site-header{height:96px;padding:0 14px;gap:10px}
 .site-header .client-logo{width:58px;height:58px}
 .site-header .brand{gap:8px}
 .site-header .brand>span:not(.brand-mark){font-size:16px}
 .site-header .brand small{font-size:7px}
 .site-header .header-actions{gap:8px}
 .site-header .menu-toggle{width:24px}
 .site-header .pj-language-switch{font-size:9px;padding:2px}
 .site-header .pj-language-switch a{padding:8px 5px}
 .footer .footer-brand .client-logo{width:82px;height:82px}
 .footer .footer-brand .brand>span{font-size:26px}
 .footer .footer-brand .brand small{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.site-header.is-sticky{animation:none}}
/* Reserve the sticky navigation area while the ribbon is pinned. */
:root{--pj-sticky-height:124px}
@media(min-width:951px){.industry-scene{height:calc(100svh - var(--pj-sticky-height));min-height:min(650px,calc(100svh - var(--pj-sticky-height)));max-height:1026px}}
@media(min-width:951px) and (max-width:1180px){:root{--pj-sticky-height:112px}}
