/* assurance-professionnel-sante.fr — famille V7-cabinet (cabinet lumineux), habillage
   sauge/bleu poudre (hue 169). Blancs très doux dominants, arrondis discrets, ombres
   légères plutôt que bordures épaisses, typo Sarala humaniste douce en titres et en corps.
   Site à mot-clé mort (volume 0) : orientation légère, périmètre réduit. */
@font-face{
  font-family:"Sarala"; font-style:normal; font-weight:400; font-display:swap;
  src:url("/fonts/sarala-latin-400.woff2") format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122;
}
@font-face{
  font-family:"Sarala"; font-style:normal; font-weight:700; font-display:swap;
  src:url("/fonts/sarala-latin-700.woff2") format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122;
}
:root{
  --prc-ink:       oklch(0.24 0.020 169);
  --prc-ink-soft:  oklch(0.38 0.024 169);
  --prc-paper:     oklch(0.98 0.008 169);
  --prc-surface:   oklch(0.94 0.012 169);
  --prc-white:     oklch(0.995 0.004 169);
  --prc-accent:    oklch(0.55 0.090 169);
  --prc-accent-d:  oklch(0.42 0.080 169);
  --prc-accent-l:  oklch(0.72 0.070 169);
  --prc-line:      oklch(0.88 0.014 169);
  --prc-line-strong: oklch(0.46 0.020 169);
  --font-title: "Sarala", system-ui, sans-serif;
  --font-body: "Sarala", system-ui, sans-serif;
  --prc-radius: 18px;
  --prc-radius-sm: 12px;
  --prc-radius-pill: 999px;
  --prc-shadow: 0 1px 2px oklch(0.24 0.02 169 / 0.05), 0 10px 28px -12px oklch(0.24 0.02 169 / 0.16);
  --prc-shadow-sm: 0 1px 2px oklch(0.24 0.02 169 / 0.06);
  --prc-maxw: 1160px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--prc-paper); color:var(--prc-ink);
  font-family:var(--font-body); line-height:1.65; font-size:16px;
}
h1,h2,h3{font-family:var(--font-title); font-weight:700; line-height:1.18; margin:0 0 .5em; letter-spacing:-.005em}
h1{font-size:clamp(1.85rem, 4.4vw, 3rem)}
h2{font-size:clamp(1.4rem, 2.8vw, 1.9rem); margin-top:0}
h3{font-size:1.1rem; font-weight:700}
p{margin:0 0 1em}
a{color:var(--prc-accent-d)}
ul{margin:0 0 1em; padding-left:1.2em}
img{max-width:100%; height:auto; display:block; border-radius:var(--prc-radius)}
.prc-skip{position:absolute; left:-999px; top:0; background:var(--prc-white); padding:.6em 1em; z-index:100; border-radius:0 0 var(--prc-radius-sm) 0}
.prc-skip:focus{left:8px; top:8px}
.prc-wrap{max-width:var(--prc-maxw); margin:0 auto; padding:0 1.25rem}
.sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap}

/* topbar */
.prc-topbar{background:var(--prc-surface); color:var(--prc-ink-soft); font-size:.78rem}
.prc-topbar-in{display:flex; justify-content:space-between; gap:1rem; padding:.4rem 1.25rem; flex-wrap:wrap}
.prc-topbar a{color:var(--prc-ink-soft); text-decoration:none}
.prc-topbar a:hover{text-decoration:underline}
.prc-topbar-in span{display:none}
@media (min-width:560px){.prc-topbar-in span{display:inline}}

/* header */
.prc-header{background:oklch(0.995 0.004 169 / 0.92); backdrop-filter:blur(6px); border-bottom:1px solid var(--prc-line); position:sticky; top:0; z-index:40}
.prc-header-in{display:flex; align-items:center; gap:1rem; padding:.7rem 1.25rem; flex-wrap:nowrap; position:relative}
.prc-logo{font-family:var(--font-title); font-weight:700; font-size:1.2rem; color:var(--prc-ink); text-decoration:none;
  margin-right:auto; flex-shrink:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}

.prc-burger{display:none; flex-direction:column; justify-content:center; align-items:center; gap:4px; width:44px; height:44px;
  border:1px solid var(--prc-line); border-radius:var(--prc-radius-sm); background:var(--prc-white); cursor:pointer; flex-shrink:0; padding:0}
