/* HELFFE · header et footer v7 (généré par tools/make_hf.py, ne pas éditer à la main) */
.hf-hd,.hf-mm,.hf-ft{--porcelain-soft:#FCFAF7;--porcelain-core:#F8F4EC;--porcelain-deep:#F1EBDD; --onyx-soft:#31223E;--onyx-core:#22182E;--onyx-deep:#17101F; --carbon-soft:#4A4A50;--carbon-core:#2D2D30; --gold-soft:#FBF7EA;--gold-core:#F5EFD8;--gold-deep:#E9DFC0; --emerald-soft:#33DEAA;--emerald-core:#00D28F;--emerald-deep:#007A55; --sans:"League Spartan",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; --script:"Parisienne","Snell Roundhand",cursive; --gutter:clamp(16px,5vw,72px); --ease:cubic-bezier(.22,.61,.36,1);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.62}
.hf-hd *,.hf-mm *,.hf-ft *{box-sizing:border-box}
:where(.hf-hd,.hf-mm,.hf-ft) a{color:inherit}
:where(.hf-hd) button{font-family:inherit}
:where(.hf-ft) p{margin:0}:where(.hf-ft) h4{line-height:1.3;font-family:var(--sans)}
.hf-hd :focus-visible,.hf-mm :focus-visible,.hf-ft :focus-visible{outline:2px solid var(--emerald-core);outline-offset:3px;border-radius:4px}
.hf-ft .hf-wrap{padding-inline:var(--gutter);max-width:1360px;margin-inline:auto}
@media (prefers-reduced-motion:reduce){.hf-hd,.hf-hd *,.hf-mm,.hf-mm *,.hf-ft *{transition:none!important}}
.hf-btn{display:inline-flex;align-items:center;gap:10px;background:var(--emerald-deep);color:var(--gold-core);font-weight:600;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:12px 18px 10px;border-radius:10px;border:0;cursor:pointer;transition:background .3s;white-space:nowrap}
.hf-btn:hover{background:#006847}
/* ============ HEADER ============ */
.hf-hd{--hd-bg:var(--porcelain-core);--hd-ink:var(--onyx-core);--hd-soft:var(--gold-deep);position:fixed;top:0;left:0;right:0;padding-top:env(safe-area-inset-top,0px);z-index:40;background:color-mix(in srgb,var(--hd-bg) 94%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:background-color .45s var(--ease)}
.hf-hd.hf-dark{--hd-ink:var(--gold-core);--hd-soft:rgba(233,223,192,.35)}
.hf-hd{transition:background-color .45s var(--ease),transform .5s var(--ease)}
.hf-hd.hf-hide{transform:translateY(calc(-100% - env(safe-area-inset-top,0px)))}
@media (prefers-reduced-motion:reduce){.hf-hd{transition:none}}
.hf-hd .hf-logo,.hf-hd .hf-nl{color:var(--hd-ink);transition:color .45s var(--ease)}
.hf-hd .hf-menu-btn{color:var(--hd-ink);border-color:var(--hd-soft);transition:color .45s var(--ease),border-color .45s var(--ease)}
.hf-hd.hf-dark .hf-nl::after{background:var(--emerald-soft)}
.hf-hd-row{height:68px;display:flex;align-items:center;gap:clamp(20px,2.4vw,40px);padding-inline:clamp(16px,2.8vw,48px);max-width:1520px;margin-inline:auto}
.hf-logo{display:block;color:var(--onyx-core);text-decoration:none;flex:0 0 auto;line-height:0}
.hf-logo svg{display:block;height:42px;width:auto}
@media (max-width:600px){.hf-logo svg{height:36px}}
.hf-hd-row>.hf-btn{flex:0 0 auto;margin-left:auto}
.hf-nav{flex:1 1 auto;display:flex;align-items:stretch;justify-content:center;gap:clamp(16px,1.9vw,34px);list-style:none;margin:0;padding:0;height:68px;min-width:0}
.hf-nav>li{position:relative;display:flex;align-items:center}
.hf-nl{display:inline-flex;align-items:center;gap:.3em;height:100%;background:none;border:0;padding:0;cursor:pointer;white-space:nowrap;font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:0;color:var(--onyx-core);text-decoration:none;position:relative}
.hf-nl .hf-les{font-weight:300}
.hf-nl::after{content:"";position:absolute;left:0;right:0;bottom:16px;height:1.5px;background:var(--emerald-core);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.hf-nl:hover::after,.hf-nl[aria-current]::after,.hf-nav>li.hf-open>.hf-nl::after{transform:scaleX(1)}
.hf-nl .hf-chev{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .3s var(--ease);margin-left:4px}
.hf-nav>li.hf-open .hf-chev{transform:translateY(1px) rotate(225deg)}
.hf-dd{position:absolute;left:-24px;top:100%;min-width:30rem;padding:10px;background:var(--porcelain-soft);border:1px solid var(--gold-deep);border-top:0;border-radius:0 0 10px 10px;box-shadow:0 30px 60px -34px rgba(23,16,31,.45);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s .3s}
.hf-nav>li.hf-open .hf-dd{opacity:1;visibility:visible;transform:none;transition:opacity .3s var(--ease),transform .3s var(--ease)}
.hf-dd a{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;padding:16px 18px 14px;border-radius:8px;text-decoration:none;color:var(--onyx-core);transition:background .25s}
.hf-dd a:hover,.hf-dd a:focus-visible{background:var(--porcelain-deep)}
.hf-dd .hf-mk{grid-row:span 2;width:8px;height:8px;margin-top:9px;border-radius:50%;border:1.5px solid var(--emerald-deep)}
.hf-dd a:hover .hf-mk{background:var(--emerald-core);border-color:var(--emerald-core)}
.hf-dd b{font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.hf-dd b em{font-weight:300;font-style:normal}
.hf-dd span{font-size:14.5px;font-weight:300;line-height:1.5;color:var(--carbon-core)}
.hf-dd .hf-all{display:block;margin:4px 18px 8px;padding:12px 0 0;border-top:1px solid var(--gold-deep);border-radius:0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--carbon-soft)}
.hf-dd .hf-all:hover{background:none;color:var(--emerald-deep)}
.hf-menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--gold-deep);border-radius:10px;padding:10px 14px 8px;font:600 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--onyx-core);cursor:pointer}

/* mobile / tablet */
.hf-mm{display:none}
@media (max-width:1279px){
  .hf-nav,.hf-hd-row>.hf-btn{display:none}
  .hf-menu-btn{display:block}
  .hf-mm{display:block;position:fixed;inset:calc(68px + env(safe-area-inset-top,0px)) 0 0 0;z-index:39;background:var(--porcelain-soft);overflow:auto;padding:12px var(--gutter) 40px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s .3s}
  .hf-hd.hf-open~.hf-mm{opacity:1;visibility:visible;transform:none;transition:opacity .3s var(--ease),transform .3s var(--ease)}
  .hf-mm ul{list-style:none;margin:0;padding:0}
  .hf-mm>ul>li{border-bottom:1px solid var(--gold-deep)}
  .hf-mm a{display:flex;align-items:center;min-height:56px;text-decoration:none;font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--onyx-core)}
  .hf-mm a em{font-style:normal;font-weight:300;margin-right:.3em}
  .hf-mm .hf-sub{padding:0 0 14px 18px;border-left:1px solid var(--gold-deep);margin-left:4px}
  .hf-mm .hf-sub a{min-height:44px;font-size:17px;font-weight:600}
  .hf-mm .hf-sub a em{font-weight:300}
  .hf-mm a.hf-btn{margin-top:28px;width:100%;min-height:0;justify-content:center;font-size:13px;font-weight:600;letter-spacing:.12em;color:var(--gold-core);padding:17px 20px 15px}
}


