/* StillCare — feuille de style du site still-care.fr */
:root{
  --ink:#26302e;
  --ink-soft:#55625e;
  --ink-label:#3d4a47;
  --paper:#f8ede2;
  --paper-raised:#fffdfa;
  --white:#ffffff;
  --sage:#85b1a9;
  --sage-dark:#5a9086;
  --sage-deep:#33544e;
  --sage-tint:#e6efec;
  --orange:#e2963a;
  --orange-ink:#2b1a04;
  --line:#e5d9c8;
  --radius:20px;
  --wrap:1200px;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink)}
a:hover{color:var(--sage-deep)}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;margin:0;color:var(--ink)}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:100}
.skip:focus{left:16px;top:16px}
:focus-visible{outline:3px solid var(--sage-deep);outline-offset:3px;border-radius:6px}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 26px;border-radius:999px;font-weight:700;font-size:17px;text-decoration:none;border:0;cursor:pointer;font-family:inherit;transition:filter .15s,transform .1s}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--orange);color:var(--orange-ink)}
.btn-primary:hover{filter:brightness(1.05);color:var(--orange-ink)}
.btn-outline{border:1.5px solid var(--sage-dark);color:var(--ink);background:transparent}
.btn-outline:hover{background:var(--sage-tint)}
.btn-sm{min-height:44px;padding:10px 20px;font-size:15px;white-space:nowrap}
@media (max-width:400px){.btn-sm{padding:10px 14px;font-size:14px}}

/* En-tête */
.site-header{position:sticky;top:0;z-index:50;background:var(--sage)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:12px}
.logo img{height:40px;width:auto}
.nav{display:flex;gap:26px;font-weight:600;font-size:15px}
.nav a{text-decoration:none}
.nav a:hover{text-decoration:underline;color:var(--ink)}
@media (max-width:900px){.nav{display:none}.logo img{height:34px}}

/* Sections */
.section{padding:88px 0}
.section-tint{background:var(--sage-tint)}
.section-sage{background:var(--sage)}
.section-white{background:var(--paper-raised);border-top:1px solid var(--line)}
.eyebrow{font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-label)}
.section-head{display:flex;flex-direction:column;gap:14px;max-width:760px;margin-bottom:40px}
.section-head h2{font-size:clamp(30px,3.6vw,40px)}
.lead{font-size:18px;color:var(--ink-soft)}
.muted{color:var(--ink-soft)}
.small{font-size:13px;color:#5c6866}
@media (max-width:640px){.section{padding:64px 0}}

/* Accueil */
.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:48px;align-items:center;padding:72px 24px 64px}
.hero-text{display:flex;flex-direction:column;gap:24px}
.hero h1{font-size:clamp(34px,4.6vw,58px);letter-spacing:-.02em}
.hero .lead{font-size:19px;max-width:560px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px}
.hero-stats{display:flex;flex-wrap:wrap;gap:28px;padding-top:8px}
.hero-stats strong{display:block;font-family:var(--serif);font-size:30px;font-weight:700;color:var(--sage-dark);line-height:1.2}
.hero-stats span{font-size:14px;color:var(--ink-soft)}
.hero-img{border-radius:28px;width:100%;aspect-ratio:4/3;object-fit:cover}
@media (max-width:640px){.hero{padding:40px 24px 48px;gap:32px}.hero-stats{gap:18px 28px}}

/* Bandeau logos */
.logos{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:36px 0}
.logos .eyebrow{text-align:center;color:#5c6866;padding:0 24px;margin-bottom:22px}
.mq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq-track{display:flex;align-items:center;gap:56px;width:max-content;margin:0;padding:0;list-style:none;animation:mq 45s linear infinite}
.mq:hover .mq-track{animation-play-state:paused}
.mq-item{flex:0 0 auto;height:64px;display:flex;align-items:center}
.mq-item img{max-height:52px;max-width:150px;width:auto;object-fit:contain}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 28px))}}
@media (prefers-reduced-motion:reduce){.mq-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto;padding:0 24px;row-gap:20px}.mq-item[aria-hidden="true"]{display:none}}

