
:root { --fg:#0f172a; --bg:#ffffff; --muted:#6b7280; --card:#f6f6f6; --border:#e5e7eb; }
:root[data-theme='dark'] { --fg:#f3f4f6; --bg:#0b0b0b; --muted:#9aa0a6; --card:#151515; --border:#2a2a2a; }

*{box-sizing:border-box}
html { hanging-punctuation: first last; }
html,body{
  margin:0;padding:0;background:var(--bg);color:var(--fg);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  font-size:clamp(16px,1.2vw + .4rem,18px); line-height:1.7;
}

/* médias fluides */
img,video,iframe{max-width:100%;height:auto;display:block}

/* conteneur */
.container{max-width:1100px;margin:0 auto;padding:24px}

/* nav */
.nav{position:sticky;top:0;background:color-mix(in lab, var(--bg), transparent 15%);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);z-index:10}
.nav .wrap{max-width:1100px;margin:0 auto;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 24px}
.nav a{color:inherit;text-decoration:none;padding:8px 12px;border-radius:10px}
.nav a.active{background:var(--fg);color:var(--bg)}
/* renfort plus ciblé (au cas où) */
.nav .links a.active,
.nav .links a[aria-current="page"]{background:var(--fg);color:var(--bg)}

/* (optionnel) petite transition agréable */
.nav .links a{transition:background-color .15s ease,color .15s ease}
.toggle{border:1px solid var(--border);background:var(--card);color:inherit;border-radius:999px;padding:8px 12px;cursor:pointer}

/* titres & texte */
.header{display:flex;gap:16px;align-items:baseline;justify-content:space-between}
.title{font-size:clamp(22px,5vw,42px);font-weight:700;text-wrap:balance}
.subtitle{color:var(--muted)}
p{margin:0 0 1em 0;text-wrap:pretty;overflow-wrap:anywhere;hyphens:auto}

/* grilles cartes */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:24px}
.card{background:var(--card);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .15s ease, box-shadow .15s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 8px 20px color-mix(in lab, var(--fg), transparent 80%)}
.card img{width:100%;height:auto;display:block}
.card .meta{padding:12px 14px;display:flex;align-items:center;justify-content:space-between}
.badge{background:var(--fg);color:var(--bg);border-radius:999px;padding:4px 10px;font-size:.85em;font-weight:600}

/* pages année/œuvre */
.crumbs{margin:10px 0 0 0;font-size:.9em;color:var(--muted)}
.ywrap{display:grid;grid-template-columns:1fr;gap:20px}
.work{background:var(--card);border-radius:16px;padding:16px}
.work h3{margin:0 0 8px 0;text-wrap:balance}
.work .meta{color:var(--muted);font-size:.9em;margin-bottom:10px}
.work img{width:100%;height:auto;border-radius:12px}
.work video,.work iframe{width:100%;aspect-ratio:16/9;height:auto;border:none;border-radius:12px;margin-top:12px;background:#000}

/* galerie */
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:12px}
.gallery a{display:block}
.gallery img{width:100%;height:auto;border-radius:12px}

/* pied */
.footer{margin:32px 0;color:var(--muted);font-size:.9em;text-align:center}

/* smartphone */
@media (max-width:640px){
  .container{padding:16px}
  .nav .wrap{padding:8px 16px}
  .grid{grid-template-columns:1fr}
}
