/* ============================================================
   pierreconfolens.fr — feuille de style unique
   Une seule source pour les 4 pages : toute modification
   graphique se fait ici, jamais dans les fichiers HTML.
   ============================================================ */

:root{
  --font-sans:"Jost",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --bg:#f7f3ec;
  --paper:#fffaf3;
  --ink:#1f1b16;
  --muted:#6d6257;
  --line:#ded2c3;
  --accent:#5f4632;
  --accent-dark:#4e3927;
  --accent2:#8b6b4d;
  --soft:#eee4d7;
  --max:1120px;
  --max-text:960px;
  --radius:24px;
  --shadow:0 18px 50px rgba(50,36,24,.08);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--accent2);outline-offset:2px}
p{margin:0 0 1rem}
img{max-width:100%;height:auto}

/* Accessibilité */
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.75rem 1rem;z-index:10}
.skip:focus{left:1rem;top:1rem}

/* En-tête et navigation */
.site-header{position:sticky;top:0;z-index:5;background:rgba(247,243,236,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{max-width:var(--max);margin:auto;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:inline-flex;align-items:center;color:var(--ink);line-height:1}
.brand-logo{display:block;width:clamp(160px,20vw,225px);height:auto;max-height:54px;object-fit:contain}
.nav-right{display:flex;gap:1rem;align-items:center;font-size:.95rem;color:var(--muted)}
.links{display:flex;gap:1rem;align-items:center}
.links a{white-space:nowrap}
.lang{border:1px solid var(--line);border-radius:999px;padding:.35rem .7rem;white-space:nowrap}

/* Blocs de page */
.hero{max-width:var(--max);margin:auto;padding:5rem 1.25rem;display:grid;grid-template-columns:1.35fr .65fr;gap:3rem;align-items:center}
.section{max-width:var(--max);margin:auto;padding:3rem 1.25rem}
.main{max-width:var(--max-text);margin:auto;padding:5rem 1.25rem}

/* Titres */
h1{font-family:var(--font-serif);font-size:clamp(2.7rem,6vw,5rem);line-height:.98;letter-spacing:-.035em;font-weight:600;margin:0 0 1.5rem}
h2{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3.15rem);line-height:1.03;letter-spacing:-.025em;font-weight:600;margin:.2rem 0 1rem}
.eyebrow{font-size:.85rem;text-transform:uppercase;letter-spacing:.14em;color:var(--accent2);font-weight:700;margin-bottom:1rem}
.lead{font-size:1.2rem;color:#3d342c;max-width:820px}
.risk,.intro{color:var(--muted);max-width:760px;font-size:1.06rem}

/* Boutons */
.actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.85rem 1.15rem;font-weight:700;border:1px solid var(--accent);background:var(--accent);color:#fff;text-decoration:none}
.btn:hover{text-decoration:none;background:var(--accent-dark);border-color:var(--accent-dark)}
.btn.secondary{background:transparent;color:var(--accent)}
.btn.secondary:hover{background:var(--soft)}

/* Carte portrait (accueil) */
.portrait-picture{display:block}

.portrait-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}
.portrait{aspect-ratio:1/1;border-radius:18px;background:linear-gradient(160deg,#e9dccb,#f7f0e6);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:4.8rem;font-weight:600;letter-spacing:.08em;color:var(--accent)}
.logo-portrait img{width:min(62%,240px);height:auto;display:block}
.portrait-img{width:100%;aspect-ratio:1/1;border-radius:18px;object-fit:cover;object-position:center center;display:block}
.caption{margin-top:1rem;color:var(--muted);font-size:.95rem}

/* Cartes et grilles */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.75rem}
.grid.two{grid-template-columns:repeat(2,1fr)}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.35rem;box-shadow:var(--shadow)}
.card h2{font-size:1.4rem;letter-spacing:-.01em;margin:.2rem 0 .8rem}
.card h3{font-size:1.05rem;margin:.1rem 0 .65rem}
.card p,.card li{color:var(--muted)}
.card ul{padding-left:1.1rem;margin:.8rem 0 0}
li{margin:.35rem 0}

/* Méthode */
.method{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.75rem}
.pill-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.pill{border:1px solid var(--line);background:var(--soft);border-radius:999px;padding:.42rem .7rem;color:#53483d;font-size:.9rem}

/* Étude de cas */
.case{display:grid;grid-template-columns:.75fr 1.25fr;gap:1rem;margin-top:1.75rem}
.case-meta{color:var(--accent2);font-weight:700}
.quote{font-family:var(--font-serif);font-size:1.35rem;line-height:1.35;color:#2c251f;border-left:3px solid var(--accent2);padding-left:1rem;margin:1rem 0}

/* Contact */
.notice{background:#efe6d9;border:1px solid var(--line);border-radius:18px;padding:1rem;color:#51463b}
.contact-box{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

/* Divers */
.muted{color:var(--muted)}

/* Pied de page */
.footer{border-top:1px solid var(--line);margin-top:2rem}
.footer-inner{max-width:var(--max);margin:auto;padding:2rem 1.25rem;display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.95rem}
.footer-links{display:flex;gap:1rem;flex-wrap:wrap;align-items:start}

/* Mobile : point de rupture unique pour tout le site */
@media (max-width:860px){
  .hero{grid-template-columns:1fr;padding-top:3rem}
  .grid,.grid.two,.method,.case,.contact-box{grid-template-columns:1fr}
  .links{display:none}
  .portrait-card{max-width:420px}
  .footer-inner{flex-direction:column}
}

/* Preuve et détails graphiques */
.proof-strip{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 0}
.proof-strip span{border:1px solid var(--line);background:#f3eadf;border-radius:999px;padding:.55rem .8rem;color:#51463b;font-size:.95rem}
.proof-strip strong{font-family:var(--font-serif);font-size:1.25rem;color:var(--accent);margin-right:.2rem}
.proof-strip.compact{margin:1rem 0 1.15rem}
.proof-card{border-color:#d2bfa9}
.card{transition:box-shadow .18s ease,transform .18s ease}
.card:hover{box-shadow:0 22px 60px rgba(50,36,24,.105);transform:translateY(-1px)}
@media (prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}}
@media (max-width:560px){body{font-size:16px}.nav{padding:.85rem 1rem}.hero,.section,.main{padding-left:1rem;padding-right:1rem}.actions .btn{width:100%}.proof-strip{display:grid;grid-template-columns:1fr}.brand-logo{width:158px}}
