
:root{
  --ink:#12151C; --ink2:#3A4152; --mist:#8B93A7; --paper:#F7F5F1; --card:#FFFFFF;
  --gold:#B8934A; --gold-l:#D9BC7E; --wine:#7A2E2E; --line:#E5E1D8;
  --shadow:0 2px 8px rgba(18,21,28,.05),0 16px 40px rgba(18,21,28,.09); --r:20px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:var(--paper);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.serif{font-family:'Fraunces',serif}
a{color:inherit;text-decoration:none}
.wrap{max-width:1140px;margin:0 auto;padding:0 26px}

nav{position:sticky;top:0;z-index:50;background:rgba(247,245,241,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;gap:24px;height:70px}
.logo{font-family:'Fraunces',serif;font-weight:600;font-size:1.5rem;letter-spacing:-.02em}
.logo em{font-style:italic;color:var(--gold)}
.nav-links{display:flex;gap:24px;margin-left:auto;font-size:.92rem;font-weight:500;color:var(--ink2)}
.nav-links a:hover{color:var(--gold)}
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:1px solid var(--line);background:var(--card);border-radius:12px;cursor:pointer;padding:0 11px;flex:none}
.burger span{display:block;height:2px;background:var(--ink);border-radius:2px;transition:.25s}
.search{position:relative}
.search input{border:1px solid var(--line);background:var(--card);border-radius:99px;padding:9px 16px 9px 38px;font:inherit;font-size:.9rem;width:200px;transition:.2s}
.search input:focus{outline:none;border-color:var(--gold);width:250px}
.search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:16px;height:16px;stroke:var(--mist)}
@media(max-width:860px){
  .burger{display:flex}
  .nav-links{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:8px 0 12px;box-shadow:var(--shadow)}
  .nav-links.open{display:flex}
  .nav-links a{padding:13px 26px;border-bottom:1px solid var(--line)}
  .search{margin-left:auto;flex:1;min-width:0}
  .search input,.search input:focus{width:100%}
}

/* HERO — grande citation */
.hero{background:var(--ink);color:var(--paper);padding:96px 0 90px;position:relative;overflow:hidden}
.hero::before{content:"“";position:absolute;font-family:'Fraunces',serif;font-size:34rem;line-height:1;top:-90px;left:-30px;color:rgba(184,147,74,.12);font-style:italic}
.hero::after{content:"";position:absolute;right:-160px;bottom:-200px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(184,147,74,.14),transparent 65%)}
.kicker{display:inline-flex;gap:8px;font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-l);margin-bottom:34px}
.hero blockquote{font-family:'Fraunces',serif;font-size:clamp(1.7rem,3.6vw,2.9rem);font-weight:400;font-style:italic;line-height:1.32;letter-spacing:-.01em;max-width:20em;position:relative;z-index:1}
.hero figcaption{margin-top:26px;display:flex;align-items:center;gap:14px;font-size:1rem;color:var(--gold-l)}
.hero figcaption::before{content:"";width:44px;height:1px;background:var(--gold)}
.hero figcaption span{color:var(--mist);font-style:italic}
.hero-cta{margin-top:44px;display:flex;gap:14px;flex-wrap:wrap;position:relative;z-index:1}
.btn{display:inline-flex;align-items:center;gap:9px;padding:14px 28px;border-radius:99px;font-weight:600;font-size:.94rem;transition:.2s;cursor:pointer;border:none;font-family:inherit}
.btn-gold{background:var(--gold);color:var(--ink)}
.btn-gold:hover{background:var(--gold-l);transform:translateY(-2px)}
.btn-ghost{background:transparent;border:1px solid rgba(247,245,241,.3);color:var(--paper)}
.btn-ghost:hover{border-color:var(--gold-l);color:var(--gold-l)}
.hero .stats{margin-top:58px;display:flex;gap:48px;flex-wrap:wrap;position:relative;z-index:1}
.stat b{font-family:'Fraunces',serif;font-size:1.9rem;font-weight:500;display:block;color:var(--paper)}
.stat span{font-size:.84rem;color:var(--mist)}
.shuffle{position:absolute;right:26px;top:96px;z-index:2;background:rgba(247,245,241,.08);border:1px solid rgba(247,245,241,.2);color:var(--gold-l);border-radius:99px;padding:10px 18px;font-size:.85rem;cursor:pointer;transition:.2s;font-family:inherit}
.shuffle:hover{background:rgba(184,147,74,.2)}

section{padding:64px 0}
h2{font-family:'Fraunces',serif;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:600;letter-spacing:-.02em}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:32px;gap:16px;flex-wrap:wrap}
.sec-head p{color:var(--mist);font-size:.94rem}

/* auteurs */
.auth-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.auth-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;display:flex;align-items:center;gap:16px;cursor:pointer;transition:.2s}
.auth-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--gold-l)}
.initials{flex:none;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--ink),var(--ink2));color:var(--gold-l);font-family:'Fraunces',serif;font-size:1.15rem;display:flex;align-items:center;justify-content:center;font-style:italic}
.auth-card h3{font-family:'Fraunces',serif;font-size:1.05rem;font-weight:600;line-height:1.2}
.auth-card span{font-size:.8rem;color:var(--mist)}

/* thèmes */
.theme-row{display:flex;gap:10px;flex-wrap:wrap}
.theme-chip{background:var(--card);border:1px solid var(--line);border-radius:99px;padding:10px 22px;font-size:.92rem;font-weight:500;cursor:pointer;transition:.18s}
.theme-chip:hover{background:var(--ink);color:var(--gold-l);border-color:var(--ink)}

