html.dark { color-scheme: dark; }
img { height:auto; }
body { min-height:100vh; display:flex; flex-direction:column; }
body main { flex:1 0 auto; }
body .nav { position:sticky; top:0; z-index:10; background:rgba(255,255,255,.97); border-bottom:1px solid #dbe6f3; backdrop-filter:blur(10px); }
.nav .nav-in,.nav .nav-inner { width:min(1120px,calc(100% - 40px)); min-height:76px; height:auto; margin:auto; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.nav .brand { display:flex; align-items:center; gap:10px; color:#0751aa; font:700 20px/1.2 Arial,Helvetica,sans-serif; letter-spacing:-.03em; text-decoration:none; white-space:nowrap; }
.nav .brand b { color:#22a92f; }
.nav .brand img { width:43px; height:31px; object-fit:contain; }
.nav .links { display:flex; align-items:center; gap:22px; color:#33445b; font:700 14px/1.3 Arial,Helvetica,sans-serif; }
.nav .links a { text-decoration:none; }
.nav .links .active { color:#0751aa; }
body footer { padding:30px 0; border-top:1px solid #dbe6f3; color:#647389; font:14px/1.45 Arial,Helvetica,sans-serif; }
footer .foot { width:min(1120px,calc(100% - 40px)); margin:auto; display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
footer .foot b { color:#0751aa; }
html.dark body { background:#0e1724 !important; color:#eaf2fb !important; }
html.dark .nav { background:rgba(14,23,36,.96) !important; border-color:#273a52 !important; }
html.dark .links, html.dark .links a, html.dark .brand { color:#eaf2fb !important; }
html.dark .brand b, html.dark .links .active { color:#65dc70 !important; }
html.dark .hero, html.dark .included, html.dark .service.alt, html.dark .canadian { background:linear-gradient(125deg,#111e2e,#122b47 70%,#13291d) !important; }
html.dark .card, html.dark .includes, html.dark .aside, html.dark .quick a, html.dark .button.outline { background:#152235 !important; border-color:#29435f !important; color:#eaf2fb !important; }
html.dark .cta { background:#122b47 !important; }
html.dark .cta h2 { color:#f0f6ff !important; }
html.dark .cta p { color:#c1d0df !important; }
html.dark p, html.dark .lead, html.dark .card p, html.dark .story p, html.dark .section-heading p, html.dark .step p, html.dark .includes li { color:#c1d0df !important; }
html.dark .service, html.dark footer { border-color:#273a52 !important; }
html.dark .button.outline { color:#a9d5ff !important; }
html.dark .canadian-mark { background:#152235 !important; border-color:#29435f !important; }
html.dark .local-reach { background:#0e1724 !important; }
html.dark .local-reach .tag-list li, html.dark .local-reach .service-links a { background:#152235 !important; border-color:#29435f !important; color:#a9d5ff !important; }
html.dark .content.alt { background:#111e2e !important; }
.canadian { padding:70px 0; background:#f3f8ff; }
.canadian-inner { display:grid; grid-template-columns:140px 1fr; gap:42px; align-items:center; }
.canadian-mark { display:grid; place-items:center; width:140px; height:140px; border:1px solid #dbe6f3; border-radius:50%; background:#fff; color:#d80621; box-shadow:0 16px 36px rgba(19,54,91,.1); font:82px/1 Arial,"Segoe UI Symbol",sans-serif; }
.canadian h2 { margin:7px 0 12px; font-size:clamp(30px,4vw,43px); line-height:1.14; letter-spacing:-.04em; }
.canadian p { max-width:740px; margin:0; color:#5e6d80; font-size:18px; }
.about-canadian + .experience { margin-top:0; }
.foot { flex-wrap:wrap; align-items:center; }
.footer-left { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.footer-social { display:flex; align-items:center; gap:7px; }
.social-link { display:inline-grid; place-items:center; width:34px; height:34px; border:1px solid #dbe6f3; border-radius:50%; background:#fff; color:#0a66c2; transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease; }
.social-link svg { display:block; width:19px; height:19px; }
.social-link:hover { transform:translateY(-1px); border-color:#0751aa; box-shadow:0 5px 13px rgba(19,54,91,.13); }
.social-link:focus-visible { outline:3px solid rgba(7,81,170,.28); outline-offset:2px; }
.footer-location { margin-left:auto; text-align:right; }
html.dark .social-link { background:#152235; border-color:#29435f; color:#78b7f0; }
@media(max-width:800px){.canadian-inner{grid-template-columns:1fr;gap:24px;text-align:center}.canadian-mark{margin:auto}.canadian p{margin:auto}.footer-left{gap:10px}.footer-location{margin-left:0;text-align:left}}
.theme-toggle { border:1px solid #bed3ea; border-radius:6px; padding:9px 11px; background:transparent; color:#33445b; font:700 13px Arial,Helvetica,sans-serif; cursor:pointer; }
html.dark .theme-toggle { border-color:#3d5975; color:#eaf2fb; }
.mobile-menu-toggle { display:none; border:1px solid #bed3ea; border-radius:6px; padding:9px 11px; background:transparent; color:#33445b; font:700 13px Arial,Helvetica,sans-serif; cursor:pointer; }
.mobile-menu { display:none; }
.services-dropdown{position:relative;display:flex;align-items:center}.services-submenu{display:none;position:absolute;top:100%;left:-12px;width:250px;padding:9px;background:#fff;border:1px solid #dbe6f3;border-radius:0 0 8px 8px;box-shadow:0 12px 25px rgba(14,33,56,.14)}.services-dropdown:hover .services-submenu,.services-dropdown:focus-within .services-submenu{display:grid;gap:3px}.services-submenu a{padding:9px 10px;color:#33445b;font-size:13px}.services-submenu a:hover{background:#f3f8ff;color:#0751aa}html.dark .services-submenu{background:#152235;border-color:#29435f}html.dark .services-submenu a{color:#eaf2fb}html.dark .services-submenu a:hover{background:#1c314a}
html.dark .mobile-menu-toggle { border-color:#3d5975; color:#eaf2fb; }
@media(max-width:800px){
  .theme-toggle,.mobile-menu-toggle{padding:8px 9px;font-size:12px}
  .mobile-menu-toggle{display:block}
  .services-dropdown{display:none}
  .links .button{display:none}
  .mobile-menu{display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;padding:12px 15px 16px;background:#fff;border-bottom:1px solid #dbe6f3;box-shadow:0 12px 25px rgba(14,33,56,.14)}
  .mobile-menu.open{display:grid;gap:7px}
  .mobile-menu a{padding:12px 14px;border:1px solid #dbe6f3;border-radius:6px;color:#33445b;font:700 15px Arial,Helvetica,sans-serif}
  .mobile-menu a[data-service-link]{margin-left:14px;border-left:3px solid #22a92f;font-size:13px}
  .mobile-menu a.active{color:#0751aa;border-color:#9fc5e8}
  html.dark .mobile-menu{background:#0e1724;border-color:#273a52}
  html.dark .mobile-menu a{border-color:#29435f;color:#eaf2fb;background:#152235}
  html.dark .mobile-menu a.active{color:#8bc8ff;border-color:#3d6f9f}
}
@media(max-width:800px){
  .nav .nav-in,.nav .nav-inner{width:min(1120px,calc(100% - 30px));min-height:68px;gap:12px}
  .nav .brand{font-size:18px}
  .nav .brand img{width:40px;height:29px}
  footer .foot{width:min(1120px,calc(100% - 30px));flex-direction:column;align-items:flex-start;gap:12px}
}
