:root{
  --mint:#1F9E76;--mint-dark:#167A5B;--mint-light:#E7F7F1;
  --navy:#101B2D;--ink:#2B3542;--muted:#6B7684;--border:#E7E9ED;--gold:#B9863A;--bg:#FFFFFF;--radius:14px;
  --serif:'Playfair Display',Georgia,serif;
  --mono:'JetBrains Mono','SF Mono',Consolas,monospace;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
.container{max-width:900px;margin:0 auto;padding:0 24px;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:13px 22px;border-radius:10px;font-weight:700;font-size:14.5px;cursor:pointer;border:1px solid transparent;}
.btn-primary{background:var(--mint);color:#fff;}
.btn-outline{background:#fff;color:var(--navy);border-color:var(--border);}
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);}
.header-row{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:900px;margin:0 auto;}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;}
.logo-img{height:32px;width:auto;display:block;}
.logo .mark{width:34px;height:34px;border-radius:9px;background:var(--mint-light);color:var(--mint-dark);display:flex;align-items:center;justify-content:center;font-weight:800;border:1px solid var(--mint);flex-shrink:0;}
svg.ic{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:inline-block;}
.logo .mark svg{width:19px;height:19px;fill:currentColor;stroke:none;}
.logo .accent{color:var(--mint);}
.eyebrow{color:var(--mint);font-weight:700;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;}
.page-hero{padding:64px 0 24px;}
.page-hero h1{font-family:var(--serif);font-weight:700;font-size:clamp(32px,5vw,50px);color:var(--navy);margin:12px 0 16px;letter-spacing:-0.01em;line-height:1.1;}
.page-hero h1 em{color:var(--gold);font-style:normal;}
.page-hero .sub{color:var(--muted);font-size:16.5px;max-width:640px;line-height:1.6;}
.card{border:1px solid var(--border);border-radius:var(--radius);padding:36px;margin:34px 0;background:#fff;}
.card h2{font-family:var(--serif);font-weight:700;font-size:23px;color:var(--navy);margin:24px 0 14px;padding-top:16px;border-top:1px solid var(--border);}
.card h2:first-child{margin-top:0;padding-top:0;border-top:none;}
.card h3{font-size:16.5px;color:var(--mint-dark);margin:16px 0 8px;}
.card p, .card li{color:var(--ink);font-size:15px;margin-bottom:10px;}
.card ul, .card ol{padding-left:22px;margin-bottom:10px;}
.card b{color:var(--navy);}
.callout{border-left:3px solid var(--gold);background:#FBF6EC;padding:14px 16px;border-radius:0 8px 8px 0;font-size:14.5px;color:#6B5628;margin:14px 0;}
.callout.mint{border-left-color:var(--mint);background:var(--mint-light);color:var(--mint-dark);}
.more-links{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:40px 0;}
.more-links a{border:1px solid var(--border);border-radius:12px;padding:18px;text-align:center;font-weight:700;color:var(--navy);font-size:14px;}
.more-links a span{display:block;font-weight:500;color:var(--muted);font-size:12.5px;margin-top:4px;}
footer{border-top:1px solid var(--border);padding:40px 0 26px;background:#FAFBFC;text-align:center;font-size:13px;color:var(--muted);}
footer a{color:var(--mint-dark);font-weight:600;}
@media(max-width:640px){.more-links{grid-template-columns:1fr;}}
@media(max-width:600px){
  body{overflow-x:hidden;}
  .container{padding:0 16px;}
  .header-row{padding:12px 16px;}
  .logo-img{height:26px;}
  .page-hero{padding:40px 0 20px;}
  .page-hero .sub{font-size:15px;}
  .card{padding:22px 18px;margin:24px 0;}
  .card h2{font-size:19px;}
}

/* MINIMAL PASS */
.eyebrow{color:var(--muted);}
.page-hero{padding:100px 0 30px;}
.page-hero h1{font-weight:500;}
.page-hero h1 em{color:var(--navy);font-style:normal;}
.card{border-radius:6px;padding:40px;}
.card h2{font-weight:500;}
.card h3{color:var(--navy);}
.callout{border-left:2px solid var(--border);background:#FAFBFC;color:var(--ink);}
.callout.mint{border-left-color:var(--border);background:#FAFBFC;color:var(--ink);}
.more-links{margin:56px 0;}
.more-links a{border-radius:6px;}
.more-links a:hover{border-color:var(--navy);}
.btn-primary{background:var(--navy);}
.btn-primary:hover{background:#000;}
@media(max-width:600px){.card{padding:22px 18px;}.page-hero{padding:40px 0 20px;}}

/* LAB LABELS + MOTION */
.eyebrow{font-family:'JetBrains Mono','SF Mono',Consolas,monospace;font-weight:500;font-size:11px;}
.btn{border-radius:6px;font-weight:600;}
.btn-primary:hover{background:#0A1220;}
.btn-outline:hover{border-color:var(--navy);}
:focus-visible{outline:2px solid var(--navy);outline-offset:3px;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;}*{transition-duration:.01ms!important;animation-duration:.01ms!important;}}

/* HAIRLINE DOCUMENTS */
.card{border:none;border-top:1px solid var(--border);border-radius:0;padding:36px 0 0;margin:40px 0;}
.card h2{font-size:24px;}
.more-links{gap:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.more-links a{border:none;border-radius:0;text-align:left;padding:20px 0;}
.more-links a + a{border-left:1px solid var(--border);padding-left:20px;}
/* la grille fait 3 colonnes : le premier de chaque ligne ne doit pas
   heriter de la bordure de separation, sinon il part decale */
.more-links a:nth-child(3n+1){border-left:none;padding-left:0;}
.more-links a:hover{color:var(--navy);}
.more-links a span{color:var(--muted);}
.page-hero .sub{font-size:16px;}
footer a{color:var(--navy);}
@media(max-width:640px){.more-links a + a{border-left:none;border-top:1px solid var(--border);padding-left:0;}}