/* citations — masonry-ish */
.quote-grid{columns:3;column-gap:20px}
@media(max-width:980px){.quote-grid{columns:2}}
@media(max-width:640px){.quote-grid{columns:1}}
.q-card{break-inside:avoid;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px;margin-bottom:20px;cursor:pointer;transition:.2s;position:relative}
.q-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.q-card::before{content:"“";font-family:'Fraunces',serif;font-style:italic;font-size:3rem;color:var(--gold-l);line-height:0;display:block;margin:18px 0 2px}
.q-card p{font-family:'Fraunces',serif;font-size:1.08rem;line-height:1.5;font-weight:400}
.q-card .who{margin-top:16px;font-size:.85rem;color:var(--ink2);font-weight:600;display:flex;align-items:center;gap:10px}
.q-card .who::before{content:"";width:22px;height:1px;background:var(--gold)}
.q-card .who em{color:var(--mist);font-weight:400}
.q-card .th{position:absolute;top:16px;right:18px;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);background:rgba(184,147,74,.09);padding:4px 11px;border-radius:99px}

/* page citation (modal-like view) */
.q-page{display:none;min-height:60vh}
.q-hero{background:var(--ink);color:var(--paper);padding:80px 0}
.q-hero blockquote{font-family:'Fraunces',serif;font-style:italic;font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.4;max-width:24em}
.q-hero figcaption{margin-top:24px;color:var(--gold-l);display:flex;gap:14px;align-items:center}
.q-hero figcaption::before{content:"";width:44px;height:1px;background:var(--gold)}
.back{display:inline-flex;gap:8px;margin:30px 0 0;color:var(--mist);font-weight:500;font-size:.9rem;cursor:pointer}
.back:hover{color:var(--gold)}
.share-row{margin-top:34px;display:flex;gap:10px}
.share-row .btn{font-size:.85rem;padding:10px 20px}

footer{background:var(--ink);color:var(--mist);padding:56px 0 42px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:34px}
@media(max-width:860px){.footer-grid{grid-template-columns:1fr 1fr}}
footer .logo{color:var(--paper)}
footer h4{color:var(--paper);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px}
footer ul{list-style:none}
footer li{margin:7px 0;font-size:.88rem}
footer a:hover{color:var(--gold-l)}
footer .fine{margin-top:40px;padding-top:20px;border-top:1px solid rgba(247,245,241,.1);font-size:.8rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.fade{animation:fade .5s ease}
@keyframes fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* pages générées */
.results{position:absolute;top:115%;right:0;width:min(360px,calc(100vw - 40px));background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;display:none;max-height:380px;overflow-y:auto;z-index:60}
.results a{display:block;padding:11px 16px;font-size:.88rem;border-bottom:1px solid var(--line)}
.results a:hover{background:var(--paper)}
.results a span{display:block;font-size:.72rem;color:var(--gold);text-transform:uppercase;letter-spacing:.06em}
.list-head{background:var(--ink);color:var(--paper);padding:56px 0 44px}
.list-head h1{font-family:'Fraunces',serif;font-size:clamp(2rem,4vw,3rem);font-weight:600;letter-spacing:-.02em}
.list-head p{margin-top:8px;color:var(--mist)}
.crumb{font-size:.85rem;color:var(--mist);margin-bottom:14px}
.crumb a{color:var(--gold-l)}
.crumb a:hover{text-decoration:underline}
.q-hero .crumb{margin-bottom:26px}
.q-hero .thpill{background:rgba(184,147,74,.15);border-radius:99px;padding:3px 12px;font-size:.75rem;color:var(--gold-l);font-style:normal}
.pagin{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:44px}
.pagin a{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--card);border-radius:12px;font-weight:600;font-size:.9rem}
.pagin a:hover{border-color:var(--gold);color:var(--gold)}
.pagin a.on{background:var(--ink);border-color:var(--ink);color:var(--gold-l)}
.pagin .dots{align-self:center;color:var(--mist)}
.site-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.site-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;transition:.2s;display:flex;flex-direction:column;gap:8px}
.site-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--gold-l)}
.site-card h3{font-size:1.15rem;font-weight:600}
.site-card p{font-size:.88rem;color:var(--ink2);flex:1}
.site-url{font-size:.8rem;font-weight:600;color:var(--gold)}
.legal{max-width:46em;padding:34px 0 80px;color:var(--ink2)}
.legal .lead{font-size:1.06rem;margin-bottom:8px}
.legal h2{color:var(--ink);margin:38px 0 14px;font-size:1.35rem}
.legal a{color:var(--gold)}
.legal a:hover{text-decoration:underline}
.legal-table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;font-size:.92rem}
.legal-table th{text-align:left;font-weight:600;color:var(--ink);padding:11px 16px;width:38%;vertical-align:top;background:rgba(184,147,74,.06);border-bottom:1px solid var(--line)}
.legal-table td{padding:11px 16px;border-bottom:1px solid var(--line)}
.legal-table tr:last-child td,.legal-table tr:last-child th{border-bottom:none}
html,body{overflow-x:hidden}
.q-card{display:block;color:inherit}

svg.nav-ic{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--mist,#8A857B)}
svg.h1-ic{width:30px;height:30px;vertical-align:-4px;color:var(--gold,var(--terra,#C93A1D))}
svg.sh-ic{width:15px;height:15px;vertical-align:-2px}

.link-cloud{display:flex;gap:9px;flex-wrap:wrap}
.link-chip{display:inline-block;padding:8px 16px;border-radius:99px;border:1px solid var(--line);background:var(--card);font-size:.87rem;font-weight:500;color:var(--ink2);transition:.15s}
.link-chip:hover{border-color:var(--gold);color:var(--gold)}
