:root{color-scheme:light;--bg:#FAF7F2;--surface:#fff;--surface2:#F3E8DD;--text:#3F2C24;--muted:#756257;--line:rgba(74,51,40,.13);--accent:#C8795A;--accent2:#8B4D38;--shadow:0 18px 55px rgba(74,51,40,.12);--radius:22px}
body.dark{color-scheme:dark;--bg:#181412;--surface:#241D1A;--surface2:#32261F;--text:#FFF8F2;--muted:#D6C8BE;--line:rgba(255,248,242,.14);--accent:#E19A78;--accent2:#F1BFA8;--shadow:0 18px 55px rgba(0,0,0,.35)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'Nunito Sans',Arial,sans-serif;line-height:1.65;transition:background .25s,color .25s}a{color:inherit}.wrap{max-width:1160px;margin:auto;padding:0 24px}.nav{position:sticky;top:0;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);z-index:10}.navin{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;text-decoration:none}.brand-text{display:none}.logo-img{height:54px;width:auto;max-width:220px;object-fit:contain}.logo-light{display:block}.logo-dark{display:none}body.dark .logo-light{display:none}body.dark .logo-dark{display:block}.menu{display:flex;gap:18px;align-items:center;font-size:15px;font-weight:700}.menu a{text-decoration:none;color:var(--muted)}.menu a:hover{color:var(--accent)}.theme-toggle{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:9px 12px;cursor:pointer;font-weight:800;min-width:44px;min-height:44px}.hero{padding:72px 0}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:46px;align-items:center}.eyebrow{color:var(--accent);font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:13px}.h1{font-family:Lora,serif;font-size:66px;line-height:1.02;margin:12px 0 18px;letter-spacing:-.05em}.lead{font-size:21px;color:var(--muted);max-width:660px}.btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.btn{padding:13px 18px;border-radius:14px;text-decoration:none;font-weight:800}.primary{background:var(--accent);color:white}.secondary{border:1px solid var(--line);background:var(--surface)}.hero-card{border-radius:32px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--line)}.hero-card img{width:100%;height:360px;object-fit:cover;display:block}.hero-quote{padding:26px;background:linear-gradient(135deg,var(--surface),var(--surface2))}.hero-quote strong{font-family:Lora,serif;font-size:30px;line-height:1.15;display:block}.hero-quote p{margin:10px 0 0;color:var(--muted)}.section{padding:56px 0}.section h2,.content h1{font-family:Lora,serif;font-size:44px;line-height:1.13;letter-spacing:-.035em;margin:0 0 18px}.intro-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 8px 28px rgba(74,51,40,.06)}.cardgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px;text-decoration:none;box-shadow:0 4px 18px rgba(74,51,40,.04);transition:transform .18s,box-shadow .18s}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.card h3{font-family:Lora,serif;margin:8px 0 8px;font-size:22px;line-height:1.2}.card p{color:var(--muted);margin:0}.thumb{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:14px;background:var(--surface2)}.content{max-width:820px;margin:0 auto;padding:58px 24px}.content p,.content li{font-size:18px}.content h2{font-family:Lora,serif;margin:38px 0 10px;font-size:30px}.meta{color:var(--accent);font-weight:800}.article-hero,.category-hero{width:100%;aspect-ratio:16/8.5;object-fit:cover;border-radius:24px;margin:20px 0 30px;box-shadow:var(--shadow);background:var(--surface2)}.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.email-link{font-size:inherit;font-weight:800;color:var(--accent);text-decoration:none;word-break:break-word}.notice{background:var(--surface2);border-left:4px solid var(--accent);padding:18px;border-radius:14px}.footer{padding:38px 0;border-top:1px solid var(--line);color:var(--muted)}.footerin{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.footer a{text-decoration:none;font-weight:700}.quote-strip{border-radius:26px;padding:34px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:white}.quote-strip p{font-family:Lora,serif;font-size:30px;line-height:1.25;margin:0}.mobile-contact{display:none}.cat-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.pill{padding:10px 13px;border:1px solid var(--line);border-radius:999px;text-decoration:none;background:var(--surface);font-weight:800;color:var(--muted)}@media(max-width:860px){.logo-img{height:44px;max-width:170px}.menu a{display:none}.menu a.mobile-contact{display:inline}.hero-grid,.cardgrid{grid-template-columns:1fr}.h1{font-size:48px}.hero{padding:48px 0}.hero-card img{height:280px}.section h2,.content h1{font-size:36px}.wrap{padding:0 18px}.content{padding:42px 18px}.footerin{display:block}}

.author-note{margin:34px 0;padding:20px 24px;border-left:4px solid var(--accent);background:var(--surface2);border-radius:0 var(--radius) var(--radius) 0;font-style:italic;color:var(--text)}
.author-note p{margin:0}
.pubdate{color:var(--muted);font-size:.92rem}
.contact-form{display:grid;gap:16px;margin:26px 0;max-width:560px}
.contact-form label{font-weight:700;display:block;margin-bottom:6px}
.contact-form input,.contact-form textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font-family:inherit;font-size:1rem}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--accent);border-color:transparent}
.contact-form textarea{min-height:150px;resize:vertical}
.contact-form button{justify-self:start;font-size:1.02rem;font-family:inherit;border:none;cursor:pointer;padding:14px 26px}
.hidden-field{display:none}
.err-hero{text-align:center;padding:90px 24px}
.err-hero .code{font-family:Lora,Georgia,serif;font-size:6rem;font-weight:700;color:var(--accent);line-height:1;margin:0}
@media(max-width:600px){
.h1{font-size:2.3rem}
.navin{flex-wrap:wrap;padding:10px 0;min-height:0;row-gap:6px}
.menu{flex-wrap:wrap;gap:8px 14px;font-size:.92rem}
.logo-img{height:42px}
.btns{flex-direction:column}
.btns .btn{width:100%;text-align:center;box-sizing:border-box}
.err-hero .code{font-size:4.2rem}
}

main img{max-width:100%;height:auto}

/* --- typographie justifiee & mises en page --- */
.content p,.content .lead,.intro-box p,.card p,.author-note p,.contact-card p{text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}
.content .lead{line-height:1.75}
.intro-box{max-width:840px;margin-inline:auto;padding:44px 48px}
.intro-box h2{text-align:center;margin-top:0}
.intro-box p{font-size:1.05rem;line-height:1.8;margin:14px 0 0}
.intro-box .lead{font-size:1.12rem}
.quote-strip{text-align:center;padding:48px 44px}
.quote-strip p{font-family:Lora,Georgia,serif;font-style:italic;font-size:1.35rem;line-height:1.65;max-width:800px;margin:0 auto;text-align:center}
.pubdate,.meta{text-align:left}
.err-hero p,.err-hero .lead{text-align:center}
@media(max-width:600px){.intro-box{padding:28px 22px}.quote-strip{padding:32px 22px}.quote-strip p{font-size:1.15rem}}