/* ============ FOOTER ============ */
.hf-ft{background:var(--porcelain-core);border-top:1px solid var(--gold-deep);padding-block:clamp(64px,7vw,104px) 36px}
.hf-ft-g{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:clamp(32px,4vw,64px)}
.hf-ft .hf-logo svg{height:64px}
.hf-ft-tag{margin-top:14px;font-size:14.5px;font-weight:300;color:var(--carbon-soft);max-width:22rem;line-height:1.55}
.hf-ft-cta{margin-top:26px}
.hf-ft h4{min-height:2.9em;margin:0 0 14px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--carbon-soft)}
.hf-ft ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.hf-ft ul a{font-size:15.5px;font-weight:400;color:var(--onyx-core);text-decoration:none;background-image:linear-gradient(var(--emerald-core),var(--emerald-core));background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .35s var(--ease)}
.hf-ft ul a:hover{background-size:100% 1px}
.hf-ft ul a em{font-style:normal;font-weight:300}
.hf-ft ul a b{font-weight:600}
.hf-ft-sub{margin-top:18px}
.hf-ft .hf-ft-soc{flex-direction:row;flex-wrap:wrap;gap:8px 28px}
.hf-ft .hf-ft-soc a{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--onyx-core);padding-bottom:4px;background-size:100% 1px;background-image:linear-gradient(var(--gold-deep),var(--gold-deep))}
.hf-ft .hf-ft-soc a:hover{color:var(--emerald-deep);background-image:linear-gradient(var(--emerald-core),var(--emerald-core))}
.hf-ft .hf-ft-soc i{font-style:normal}
.hf-ft-base{margin-top:clamp(48px,6vw,80px);padding-top:22px;border-top:1px solid var(--gold-deep);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 28px;font-size:13px;color:var(--carbon-soft)}
.hf-ft-base ul{flex-direction:row;flex-wrap:wrap;gap:8px 24px}
.hf-ft-base ul a{font-size:13px;color:var(--carbon-soft)}
@media (max-width:900px){.hf-ft-g{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hf-ft-brand{grid-column:1/-1}}
@media (max-width:560px){.hf-ft-g{grid-template-columns:minmax(0,1fr)}}

