:root{
  --bg:#0B0B0F; --bg-2:#0F0F14; --bg-card:#15151B;
  --fg:#EEEADE; --fg-2:#A8A49C; --fg-3:#7A776F;
  --rouge:#C8102E; --rouge-vif:#E0213F; --bleu:#002395; --or:#C9A84C;
  --border:rgba(238,234,222,.07); --border-2:rgba(238,234,222,.14);
  --radius:2px;
  --f-d:'Oswald','Arial Narrow',sans-serif;
  --f-s:'Lora',Georgia,serif;
  --f-u:'Inter',system-ui,sans-serif;
  --gutter:max(20px,env(safe-area-inset-left,0px));
  --gutter-r:max(20px,env(safe-area-inset-right,0px));
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:none;text-size-adjust:100%;}
body{background:var(--bg);color:var(--fg);font-family:var(--f-u);-webkit-font-smoothing:antialiased;min-height:100vh;}
img{max-width:100%;}
button{font:inherit;color:inherit;}
[hidden]{display:none!important;}
:focus-visible{outline:2px solid var(--or);outline-offset:3px;}
::selection{background:var(--rouge);color:var(--fg);}

.flag{display:flex;gap:4px;align-items:center;}
.flag span{display:block;width:16px;height:2px;border-radius:1px;}
.flag span:nth-child(1){background:var(--bleu);}
.flag span:nth-child(2){background:var(--fg);}
.flag span:nth-child(3){background:var(--rouge);}

.btn-p{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--f-d);font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--fg);background:var(--rouge);padding:16px 32px;border:none;cursor:pointer;
  border-radius:var(--radius);transition:background .15s,transform .12s;text-decoration:none;}
.btn-p:hover{background:var(--rouge-vif);transform:translateY(-1px);}
.btn-p:disabled{opacity:.45;cursor:progress;transform:none;}
.btn-s{display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--f-d);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--fg-2);border:1px solid var(--border-2);padding:13px 24px;background:none;cursor:pointer;
  border-radius:var(--radius);transition:color .15s,border-color .15s;text-decoration:none;}
.btn-s:hover{color:var(--fg);border-color:var(--fg-3);}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important;}}

.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ── Lettre : formulaire d'inscription (accueil, remerciement) et page de confirmation ── */
.nl-form{max-width:520px;margin:0 auto;}
.nl-row{display:flex;gap:10px;}
.nl-row input[type=email]{flex:1;min-width:0;background:var(--bg-card);color:var(--fg);border:1px solid var(--border-2);border-radius:var(--radius);padding:15px 16px;font:inherit;font-size:15px;}
.nl-row input[type=email]::placeholder{color:var(--fg-3);}
.nl-row input[type=email]:focus-visible{outline:2px solid var(--or);outline-offset:2px;}
.nl-row .btn-p{padding:15px 22px;white-space:nowrap;}
.nl-hp{position:absolute;left:-5000px;width:1px;height:1px;opacity:0;}
.nl-fine{font-size:12px;line-height:1.6;color:var(--fg-3);margin-top:12px;}
.nl-fine a{color:var(--fg-2);}
.nl-msg{font-size:14px;line-height:1.6;margin-top:14px;min-height:1.2em;}
.nl-msg.ok{color:#7FC79A;}
.nl-msg.ko{color:var(--rouge-vif);}
@media(max-width:520px){.nl-row{flex-direction:column;}.nl-row .btn-p{width:100%;}}