.prc-burger-bar{display:block; width:16px; height:2px; border-radius:2px; background:var(--prc-ink); margin:0 auto}
.prc-nav{display:flex; align-items:center; min-width:0; overflow-x:auto; -webkit-overflow-scrolling:touch}
.prc-nav-list{list-style:none; display:flex; gap:1.3rem; margin:0; padding:0; align-items:center; flex-wrap:nowrap; white-space:nowrap}
.prc-nav-list > li > a{color:var(--prc-ink-soft); text-decoration:none; font-weight:700; font-size:.92rem}
.prc-nav-list > li > a:hover, .prc-nav-list > li > a[aria-current="page"]{color:var(--prc-accent-d)}
.prc-cta-header-short{display:none}

@media (max-width:860px){
  .prc-burger{display:flex}
  .prc-cta-header-full{display:none}
  .prc-cta-header-short{display:inline}
  .prc-nav{display:none; position:absolute; top:100%; left:0; right:0; background:var(--prc-white);
    border-bottom:1px solid var(--prc-line); box-shadow:var(--prc-shadow); overflow-x:visible}
  .prc-nav.is-open{display:block}
  .prc-nav-list{flex-direction:column; align-items:stretch; gap:0; white-space:normal; padding:.5rem 1.25rem 1rem}
  .prc-nav-list > li > a{display:block; padding:.85rem 0; font-size:.98rem; min-height:44px; box-sizing:border-box}
}
@media (max-width:400px){
  .prc-header-in{gap:.5rem; padding:.6rem .75rem}
  .prc-logo{max-width:48vw; font-size:1.05rem}
  .prc-cta-header{padding:.5rem .6rem; font-size:.8rem}
}
.prc-cta-header{margin-left:.5rem; white-space:nowrap; flex-shrink:0; flex-grow:0}

/* buttons : arrondis discrets, ombre légère, pas de bordure épaisse */
.prc-btn{display:inline-block; font-family:var(--font-title); font-weight:700;
  text-decoration:none; padding:.75rem 1.5rem; border-radius:var(--prc-radius-pill); border:1px solid transparent; cursor:pointer; font-size:1rem}
.prc-btn-accent{background:var(--prc-accent-d); color:var(--prc-white); box-shadow:var(--prc-shadow-sm)}
.prc-btn-accent:hover{background:oklch(0.36 0.080 169)}

/* bands */
.prc-band{padding:3.2rem 0}
.prc-band-alt{background:var(--prc-surface)}

.prc-relance-mid{display:grid; grid-template-columns:1.2fr .8fr; gap:2rem; align-items:center}
@media (max-width:760px){.prc-relance-mid{grid-template-columns:1fr; text-align:left}}
.prc-mid-cta .prc-btn{white-space:nowrap}

/* hero — mode A : copie centrée en haut, photo pleine largeur en bande, puis frise des
   3 étapes + formulaire compact en bande sous la frise. */
.prc-hero{padding:1.4rem 0 2.8rem}
.prc-hero-copy{max-width:52rem; text-align:center; margin:0 auto}
.prc-hero-copy .prc-kicker{justify-content:center; margin-bottom:.4em}
.prc-hero-copy .prc-lede{margin:0 auto .9em; max-width:56ch}
.prc-kicker{display:flex; text-transform:uppercase; letter-spacing:.08em; font-size:.82rem; color:var(--prc-accent-d); font-weight:700; margin:0 0 .6em}
.prc-lede{font-size:1.05rem; max-width:62ch; color:var(--prc-ink-soft); margin-bottom:1em}

.snt-hero-photo{width:100%; aspect-ratio:16/7; object-fit:cover; border-radius:0; margin:1.8rem 0}
@media (max-width:760px){.snt-hero-photo{aspect-ratio:4/3}}

