:root{
  --paper:#FAF3E3;
  --paper-deep:#F2E5C2;
  --crust:#7A3E1D;
  --crust-deep:#4E2710;
  --ble:#C8A04A;
  --rule:#D7C39A;
  --muted:#7C6A4A;
  --ink:#2A1B0F;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
a{color:var(--crust);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--ble)}
a:focus-visible,button:focus-visible{outline:3px solid var(--ble);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--crust);color:#fff;padding:.5rem 1rem;z-index:99}
.skip:focus{left:0}

h1,h2,h3,h4{font-family:'DM Serif Display','Georgia',serif;line-height:1.05;margin:0;font-weight:400;color:var(--crust-deep)}
.display{font-size:clamp(2.6rem,6vw,5rem);letter-spacing:-.005em}
.italic{font-style:italic;color:var(--ble)}
p{margin:0 0 1rem}
.wrap{max-width:1180px;margin:0 auto;padding:0 1.5rem}
.small-caps{font-family:'Inter',sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:600;color:var(--crust)}

/* Masthead */
.masthead{padding:1rem 0;border-bottom:3px double var(--crust);background:var(--paper)}
.masthead-in{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.masthead-brand{font-family:'DM Serif Display',serif;font-size:1.7rem;color:var(--crust-deep);line-height:1}
.masthead-brand .ital{font-style:italic;color:var(--ble);font-size:1.3rem;display:block;margin-top:.2rem}
.masthead-meta{font-family:'Inter',sans-serif;font-size:.82rem;color:var(--muted);text-align:right}
.masthead-meta strong{color:var(--crust);display:block}

/* Hero éditorial */
.hero-ed{padding:5rem 0 4rem;border-bottom:1px solid var(--rule)}
.hero-ed-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:4rem;align-items:end}
.hero-kicker{font-family:'Inter',sans-serif;font-size:.85rem;text-transform:uppercase;letter-spacing:.18em;color:var(--ble);margin-bottom:1.5rem}
.hero-ed .lead{font-family:'DM Serif Display',serif;font-style:italic;font-size:1.4rem;color:var(--muted);margin-top:2rem;max-width:32ch;line-height:1.45}
.hero-sidebar{background:var(--paper-deep);padding:1.6rem;border:1px solid var(--rule)}
.hero-sidebar h3{font-size:1.1rem;margin-bottom:1rem;border-bottom:1px solid var(--rule);padding-bottom:.6rem}
.hero-side-row{display:flex;justify-content:space-between;padding:.4rem 0;border-bottom:1px dotted var(--rule);font-size:.95rem}
.hero-side-row:last-child{border-bottom:none}
.hero-side-row .k{color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.06em}
@media (max-width:880px){.hero-ed-grid{grid-template-columns:1fr;gap:2.5rem}.hero-ed .lead{font-size:1.2rem}}

/* Manifeste */
.manifeste{padding:5rem 0;border-bottom:1px solid var(--rule)}
.manifeste-grid{display:grid;grid-template-columns:1fr 2.4fr;gap:3rem}
.manifeste-grid h2{font-size:clamp(1.8rem,3.8vw,2.6rem);line-height:1}
.dropcap::first-letter{font-family:'DM Serif Display',serif;font-size:5rem;float:left;line-height:.8;color:var(--ble);margin:.18rem .5rem -.2rem 0;font-style:italic}
.prose-cols{column-count:2;column-gap:3rem;column-rule:1px dotted var(--rule);font-size:1.02rem}
.prose-cols p{break-inside:avoid}
.signature{font-family:'DM Serif Display',serif;font-style:italic;color:var(--ble);font-size:1.3rem;margin-top:1.5rem;display:block}
@media (max-width:780px){.manifeste-grid{grid-template-columns:1fr}.prose-cols{column-count:1}}

/* Vitrine — grid asymmetric */
.vitrine{padding:5rem 0;background:var(--paper-deep);border-bottom:1px solid var(--rule)}
.vitrine-head{margin-bottom:2.5rem;text-align:center}
.vitrine-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:auto;gap:1.5rem}
.vit-item{background:var(--paper);padding:1.6rem;border:1px solid var(--rule);display:flex;flex-direction:column;gap:.5rem}
.vit-item .roman{font-family:'DM Serif Display',serif;font-style:italic;font-size:1.1rem;color:var(--ble)}
.vit-item h3{font-family:'DM Serif Display',serif;font-size:1.4rem;color:var(--crust-deep);margin:0}
.vit-item p{color:var(--muted);font-size:.95rem;margin:0}
.vit-hero{grid-column:span 3;grid-row:span 2;background:var(--crust-deep);color:var(--paper);padding:2.2rem}
.vit-hero h3{color:var(--paper);font-size:1.9rem}
.vit-hero p{color:rgba(250,243,227,.78);font-size:1.05rem}
.vit-hero .roman{color:var(--ble)}
.vit-std{grid-column:span 3}
.vit-small{grid-column:span 2}
@media (max-width:880px){
  .vitrine-grid{grid-template-columns:1fr 1fr}
  .vit-hero,.vit-std,.vit-small{grid-column:span 2}
}
@media (max-width:560px){
  .vitrine-grid{grid-template-columns:1fr}
  .vit-hero,.vit-std,.vit-small{grid-column:auto}
}

