.newsletter-page { max-width:1240px; margin:auto; padding-inline:clamp(20px,4vw,48px); }
.newsletter-hero { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(32px,6vw,80px); align-items:center; padding-block:clamp(44px,7vw,90px); }
.newsletter-page h1 { font-size:clamp(52px,6vw,82px); line-height:1.02; letter-spacing:-.055em; margin:18px 0 24px; }
.newsletter-page h1 span { color:var(--accent-sombre); }
.newsletter-copy > p:not(.eyebrow) { max-width:40ch; font-size:19px; line-height:1.6; }
.newsletter-reperes { display:flex; flex-wrap:wrap; gap:10px 20px; padding:0; margin:28px 0; list-style:none; font-size:13px; color:var(--ink-doux); }
.newsletter-reperes li::before { content:'✓'; color:var(--accent-sombre); margin-right:7px; }
.newsletter-signup { padding:clamp(24px,4vw,38px); border:1px solid var(--line); border-radius:28px; background:#fffdf8; box-shadow:0 22px 48px -30px #101d3540; }
.newsletter-signup h2 { font-size:24px; letter-spacing:-.03em; margin:0 0 12px; }
.newsletter-signup > p { font-size:15px; line-height:1.6; }
.newsletter-signup form { display:grid; gap:18px; margin-top:24px; }
.newsletter-signup label:not(.case) { display:grid; gap:8px; font-size:14px; }
.newsletter-signup input[type=email] { width:100%; min-width:0; padding:15px; border:1px solid var(--line); border-radius:12px; font:inherit; background:#f7f2e9; font-size:16px; }
.newsletter-signup .case { display:flex; align-items:flex-start; gap:10px; font-size:13px; line-height:1.6; }
.newsletter-signup input[type=checkbox] { flex:none; width:18px; height:18px; margin-top:3px; accent-color:var(--accent-sombre); }
.newsletter-signup button { width:100%; justify-content:space-between; }
.newsletter-signup button:disabled { opacity:.55; }
.newsletter-page .fineprint { font-size:13px; line-height:1.6; }
#newsletter-status:empty { display:none; }
#newsletter-status:not(:empty) { padding:14px; border-radius:12px; background:#e7f2ec; font-size:14px; }
.newsletter-sample { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(30px,5vw,70px); align-items:center; padding:56px 0 80px; border-top:1px solid var(--line); }
.newsletter-sample h2 { font-size:clamp(30px,4vw,46px); letter-spacing:-.04em; line-height:1.12; }
.newsletter-sample p { max-width:44ch; font-size:16px; line-height:1.7; }
.newsletter-letter { overflow:hidden; border:1px solid var(--line); border-radius:22px; background:#fffdf8; transform:rotate(-1deg); box-shadow:0 24px 60px -32px #101d3545; }
.newsletter-letter-head { padding:26px 30px; background:var(--nuit); color:#fffdf8; }
.newsletter-letter-head b { display:block; font-size:12px; color:#a7decc; letter-spacing:.09em; text-transform:uppercase; margin-bottom:18px; }
.newsletter-letter-head strong { font-size:34px; line-height:1.1; letter-spacing:-.035em; }
.newsletter-letter-body { padding:22px 30px; }
.newsletter-letter-body p { margin:10px 0 20px; font-size:14px; }
.newsletter-letter-body h3 { font-size:17px; margin:20px 0 6px; }
.newsletter-manage { margin-block:30px; padding:28px; border:1px solid #b9d8c9; border-radius:20px; background:#e7f2ec; }
.newsletter-manage[hidden] { display:none; }
.newsletter-manage h2 { font-size:28px; margin-top:0; }
@media(max-width:760px) { .newsletter-hero,.newsletter-sample { grid-template-columns:1fr; gap:30px; } .newsletter-page h1 { font-size:clamp(48px,11vw,72px); } .newsletter-signup { padding:24px; } .newsletter-letter { transform:none; } }
@media(prefers-reduced-motion:reduce) { .newsletter-letter { transform:none; } }