/* module signature : "le parcours de soin couvert" — frise horizontale de 3 étapes */
.snt-parcours{margin:0 0 1.8rem}
.snt-parcours-tag{text-align:center; text-transform:uppercase; letter-spacing:.08em; font-size:.8rem; font-weight:700; color:var(--prc-accent-d); margin:0 0 1.1em}
.snt-parcours-track{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem}
@media (max-width:760px){.snt-parcours-track{grid-template-columns:1fr}}
.snt-etape{background:var(--prc-white); border-radius:var(--prc-radius); box-shadow:var(--prc-shadow); padding:1.4rem 1.3rem; position:relative}
.snt-etape-num{display:inline-flex; align-items:center; justify-content:center; width:2rem; height:2rem; border-radius:50%;
  background:var(--prc-accent-d); color:var(--prc-white); font-family:var(--font-title); font-weight:700; font-size:.95rem; margin-bottom:.7em}
.snt-etape-label{display:block; text-transform:uppercase; letter-spacing:.06em; font-size:.72rem; font-weight:700; color:var(--prc-accent-d); margin-bottom:.4em}
.snt-etape h3{margin-bottom:.4em; font-size:1.02rem}
.snt-etape p{margin:0; font-size:.9rem; color:var(--prc-ink-soft)}

.prc-hero-form-band{background:var(--prc-white); border-radius:var(--prc-radius); box-shadow:var(--prc-shadow); padding:.9rem 1.2rem; max-width:520px; margin:.9rem auto 0; text-align:left}
.prc-hero-form-band .prc-form{gap:.4rem}
.prc-hero-form-band .prc-form{max-width:none}

/* détail : deux pages de segment en cartes */
.snt-detail-grid{display:grid; gap:1.1rem; margin-top:1.4rem; grid-template-columns:repeat(2,1fr)}
@media (max-width:760px){.snt-detail-grid{grid-template-columns:1fr}}
.snt-detail-card{display:flex; gap:1rem; align-items:flex-start; text-decoration:none; color:var(--prc-ink);
  background:var(--prc-white); border-radius:var(--prc-radius); box-shadow:var(--prc-shadow-sm); padding:1.4rem; transition:box-shadow .15s ease, transform .15s ease}
.snt-detail-card:hover{box-shadow:var(--prc-shadow); transform:translateY(-2px)}
.snt-detail-num{flex-shrink:0; font-family:var(--font-title); font-weight:700; font-size:1.5rem; color:var(--prc-accent-d); line-height:1}
.snt-detail-body{display:flex; flex-direction:column; gap:.3rem}
.snt-detail-body h3{margin:0; font-size:1rem; line-height:1.35}
.snt-detail-body span{font-size:.88rem; color:var(--prc-ink-soft)}

/* forms */
.prc-form{display:grid; gap:.7rem; max-width:480px}
.prc-form-compact{max-width:440px}
.prc-form-full{max-width:580px}
.prc-field{display:flex; flex-direction:column; gap:.3rem}
.prc-field label{font-size:.82rem; font-weight:700; color:var(--prc-ink-soft)}
.prc-field input, .prc-field select, .prc-field textarea{
  font-family:var(--font-body); font-size:1rem; padding:.65rem .85rem; border:1px solid var(--prc-line-strong);
  border-radius:var(--prc-radius-sm); background:var(--prc-white); color:var(--prc-ink);
}
.prc-field input:focus, .prc-field select:focus, .prc-field textarea:focus{outline:2px solid var(--prc-accent); outline-offset:1px}
.prc-honeypot{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.prc-consent{display:flex; gap:.5rem; align-items:flex-start; font-size:.82rem; line-height:1.45; color:var(--prc-ink-soft)}
.prc-consent input{margin-top:.2rem}
.prc-reassure{font-size:.8rem; color:var(--prc-ink-soft); margin:0}
.prc-reassure-hero{font-size:.74rem; margin-top:.2rem; text-align:center}
.prc-cta-final .prc-reassure{color:oklch(0.9 0.014 169)}
.prc-service-form{background:var(--prc-white); border-radius:var(--prc-radius); box-shadow:var(--prc-shadow); padding:1.3rem; max-width:520px}
.prc-service-photo{margin-bottom:1rem; aspect-ratio:1/1; object-fit:cover; width:100%; height:auto}
.prc-article-photo{aspect-ratio:3/2; object-fit:cover; width:100%; margin:1.2rem 0}

.prc-band-service{padding-top:2.6rem}
.prc-service-copy{min-width:0}
.prc-service-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:2.5rem; align-items:start}
@media (max-width:820px){.prc-service-grid{grid-template-columns:1fr}}