/* Cartes */
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:24px}
.card{background:var(--paper-raised);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:10px}
.stat-num{font-family:var(--serif);font-size:48px;font-weight:700;color:var(--sage-dark);letter-spacing:-.02em;line-height:1.1}
.stat-label{font-size:17px;font-weight:600}
.offer{background:var(--paper-raised);border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:16px}
.offer img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px}
.offer h3{font-size:24px}
.offer ul,.list{margin:0;padding-left:20px;color:var(--ink-soft);display:flex;flex-direction:column;gap:6px}
.offer li strong,.list li strong{color:var(--ink)}
.offer .more{margin-top:auto;font-weight:700}
.formats{margin-top:40px}
.formats h3{font-size:22px;margin-bottom:16px}
.format{background:var(--paper-raised);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:8px}
.format img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px;margin-bottom:6px}
.format .num{font-family:var(--serif);font-size:28px;font-weight:700;color:var(--sage-dark)}
.format .title{font-weight:600}
.sophro{margin-top:24px;background:var(--paper-raised);border-radius:var(--radius);padding:24px 28px;display:flex;flex-wrap:wrap;align-items:center;gap:20px}
.sophro img{width:140px;height:140px;object-fit:cover;border-radius:14px;flex:0 0 auto}
.sophro .txt{flex:1 1 280px;display:flex;flex-direction:column;gap:4px}
.sophro h3{font-size:20px}
.sophro a{font-weight:700}

/* Étapes */
.steps{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.steps li{border-top:3px solid var(--sage);padding-top:20px;display:flex;flex-direction:column;gap:8px}
.steps .n{font-weight:800;font-size:15px;color:var(--sage-dark)}
.steps h3{font-size:20px}

/* Satisfaction */
.section-sage .eyebrow{color:#2b3634}
.big-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:28px}
.big-stats strong{display:block;font-family:var(--serif);font-size:56px;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:32px 0 24px}
.quote{margin:0;background:rgba(255,255,255,.5);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:14px}
.quote blockquote{margin:0;font-size:18px}
.quote figcaption{font-size:14px;color:#2b3634}
.section-sage .small{color:#2b3634}

/* Équipe */
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:48px;align-items:center}
.team-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.team-photos figure{margin:0;display:flex;flex-direction:column;gap:10px}
.team-photos img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius)}
.team-photos figcaption{font-size:15px}
.team-text{display:flex;flex-direction:column;gap:16px}
.team-text h2{font-size:clamp(30px,3.6vw,40px)}
.selection{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:12px}
.selection h3{font-size:20px}

/* Contact */
.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:48px}
.contact-info{display:flex;flex-direction:column;gap:16px}
.contact-info h2{font-size:clamp(30px,3.6vw,40px)}
.contact-lines{display:flex;flex-direction:column;gap:8px;font-size:17px;padding-top:8px}
.contact-lines a{font-weight:600}
.form{background:var(--paper);border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:18px}
.form fieldset{border:0;margin:0;padding:0}
.form legend{font-weight:700;margin-bottom:12px;padding:0}
.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.choice{display:flex;align-items:center;gap:10px;background:var(--paper-raised);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;min-height:48px;cursor:pointer;font-size:15px}
.choice:has(input:checked){border-color:var(--sage-dark);background:var(--sage-tint)}
.choice input{accent-color:var(--sage-deep);width:18px;height:18px;flex:0 0 auto}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.field{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}
.field input,.field textarea{font:inherit;font-size:16px;font-weight:400;padding:12px;border:1.5px solid var(--line);border-radius:10px;background:var(--paper-raised);color:var(--ink);width:100%}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--sage-dark);box-shadow:0 0 0 3px rgba(90,144,134,.25)}
.field textarea{resize:vertical;min-height:110px}
.req{color:#a4461f}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form .btn{width:100%}
.form .small{line-height:1.5}
@media (max-width:480px){.choices{grid-template-columns:1fr}.form{padding:22px}}

/* Pied de page */
.site-footer{background:var(--sage);color:var(--ink);font-size:14px}
.site-footer .wrap{padding-top:40px;padding-bottom:40px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px}
.site-footer img{height:34px;width:auto;margin-bottom:8px}
.footer-links{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:flex-start}
.footer-bottom{border-top:1px solid rgba(38,48,46,.2);width:100%;padding-top:16px;font-size:13px}

/* Pages intérieures */
.page{padding:64px 0 88px}
.page h1{font-size:clamp(32px,4vw,48px);margin-bottom:16px}
.prose{max-width:760px;display:flex;flex-direction:column;gap:16px}
.prose h2{font-size:26px;margin-top:24px}
.prose ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:6px}
.todo{background:#fff3df;border:1px dashed var(--orange);padding:2px 6px;border-radius:6px}
.articles{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:32px}
.article-card{background:var(--paper-raised);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;text-decoration:none}
.article-card img{aspect-ratio:16/10;object-fit:cover;width:100%}
.article-card .body{padding:22px;display:flex;flex-direction:column;gap:8px}
.article-card h2{font-size:21px}
.empty{background:var(--paper-raised);border:1px dashed var(--line);border-radius:var(--radius);padding:32px;max-width:760px;display:flex;flex-direction:column;gap:12px;margin-top:24px}
.form-msg{margin:0;background:#fff3df;border:1px solid var(--orange);border-radius:10px;padding:10px 14px;font-size:15px}
.form .btn:disabled{opacity:.7;cursor:wait}
