/* Newsletter sign-up (Oct 30 2026). Loaded only on the home pages and /newsletter/ + /fr/infolettre/. Own file so site.css stays untouched. */
.nl-sec{position:relative;background:#000;padding-block:var(--sec)}
.nl-card{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,4.4vw,72px);align-items:center;
  padding:clamp(26px,4.8vw,68px);border-radius:clamp(22px,2.6vw,34px);border:1px solid rgba(255,255,255,.14);
  background:radial-gradient(120% 130% at 0% 0%,rgba(46,120,230,.26),transparent 58%),radial-gradient(90% 120% at 100% 100%,rgba(240,138,46,.17),transparent 62%),#06080e;
  box-shadow:0 30px 80px -40px rgba(60,130,255,.35)}
.nl-card::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.07),transparent 38%)}
.nl-copy{min-width:0}
.nl-mark{display:block;width:clamp(120px,12vw,156px);height:auto;margin:0 0 clamp(18px,2.2vw,28px)}
.nl-copy .eyebrow{color:#9fc4ff}
.nl-h{font-size:clamp(32px,4.4vw,58px);letter-spacing:-.035em;line-height:1.04}
.nl-lede{font-size:clamp(17px,1.5vw,21px);line-height:1.45;color:#c9c9ce;margin:18px 0 0;max-width:36ch;font-weight:500}
.nl-panel{min-width:0;padding:clamp(20px,2.4vw,32px);border-radius:22px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.13);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.nl-form{display:grid;gap:16px;margin:0}
.nl-form label{display:grid;gap:7px;font-size:14px;font-weight:600;color:#d8d8dd;letter-spacing:.005em}
.nl-form label small{font-weight:500;color:var(--mute);font-size:13px;margin-left:6px}
.nl-form input[type=email],.nl-form input[type=text]{font:inherit;font-size:17px;font-weight:500;color:#fff;width:100%;min-height:54px;padding:14px 16px;border-radius:14px;
  border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.07);transition:border-color .2s,background .2s,box-shadow .2s}
.nl-form input::placeholder{color:#7d7d85}
.nl-form input:hover{border-color:rgba(255,255,255,.4)}
.nl-form input:focus{outline:none;border-color:#F39A3D;background:rgba(255,255,255,.1);box-shadow:0 0 0 3px rgba(243,154,61,.28)}
.nl-form input[aria-invalid=true]{border-color:#ff8a78;box-shadow:0 0 0 3px rgba(255,138,120,.18)}
.nl-go{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55em;width:100%;min-height:58px;padding:0 28px;border:0;border-radius:99px;cursor:pointer;
  font:inherit;font-size:18px;font-weight:700;color:#1b1206;background:var(--accent);transition:transform .3s var(--ease),filter .3s,box-shadow .3s;
  box-shadow:0 14px 34px -14px rgba(247,201,72,.55)}
.nl-go i{font-style:normal;font-size:1.15em;transition:transform .3s var(--ease)}
.nl-go:hover{transform:scale(1.02);filter:brightness(1.06)}.nl-go:hover i{transform:translateX(4px)}
.nl-go:focus-visible{outline:3px solid #fff3cf;outline-offset:3px}
.nl-go[disabled]{cursor:progress;filter:saturate(.7) brightness(.92);transform:none}
.nl-go[disabled] i{display:none}
.nl-go[disabled]::before{content:"";width:1em;height:1em;border-radius:50%;border:2.5px solid rgba(27,18,6,.3);border-top-color:#1b1206;animation:nl-spin .8s linear infinite}
@keyframes nl-spin{to{transform:rotate(360deg)}}
.nl-fine{font-size:12.5px;line-height:1.65;color:#9b9ba3;margin:6px 0 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);max-width:62ch;text-wrap:pretty}
.nl-fine a{color:#c9c9ce;text-decoration-thickness:1px;text-underline-offset:3px;white-space:nowrap}
.nl-fine a:hover{color:#fff}
.nl-msg{margin:0;padding:12px 14px;border-radius:12px;font-size:15px;line-height:1.5;font-weight:500}
.nl-msg:empty{display:none}
.nl-msg.err{background:rgba(238,83,64,.14);border:1px solid rgba(255,138,120,.45);color:#ffd2ca}
.nl-msg.err a{color:#fff;text-underline-offset:3px}
.nl-msg.info{background:rgba(142,197,255,.1);border:1px solid rgba(142,197,255,.4);color:#d6e9ff}
.nl-ferr{margin:-6px 0 0;font-size:14px;color:#ffb4a8;font-weight:500}
.nl-ferr:empty{display:none}
.nl-hp{position:absolute!important;left:-6000px!important;top:auto;width:1px;height:1px;overflow:hidden}
.nl-ok{display:grid;gap:12px;justify-items:start;padding:clamp(4px,1vw,10px) 0;outline:none}
.nl-ok-ic{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--accent);color:#1b1206;font-size:28px;font-weight:800;line-height:1}
.nl-ok h3{font-size:clamp(24px,2.6vw,32px);letter-spacing:-.025em;line-height:1.1}
.nl-ok p{margin:0;font-size:17px;line-height:1.5;color:#d4d4d9}
.nl-ok p.nl-ok-sub{font-size:15px;color:var(--mute)}
.nl-noscript{margin:0;font-size:15px;color:#d4d4d9}
.nl-noscript a{color:#fff}
/* /newsletter/ page: what you'll find inside (light band, soft navy accents) */
.nl-inside{padding-block:var(--sec)}
.nl-inside .wrap{max-width:1080px}
.nl-inside .h-l{max-width:18ch}
.nl-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin-top:clamp(24px,3vw,40px);padding:0;list-style:none}
.nl-col{padding:clamp(20px,2.2vw,28px);border-radius:var(--r);background:#fff;border:1px solid var(--lline);border-top:3px solid #1c2f5c;box-shadow:0 18px 40px -30px rgba(28,47,92,.35)}
.nl-col b{display:block;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:#1c2f5c;font-weight:700;margin-bottom:10px}
.nl-col h3{font-size:clamp(20px,1.9vw,25px);letter-spacing:-.02em;line-height:1.15;margin-bottom:8px;color:#14223f}
.nl-col p{margin:0;font-size:16px;line-height:1.55;color:var(--lmute)}
.nl-more{margin-top:clamp(24px,3vw,36px)}
@media (max-width:860px){
  .nl-card{grid-template-columns:1fr;padding:clamp(22px,6vw,34px)}
  .nl-lede{max-width:none}
  .nl-cols{grid-template-columns:1fr}
}
@media (max-width:420px){.nl-panel{padding:18px 16px}.nl-go{font-size:17px}}
@media (prefers-reduced-motion:reduce){.nl-go,.nl-go i{transition:none}.nl-go:hover{transform:none}.nl-go[disabled]::before{animation-duration:2s}}
