
/* Navigation et pied de page autonomes, fideles aux composants Claude. */
.hsi-site-header { position:sticky; top:0; z-index:50; background:var(--surface-page,#fff); border-bottom:1px solid var(--border-default,#e3e3e3); font-family:var(--font-body,Arial,sans-serif); }
.hsi-site-header a, .hsi-site-footer a { text-decoration:none; }
.hsi-header-inner { max-width:var(--container-max,1280px); margin:0 auto; padding:0 var(--gutter,32px); height:76px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.hsi-header-logo { display:flex; align-items:center; flex:none; }
.hsi-header-logo img { width:auto; height:36px; display:block; }
.hsi-desktop-links { display:flex; align-items:stretch; gap:28px; height:76px; margin-left:auto; }
.hsi-desktop-links a { position:relative; display:flex; align-items:center; font-size:15px; font-weight:500; color:var(--text-strong,#1a1a1a); white-space:nowrap; }
.hsi-desktop-links a:hover { color:var(--color-primary,#007550); }
.hsi-desktop-links a[aria-current="page"]::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:3px; background:var(--color-primary,#007550); }
.hsi-header-contact { flex:none; display:inline-flex; align-items:center; justify-content:center; padding:10px 22px; min-height:40px; box-sizing:border-box; border-radius:var(--radius-sm,6px); color:#fff !important; background:var(--color-primary,#007550); font-size:15px; font-weight:600; white-space:nowrap; }
.hsi-header-contact:hover { background:var(--color-primary-hover,#006344); }
.hsi-mobile-menu { display:none; }
.hsi-site-footer { background:var(--surface-brand-deep,#003d2a); color:var(--hsi-green-100,#c7e6d8); font-family:var(--font-body,Arial,sans-serif); }
.hsi-footer-inner { max-width:var(--container-max,1280px); margin:0 auto; padding:72px var(--gutter,32px) 0; }
.hsi-footer-cols { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:48px; padding-bottom:56px; }
.hsi-footer-col { display:flex; flex-direction:column; gap:16px; }
.hsi-footer-title { font-size:12px; font-weight:600; letter-spacing:var(--tracking-caps,.09em); text-transform:uppercase; color:var(--hsi-green-200,#94cfb4); }
.hsi-site-footer a { color:#fff; }
.hsi-site-footer a:hover { text-decoration:underline; }
.hsi-footer-contact-row { display:flex; align-items:center; gap:10px; color:var(--hsi-green-100,#c7e6d8); font-size:15px; }
.hsi-footer-bottom { border-top:1px solid var(--hsi-green-700,#005037); padding:20px 0 28px; display:flex; flex-wrap:wrap; gap:8px 28px; font-size:13px; color:var(--hsi-green-200,#94cfb4); }
.hsi-footer-bottom .hsi-copyright { margin-left:auto; }
.hsi-footer-legal { color:var(--hsi-green-100,#c7e6d8); }
@media (max-width:1079px) {
  .hsi-desktop-links, .hsi-header-contact { display:none; }
  .hsi-mobile-menu { display:block; margin-left:auto; position:relative; }
  .hsi-mobile-menu summary { list-style:none; display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid var(--border-strong,#c6c6c6); border-radius:var(--radius-sm,6px); background:var(--surface-card,#fff); cursor:pointer; color:var(--text-strong,#1a1a1a); }
  .hsi-mobile-menu summary::-webkit-details-marker { display:none; }
  .hsi-mobile-panel { position:absolute; z-index:100; top:54px; right:0; width:min(360px,calc(100vw - 32px)); padding:8px 20px 20px; background:var(--surface-page,#fff); border:1px solid var(--border-default,#e3e3e3); border-radius:0 0 8px 8px; box-shadow:0 12px 32px rgba(0,0,0,.12); box-sizing:border-box; }
  .hsi-mobile-panel a { display:flex; justify-content:space-between; align-items:center; min-height:52px; border-bottom:1px solid var(--border-default,#e3e3e3); font-size:17px; font-weight:500; color:var(--text-strong,#1a1a1a); }
  .hsi-mobile-panel a[aria-current="page"]::after { content:""; width:8px; height:8px; border-radius:2px; background:var(--color-primary,#007550); }
  .hsi-mobile-panel a.hsi-mobile-contact { justify-content:center; color:#fff; background:var(--color-primary,#007550); border-radius:6px; margin-top:20px; border:0; }
}
@media (max-width:620px) {
  .hsi-header-inner { padding:0 20px; }
  .hsi-footer-inner { padding:52px 24px 0; }
  .hsi-footer-cols { gap:36px; padding-bottom:36px; }
  .hsi-footer-bottom .hsi-copyright { margin-left:0; width:100%; }
}