/* fil d'Ariane */
.prc-breadcrumb{font-size:.8rem; color:var(--prc-ink-soft); margin-bottom:1.2rem}
.prc-breadcrumb a{color:var(--prc-ink-soft); text-decoration:none}
.prc-breadcrumb a:hover{text-decoration:underline}
.prc-breadcrumb .sep{margin:0 .4em; opacity:.5}

/* content */
.prc-content-narrow{max-width:72ch}
.prc-content-block{margin-bottom:1.8rem}
.prc-steps{padding-left:1.2em}
.prc-steps li{margin-bottom:.7em}

/* avis */
.prc-avis{margin-top:.5rem}
.prc-avis-score{font-weight:700; font-size:1.1rem; margin-bottom:1.2rem; font-family:var(--font-title)}
.prc-avis-list{list-style:none; margin:0; padding:0; display:grid; gap:1.1rem; grid-template-columns:repeat(2,1fr)}
@media (max-width:760px){.prc-avis-list{grid-template-columns:1fr}}
.prc-avis-item{background:var(--prc-white); border-radius:var(--prc-radius); box-shadow:var(--prc-shadow-sm); padding:1.2rem}
.prc-avis-head{display:flex; justify-content:space-between; align-items:baseline; gap:.5rem; margin-bottom:.5em; flex-wrap:wrap}
.prc-stars{color:var(--prc-accent-d); letter-spacing:1px}
.prc-avis-who{font-size:.8rem; color:var(--prc-ink-soft); text-align:right}
.prc-avis-profil{display:block; font-weight:700; color:var(--prc-ink)}
.prc-avis-more{margin-top:1.1rem}
.prc-avis-more summary{cursor:pointer; font-weight:700; font-size:.9rem; color:var(--prc-accent-d)}

/* faq */
.prc-faq{margin-top:.5rem}
.prc-faq-item{border-bottom:1px solid var(--prc-line); padding:1rem 0}
.prc-faq-item summary{cursor:pointer; font-weight:700; font-size:1rem}
.prc-faq-a{padding-top:.7rem; color:var(--prc-ink-soft)}

/* blog */
.prc-blog-list{display:grid; gap:1.5rem; margin-top:1.6rem}
.prc-blog-item{background:var(--prc-white); border-radius:var(--prc-radius); box-shadow:var(--prc-shadow-sm); padding:1.4rem}
.prc-blog-date{font-size:.8rem; color:var(--prc-ink-soft); margin-bottom:.3em}
.prc-blog-item h2{margin-bottom:.3em; font-size:1.15rem}
.prc-article-body h2{margin-top:1.6em}

/* cta final */
.prc-cta-final{background:var(--prc-ink); color:var(--prc-white)}
.prc-cta-final h2{color:var(--prc-white)}
.prc-cta-final .prc-lede{color:oklch(0.9 0.014 169)}
.prc-cta-final .prc-field label{color:oklch(0.9 0.014 169)}
.prc-cta-final .prc-consent{color:oklch(0.9 0.014 169)}
.prc-cta-final .prc-field input, .prc-cta-final .prc-field select, .prc-cta-final .prc-field textarea{border-color:oklch(0.62 0.020 169); background:oklch(0.28 0.02 169); color:var(--prc-white)}

/* footer */
.prc-footer{background:var(--prc-surface); border-top:1px solid var(--prc-line); padding:2.8rem 0 1.6rem; margin-top:2rem; font-size:.9rem}
.prc-footer-cols{display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:1.6rem; margin-bottom:1.6rem}
@media (max-width:760px){.prc-footer-cols{grid-template-columns:1fr 1fr}}
.prc-footer-h{font-weight:700; margin-bottom:.5em; font-size:.85rem}
.prc-footer ul{list-style:none; padding:0; margin:0}
.prc-footer li{margin-bottom:.35em}
.prc-footer-brand{font-family:var(--font-title); font-weight:700; font-size:1.15rem; margin-bottom:.35em}
.foot-sources{font-size:.76rem; color:var(--prc-ink-soft); border-top:1px solid var(--prc-line); padding-top:1rem; margin-top:.6rem}
.prc-copy{font-size:.78rem; color:var(--prc-ink-soft); margin-top:.6rem}