/* Rythme des fournées (variation propre) */
.fournees{padding:5rem 0;border-bottom:1px solid var(--rule)}
.fournees-table{width:100%;border-collapse:collapse;margin-top:1.5rem;font-size:1rem}
.fournees-table th,.fournees-table td{padding:1rem 1.2rem;text-align:left;border-bottom:1px solid var(--rule);vertical-align:top}
.fournees-table th{font-family:'Inter',sans-serif;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600}
.fournees-table .hour{font-family:'DM Serif Display',serif;font-style:italic;color:var(--ble);font-size:1.3rem;width:140px}
.fournees-table .product{font-family:'DM Serif Display',serif;color:var(--crust-deep);font-size:1.15rem}
.fournees-table td.note{font-size:.92rem;color:var(--muted);max-width:34ch}
@media (max-width:680px){.fournees-table th:last-child,.fournees-table td:last-child{display:none}}

/* Process — 3 steps */
.process{padding:5rem 0;background:var(--paper-deep);border-bottom:1px solid var(--rule)}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.5rem}
.step-card{background:var(--paper);padding:2rem;border:1px solid var(--rule);position:relative}
.step-card .big{font-family:'DM Serif Display',serif;font-style:italic;font-size:5rem;color:var(--ble);line-height:.8;display:block;margin-bottom:1rem;opacity:.85}
.step-card h3{font-size:1.4rem;margin-bottom:.6rem}
.step-card p{color:var(--muted);font-size:.97rem}
@media (max-width:780px){.process-grid{grid-template-columns:1fr}}

/* Quote band */
.praline{padding:6rem 0;background:var(--crust-deep);color:var(--paper);text-align:center}
.praline blockquote{font-family:'DM Serif Display',serif;font-style:italic;font-size:clamp(1.4rem,2.8vw,2.2rem);color:var(--paper);max-width:30ch;margin:0 auto;line-height:1.4}
.praline cite{display:block;margin-top:1.5rem;font-style:normal;font-family:'Inter',sans-serif;font-size:.85rem;text-transform:uppercase;letter-spacing:.18em;color:var(--ble)}

/* Pratique */
.pratique{padding:5rem 0;border-bottom:1px solid var(--rule)}
.pratique-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2rem}
.pratique-list{list-style:none;padding:0;margin:0}
.pratique-list li{padding:.7rem 0 .7rem 1.2rem;border-left:3px solid var(--ble);margin-bottom:.5rem;font-size:.98rem}
.pratique-list li strong{display:block;font-family:'DM Serif Display',serif;color:var(--crust-deep);font-size:1.1rem;margin-bottom:.2rem}
@media (max-width:680px){.pratique-grid{grid-template-columns:1fr;gap:1.5rem}}

/* FAQ */
.faq{padding:5rem 0;background:var(--paper-deep);border-bottom:1px solid var(--rule)}
.faq-list{margin-top:2rem;max-width:780px;margin-left:auto;margin-right:auto}
.faq-item{border-bottom:1px solid var(--rule)}
.faq-item summary{padding:1.2rem 0;cursor:pointer;font-family:'DM Serif Display',serif;font-size:1.3rem;color:var(--crust-deep);list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'›';font-size:1.8rem;color:var(--ble);transition:transform .2s}
.faq-item[open] summary::after{transform:rotate(90deg)}
.faq-item p{padding:0 0 1.2rem;color:var(--muted)}

/* Contact final */
.contact-final{padding:5rem 0;background:var(--crust-deep);color:var(--paper)}
.contact-final h2{color:var(--paper)}
.contact-final-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-top:2.5rem}
.contact-block .label{font-family:'Inter',sans-serif;font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;color:var(--ble);margin-bottom:.5rem;display:block}
.contact-block p,.contact-block a{color:var(--paper);text-decoration:none;font-family:'DM Serif Display',serif;font-size:1.3rem;line-height:1.3}
.contact-block a:hover{color:var(--ble)}
@media (max-width:780px){.contact-final-grid{grid-template-columns:1fr;gap:1.8rem}}

footer{background:#000;color:rgba(250,243,227,.5);padding:1.5rem 0;font-size:.85rem;text-align:center}
