:root{ --pageBg:#F4EDE1; --ink:#2A201A; --sub:#5C5044; --accent:#C6863A; --brand:#8A4F2B; --sectionAlt:#EADFCB; --card:#FFFFFF; --border:#E6DAC7; --chip:#F1E7D6; }
*{ box-sizing:border-box; }
body{ margin:0; background:var(--pageBg); color:var(--ink); font-family:'Hanken Grotesk',system-ui,sans-serif; line-height:1.6; }
.wrap{ max-width:820px; margin:0 auto; padding:0 22px; }
header.site{ background:var(--pageBg); border-bottom:1px solid var(--border); }
header.site .wrap{ display:flex; align-items:center; justify-content:space-between; padding-top:16px; padding-bottom:16px; }
.logo{ display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink); }
.logo img{ width:36px; height:36px; border-radius:10px; }
.logo span{ font-family:'Unbounded',sans-serif; font-weight:700; font-size:17px; }
.cta-top{ text-decoration:none; background:var(--brand); color:#fff; font-weight:700; font-size:14px; padding:10px 18px; border-radius:11px; }
nav.crumb{ font-size:13px; color:var(--sub); padding:18px 0 0; }
nav.crumb a{ color:var(--brand); text-decoration:none; }
h1{ font-family:'Unbounded',sans-serif; font-weight:700; font-size:clamp(28px,5vw,42px); line-height:1.12; letter-spacing:-.02em; margin:14px 0 0; }
.lede{ font-size:18px; color:var(--sub); margin:18px 0 0; }
.byline{ font-size:13.5px; color:var(--sub); margin:14px 0 0; }
h2{ font-family:'Unbounded',sans-serif; font-weight:600; font-size:clamp(20px,3.4vw,27px); line-height:1.2; margin:46px 0 12px; }
h3{ font-weight:800; font-size:18px; margin:26px 0 8px; }
p{ margin:12px 0; }
ul,ol{ padding-left:22px; }
li{ margin:7px 0; }
a{ color:var(--brand); }
.callout{ background:var(--chip); border:1px solid var(--border); border-radius:14px; padding:18px 20px; margin:22px 0; }
.modele{ background:var(--card); border:1px solid var(--border); border-radius:14px; padding:20px 22px; margin:22px 0; font-size:15px; }
.modele p{ margin:8px 0; }
.table-scroll{ overflow-x:auto; margin:20px 0; }
table{ border-collapse:collapse; width:100%; min-width:520px; background:var(--card); border-radius:12px; overflow:hidden; font-size:15px; }
th,td{ text-align:left; padding:12px 14px; border-bottom:1px solid var(--border); vertical-align:top; }
th{ background:var(--sectionAlt); font-weight:800; }
tr:last-child td{ border-bottom:none; }
.faq details{ background:var(--card); border:1px solid var(--border); border-radius:12px; padding:14px 18px; margin:10px 0; }
.faq summary{ font-weight:700; cursor:pointer; }
.cards{ display:grid; grid-template-columns:1fr; gap:16px; margin:24px 0; }
@media(min-width:640px){ .cards{ grid-template-columns:1fr 1fr; } }
.card{ display:block; text-decoration:none; background:var(--card); border:1px solid var(--border); border-radius:14px; padding:20px; color:var(--ink); }
.card h3{ margin:0 0 8px; font-family:'Unbounded',sans-serif; font-weight:600; font-size:16.5px; line-height:1.3; }
.card p{ margin:0; font-size:14.5px; color:var(--sub); }
.card .more{ display:inline-block; margin-top:12px; font-weight:700; font-size:14px; color:var(--brand); }
.related{ background:var(--chip); border:1px solid var(--border); border-radius:14px; padding:18px 20px; margin:34px 0; }
.related strong{ display:block; margin-bottom:8px; }
.related a{ display:block; margin:6px 0; }
.cta-box{ background:#211A14; color:#E8DCCB; border-radius:18px; padding:34px 28px; margin:50px 0 40px; text-align:center; }
.cta-box h2{ color:#F4ECE0; margin-top:0; }
.cta-box a.btn{ display:inline-block; text-decoration:none; background:var(--accent); color:#211A14; font-weight:800; font-size:16px; padding:14px 28px; border-radius:13px; margin-top:14px; }
.cta-box .small{ font-size:13.5px; color:#A8997F; margin-top:12px; }
footer.site{ background:#211A14; color:#8A7B62; font-size:13.5px; text-align:center; padding:22px; }
footer.site a{ color:#C9B89C; text-decoration:none; margin:0 8px; }
