@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Karla:wght@400;600&display=swap');
:root{--bg:#f8f4ec;--ink:#1f2a4d;--gold:#c8962e;--muted:#5d6480;--line:#e3d9c4;--card:#fffdf8}
*{box-sizing:border-box}body{margin:0;font-family:Karla,system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;margin:0 0 .4em;line-height:1.1}
a{color:inherit}.wrap{max-width:1120px;margin:auto;padding:0 24px}
header{position:sticky;top:0;z-index:10;background:rgba(248,244,236,.93);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
header .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 24px}
.logo{font-family:'Cormorant Garamond';font-size:2rem;font-weight:700;letter-spacing:.25em;text-decoration:none}
.logo small{font-family:Karla;font-size:.65rem;letter-spacing:.2em;color:var(--muted);margin-left:8px;text-transform:uppercase}
nav a{margin-left:20px;text-decoration:none;font-size:.95rem}nav a:hover,nav a.on{color:var(--gold);font-weight:600}
.hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;color:#fdf8ee;background:url(images/hero.jpg) center/cover}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,26,55,.15),rgba(20,26,55,.88))}
.hero .wrap{position:relative;padding-bottom:70px}.hero h1{font-size:clamp(3rem,8vw,6.5rem);letter-spacing:.15em}
.hero p{max-width:640px;font-size:1.2rem}
.eyebrow{text-transform:uppercase;letter-spacing:.3em;font-size:.75rem;color:var(--gold)}
.btn{display:inline-block;padding:12px 26px;background:var(--gold);color:var(--ink);text-decoration:none;font-weight:600;border-radius:4px;border:0;cursor:pointer;font-size:1rem}
.btn.ghost{background:transparent;border:1px solid currentColor;color:inherit}
section{padding:80px 0}.page-head{background:#efe6d3;border-bottom:1px solid var(--line);padding:60px 0}
.page-head h1{font-size:clamp(2.5rem,6vw,4rem)}.lead{font-size:1.15rem;color:var(--muted);max-width:700px}
.grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:28px}
.card .num{font-family:'Cormorant Garamond';font-size:2.6rem;color:var(--gold)}
.card ul{padding-left:18px;margin:.5em 0 0}
.space{display:grid;grid-template-columns:120px 1fr;gap:30px;padding:40px 0;border-bottom:1px solid var(--line)}
.space .num{font-family:'Cormorant Garamond';font-size:5rem;color:var(--gold);line-height:1}
.space h2{font-size:2.4rem}
footer{background:var(--ink);color:#f3ead8;padding:50px 0;margin-top:40px}footer p{opacity:.8;max-width:520px}
/* Bibliothèque */
.shelf{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.doc{cursor:pointer;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:16px;transition:transform .2s}
.doc:hover{transform:translateY(-4px)}.doc .cover{aspect-ratio:3/4;background:linear-gradient(160deg,var(--ink),#36457a);color:#f3ead8;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;font-family:'Cormorant Garamond';font-size:1.4rem;border-radius:3px}
.reader{display:none;position:fixed;inset:0;z-index:50;background:rgba(18,22,45,.96);color:#fff;flex-direction:column;align-items:center;justify-content:center;padding:20px}
.reader.open{display:flex}.reader .bar{display:flex;gap:12px;align-items:center;margin-top:18px}
.reader .close{position:absolute;top:16px;right:22px;font-size:2rem;background:none;border:0;color:#fff;cursor:pointer}
#book{box-shadow:0 30px 60px -20px #000}#book .page{background:#fff}#book .page img{width:100%;height:100%;object-fit:contain;display:block}
.loading{font-size:1.1rem;opacity:.8}
form label{display:block;margin:14px 0 4px;font-weight:600}form input,form textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:4px;font:inherit;background:var(--card)}
@media(max-width:700px){.space{grid-template-columns:1fr}nav a{margin:0 14px 0 0}}
