/* Newsletter SuisseFidu : bandeau d'inscription en tête du pied de page (charte liquid glass) */
.nl{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:28px 48px;align-items:center;margin:0 0 clamp(40px,5vw,56px);padding:clamp(24px,3.4vw,36px);border-radius:clamp(22px,3vw,32px);color:var(--on-dark);background:rgb(255 255 255/.06);-webkit-backdrop-filter:blur(28px) saturate(175%);backdrop-filter:blur(28px) saturate(175%);box-shadow:inset 0 1px 0 rgb(255 255 255/.22),inset 0 0 0 1px rgb(255 255 255/.10),0 30px 64px -30px rgb(0 0 0/.6)}
.nl-k{display:inline-flex;align-items:center;gap:12px;font:600 .78rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#8fc6ff}
.nl-k::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.nl h2{margin:14px 0 10px;font:600 clamp(1.5rem,2.6vw,2rem)/1.1 var(--f-display);letter-spacing:-.03em;color:#fff;text-wrap:balance}
.nl h2 em{color:#8fc6ff}
.nl-t p{font-size:15px;line-height:1.5;color:var(--on-dark-2);max-width:44ch}
.nl-f{display:grid;gap:12px;min-width:0}
.nl-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) auto;gap:10px}
.nl-in{width:100%;height:48px;padding:0 16px;border-radius:999px;border:1px solid rgb(255 255 255/.18);background:rgb(255 255 255/.08);color:#fff;font:inherit;font-size:15px;box-shadow:inset 0 1px 0 rgb(255 255 255/.12);transition:border-color .25s ease,background .25s ease}
.nl-in::placeholder{color:#9fb3cf}
.nl-in:focus{outline:none;border-color:#8fc6ff;background:rgb(255 255 255/.12)}
.nl-in:focus-visible{outline:2px solid #8fc6ff;outline-offset:2px}
.nl .btn{height:48px}
.nl-c{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:var(--on-dark-2);cursor:pointer}
.nl-c input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:#2997ff}
.nl-n{min-height:1.4em;font-size:13px;line-height:1.4;color:#8fc6ff}
.nl-n.err{color:#ffb4a8}
.nl-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:860px){.nl{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.nl-row{grid-template-columns:minmax(0,1fr)}.nl .btn{width:100%}}
