:root { color-scheme: light; --bleu-nuit:#082b5c; --bleu:#0755a2; --texte:#17375d; }
*, *::before, *::after { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; color:var(--texte); background:#fff; font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; }
a:focus-visible { outline:3px solid #eebf4b; outline-offset:4px; }
svg { display:block; }

/* Deux recadrages visuels indépendants de l'image d'origine.
   Le logo et la photo sont découpés sans intégrer de texte dans l'image. */
.hero { position:relative; isolation:isolate; min-height:clamp(700px,53vw,880px); background:linear-gradient(100deg,#eef8ff 0%,#e5f3fc 43%,#d7eaf7 100%); overflow:hidden; }
.hero-photo { position:absolute; z-index:-1; inset:0 0 0 38%; background:url('maquette-kine.png') right center / auto 128% no-repeat; }
.hero-photo::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#eaf6ff 0%,rgba(234,246,255,.94) 13%,rgba(234,246,255,.34) 34%,rgba(234,246,255,0) 57%); }
.entete { max-width:1800px; width:100%; margin:auto; display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding:17px clamp(24px,4vw,72px) 0; position:relative; z-index:2; }
.logo-decoupe { display:block; width:clamp(240px,26vw,390px); height:clamp(82px,9.2vw,132px); flex-shrink:0; background:url('maquette-kine.png') 5.1% 1.8% / 410% auto no-repeat; }
.bouton { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:55px; border-radius:11px; text-decoration:none; transition:background-color .2s ease,transform .2s ease; }
.bouton:hover { transform:translateY(-2px); }
.bouton-appel { margin-top:22px; padding:13px 20px; color:#fff; background:linear-gradient(180deg,#075da9,#024996); border:1px solid rgba(255,255,255,.78); box-shadow:0 7px 20px rgba(7,48,91,.1); white-space:nowrap; font:normal clamp(16px,1.7vw,28px)/1.25 Georgia,'Times New Roman',serif; }
.bouton-appel strong { font-weight:normal; }
.bouton-appel svg { width:28px; height:28px; flex:0 0 28px; }
.bouton-appel:hover,.bouton-email:hover { background:#003f87; }
.hero-contenu { max-width:1800px; width:100%; min-height:clamp(540px,42vw,700px); margin:auto; padding:24px clamp(24px,4vw,72px) 80px; display:flex; align-items:center; position:relative; z-index:1; }
.hero-copie { max-width:clamp(560px,53vw,850px); }
.hero h1 { margin:0 0 35px; color:var(--bleu-nuit); font:normal clamp(55px,5.2vw,91px)/1.02 Georgia,'Times New Roman',serif; letter-spacing:-.059em; text-wrap:balance; }
.hero h1 em { display:block; color:var(--bleu); font-style:normal; }
.hero-kicker { display:block; margin:0 0 26px; font:700 13px/1.4 Arial,Helvetica,sans-serif; color:var(--bleu); letter-spacing:.15em; text-transform:uppercase; }
.hero-description { max-width:640px; margin:0 0 40px; color:#0d2d60; font:normal clamp(19px,1.7vw,28px)/1.28 Georgia,'Times New Roman',serif; }
.hero-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.bouton-email { padding:14px 25px; color:#fff; background:linear-gradient(180deg,#075da9,#024996); border:1px solid #dfedfc; font:normal clamp(18px,2.15vw,34px)/1.15 Georgia,'Times New Roman',serif; }
.bouton-email svg { width:32px; height:32px; flex:0 0 32px; }
.bouton-doctolib { padding:14px 18px; color:var(--bleu); background:rgba(255,255,255,.85); border:1px solid #6b9cc6; font:normal clamp(17px,1.5vw,24px)/1.2 Georgia,'Times New Roman',serif; }
.bouton-doctolib:hover { background:#fff; }
.bouton-doctolib svg { width:23px; height:23px; flex:0 0 23px; }
.hero-localisation { margin:19px 0 0; color:var(--bleu); font:normal clamp(18px,1.55vw,25px)/1.35 Georgia,'Times New Roman',serif; }
.hero-localisation span { margin:0 5px; }
.bandeau-site { min-height:80px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:19px clamp(24px,4vw,72px); color:#fff; background:linear-gradient(180deg,#06477f,#092d5b); font:normal clamp(17px,1.5vw,25px)/1.3 Georgia,'Times New Roman',serif; }
.bandeau-site span:first-child { letter-spacing:.21em; font-size:.9em; }

/* Contenu de référencement, entièrement sélectionnable et indexable. */
.biographie { padding:104px 24px 116px; background:#fff; }
.bio-conteneur { max-width:1140px; margin:auto; }
.bio-sur-titre { margin:0 0 22px; color:var(--bleu); font-size:12px; font-weight:800; letter-spacing:.22em; text-transform:uppercase; }
.bio-intro { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:90px; align-items:start; padding-bottom:64px; border-bottom:1px solid #d7e5f0; }
.bio-intro h2 { margin:0; color:var(--bleu-nuit); font:normal clamp(36px,4.2vw,60px)/1.06 Georgia,'Times New Roman',serif; letter-spacing:-.04em; }
.bio-intro .accroche { margin:6px 0 0; color:var(--bleu); font:normal clamp(20px,2.1vw,28px)/1.4 Georgia,'Times New Roman',serif; }
.bio-grille { display:grid; grid-template-columns:240px minmax(0,1fr); gap:64px; margin-top:64px; }
.bio-aside { color:var(--bleu); font:normal 21px/1.45 Georgia,'Times New Roman',serif; }
.bio-aside span { display:block; width:58px; height:3px; margin-bottom:24px; background:#7eb0d5; }
.bio-texte { max-width:740px; }
.bio-texte p { margin:0 0 24px; color:#324b67; font-size:17px; line-height:1.85; }
.bio-texte h3 { margin:50px 0 20px; color:var(--bleu-nuit); font:normal 32px/1.2 Georgia,'Times New Roman',serif; letter-spacing:-.02em; }
.bio-texte h3:first-child { margin-top:0; }
.bio-signature { color:var(--bleu-nuit)!important; font-weight:700; margin-top:34px!important; }
.contact-bas { background:#073468; color:#fff; padding:54px 24px 62px; }
.contact-bas-inner { max-width:1140px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.contact-bas h2 { margin:0 0 8px; font:normal 31px/1.2 Georgia,'Times New Roman',serif; }
.contact-bas p { margin:0; color:#d2e8fa; line-height:1.6; }
.contact-bas-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.btn { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:9px; border-radius:10px; padding:14px 20px; font-size:15px; font-weight:700; line-height:1.3; text-align:center; text-decoration:none; white-space:nowrap; transition:background .2s ease,transform .2s ease; }
.btn:hover { transform:translateY(-2px); }
.btn-blanc { color:#073c79; background:#fff; }
.btn-blanc:hover { background:#e9f4ff; }
.btn-trait { color:#fff; border:1px solid #bddaf0; }
.btn-trait:hover { background:#15558f; }
.pied { background:#05264d; color:#c9def0; text-align:center; padding:20px 24px; font-size:13px; line-height:1.6; }
.pied a { text-underline-offset:3px; }

@media (min-width:1600px) {
  .hero-photo { inset-inline-start:34%; }
  .hero-contenu { min-height:690px; }
}
@media (max-width:1100px) {
  .hero { min-height:670px; }
  .hero-photo { inset-inline-start:37%; background-size:auto 121%; }
  .hero-photo::before { background:linear-gradient(90deg,#eaf6ff 0%,rgba(234,246,255,.93) 18%,rgba(234,246,255,.5) 45%,transparent 72%); }
  .hero-contenu { min-height:535px; padding-bottom:64px; }
  .hero-copie { max-width:580px; }
  .hero h1 { font-size:clamp(53px,6vw,70px); }
  .hero-description { max-width:510px; }
  .bouton-appel { font-size:18px; }
  .bio-intro { gap:48px; }
  .bio-grille { gap:38px; grid-template-columns:180px minmax(0,1fr); }
  .contact-bas-inner { align-items:flex-start; flex-direction:column; }
}
@media (max-width:760px) {
  .hero { min-height:0; background:#ecf7ff; }
  .entete { align-items:center; padding:12px 20px 0; gap:12px; }
  .logo-decoupe { width:211px; height:72px; }
  .bouton-appel { min-height:44px; margin:0; padding:10px 13px; font:700 14px/1.2 Arial,Helvetica,sans-serif; }
  .bouton-appel svg { width:19px; height:19px; flex-basis:19px; }
  .bouton-appel span { font-size:0; }
  .bouton-appel strong { font-size:14px; font-weight:700; }
  .hero-photo { inset:auto 0 0; height:340px; background-size:auto 144%; background-position:right 34%; }
  .hero-photo::before { background:linear-gradient(180deg,#ecf7ff 0%,rgba(236,247,255,.08) 22%,transparent 38%); }
  .hero-contenu { display:block; min-height:0; padding:32px 24px 355px; }
  .hero-copie { max-width:650px; }
  .hero h1 { font-size:clamp(48px,8.7vw,68px); line-height:1; margin-bottom:24px; }
  .hero-kicker { margin-bottom:18px; }
  .hero-description { font-size:clamp(18px,2.8vw,23px); max-width:650px; margin-bottom:25px; }
  .hero-actions { gap:10px; }
  .bouton-email,.bouton-doctolib { min-height:48px; font-size:18px; padding:11px 17px; }
  .bouton-email svg { width:24px; height:24px; flex-basis:24px; }
  .bouton-doctolib svg { width:20px; height:20px; flex-basis:20px; }
  .hero-localisation { font-size:17px; }
  .bandeau-site { padding:18px 24px; min-height:70px; font-size:15px; }
}
@media (max-width:480px) {
  .entete { padding-inline:14px; }
  .logo-decoupe { width:164px; height:60px; }
  .bouton-appel { padding:9px 10px; }
  .bouton-appel strong { font-size:12px; }
  .hero-contenu { padding:29px 20px 305px; }
  .hero-photo { height:294px; background-size:auto 143%; background-position:right 35%; }
  .hero h1 { font-size:clamp(43px,11vw,53px); letter-spacing:-.055em; }
  .hero-kicker { font-size:11px; }
  .hero-description { font-size:18px; line-height:1.39; }
  .hero-actions { display:grid; grid-template-columns:1fr 1fr; }
  .bouton-email,.bouton-doctolib { font-size:16px; white-space:nowrap; padding:10px 9px; gap:8px; }
  .hero-localisation { margin-top:18px; font-size:16px; }
  .bandeau-site { flex-direction:column; align-items:flex-start; gap:6px; font-size:14px; padding:17px 20px; }
  .biographie { padding:64px 22px 76px; }
  .bio-sur-titre { font-size:11px; margin-bottom:16px; }
  .bio-intro { display:block; padding-bottom:38px; }
  .bio-intro h2 { font-size:clamp(34px,9vw,48px); }
  .bio-intro .accroche { margin-top:25px; font-size:23px; }
  .bio-grille { display:block; margin-top:34px; }
  .bio-aside { font-size:20px; margin-bottom:32px; }
  .bio-aside span { margin-bottom:16px; }
  .bio-texte p { font-size:16px; line-height:1.8; }
  .bio-texte h3 { font-size:29px; margin-top:40px; }
  .contact-bas { padding:46px 22px 50px; }
  .contact-bas h2 { font-size:28px; }
  .contact-bas-actions { display:grid; grid-template-columns:1fr 1fr; width:100%; }
  .contact-bas-actions .btn { white-space:normal; padding:12px 8px; }
  .contact-bas-actions .btn:last-child { grid-column:1/-1; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition-duration:.01ms!important; animation-duration:.01ms!important; }
}
