:root{--navy:#205389;--blue:#a2bfe3;--muted:#405b78;--paper:#fff;--soft:#f1f5fb;--line:#d4dfef}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;color:var(--navy);background:var(--paper);font:16px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}body:before{content:"";position:absolute;z-index:-1;right:0;top:0;width:48%;height:780px;background:#e3ecf7;border-radius:0 0 0 95%;pointer-events:none}.wrap{width:min(1200px,calc(100% - 112px));margin:auto}a{color:inherit;text-underline-offset:5px}a:hover{color:#1c4d82}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}:focus-visible{outline:3px solid #1c4d82;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:450;line-height:1.16;letter-spacing:-.045em}h1{font-size:clamp(42px,5.5vw,76px)}h2{font-size:clamp(30px,3.4vw,46px)}h3{font-size:23px;letter-spacing:-.025em}em{font-family:Georgia,"Times New Roman",serif;font-weight:400}p{margin-bottom:1.2em}img{display:block;width:100%;object-fit:cover}header.header{display:flex;align-items:center;gap:48px;min-height:144px}.brand{display:inline-flex;flex-direction:column;text-decoration:none;line-height:1;color:var(--navy);flex-shrink:0}.brand-name{font-family:Georgia,"Times New Roman",serif;font-size:55px;letter-spacing:-4px}.brand-dot{color:#6a9eb4}.brand-sub{font-size:12px;letter-spacing:8px;padding-left:4px;margin-top:5px}.brand-placeholder{font:9px/1.4 system-ui;letter-spacing:0;margin-top:10px;color:var(--muted)}nav{display:flex;gap:30px;margin-left:auto}nav a{text-decoration:none;font-size:14px;padding:12px 0}nav a[aria-current]{box-shadow:0 2px 0 var(--navy)}.button{display:inline-flex;gap:24px;align-items:center;justify-content:center;padding:16px 24px;border:1px solid var(--navy);border-radius:6px;background:var(--navy);color:white;text-decoration:none;font-size:14px;font-weight:550;line-height:1.5;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#1c4d82;color:white;transform:translateY(-2px)}.button.small{padding:13px 18px;font-size:13px}.button span{font-size:20px}.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:65px;align-items:center;padding-top:42px;padding-bottom:62px}.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:650;margin:0 0 24px}.hero h1{margin-bottom:27px}.lead{font-size:17px;line-height:1.85;color:var(--muted);max-width:510px}.hero .lead{max-width:400px}.actions{display:flex;align-items:center;gap:24px;margin-top:31px;flex-wrap:wrap}.text-link{font-size:14px;font-weight:550;text-decoration:none;display:inline-flex;gap:20px;align-items:center;padding:10px 0;border-bottom:1px solid #608fca}.micro{font-size:12px;color:var(--muted);line-height:1.65;margin-top:13px}.hero-visual{position:relative;padding-bottom:36px}.photo{overflow:hidden;position:relative;border-radius:9px}.photo img{height:100%;aspect-ratio:1.5;object-fit:cover}.hero .photo{border-radius:170px 12px 12px 12px}.hero .photo img{aspect-ratio:.96;height:480px}.photo figcaption{position:absolute;left:10px;bottom:10px;font-size:10px;line-height:1.6;background:#fffef5eF;color:#205389;border-radius:3px;padding:3px 7px;max-width:calc(100% - 20px)}.image-tag{position:absolute;right:24px;bottom:4px;background:var(--navy);color:#fff;padding:21px 30px;border-radius:7px;font-family:Georgia,serif;font-size:21px;line-height:1.4;box-shadow:0 12px 25px #20538912}.image-tag span{float:left;margin-right:20px;font:32px system-ui;color:#a2bfe3}.below-hero{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:22px 0;color:var(--muted);font-size:12px}.below-hero a{text-decoration:none}.below-hero a span{margin-left:24px}.section{padding-top:100px;padding-bottom:100px}.approach,.insurance{display:grid;grid-template-columns:1fr 1fr;gap:100px}.approach h2{margin-bottom:28px}.prose p{line-height:1.95}.justified{text-align:justify;hyphens:auto}.draft-note{font-size:12px;line-height:1.7;padding:12px 15px;border-left:2px solid #608fca;background:#eaf0f9;color:#405b78;text-align:left}.soft-section{background:var(--soft);position:relative}.closing{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.closing p{max-width:430px}.page-intro{padding:55px 0 55px}.page-intro h1{font-size:clamp(42px,5vw,65px);margin-bottom:25px}.page-intro .lead{max-width:650px}.care-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-bottom:100px}.care-card{background:#f3f6fc;border:1px solid #dce6f4;border-radius:14px;overflow:hidden}.care-card>.photo{border-radius:0}.care-card img{height:235px}.card-copy{padding:32px;position:relative}.care-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #a2bfe3;border-radius:50%;font-size:23px}.card-number{float:right;font-size:12px;color:var(--muted);padding-top:9px}.care-card h2{font-size:29px;margin:19px 0 17px;max-width:400px}.care-card p{font-size:15px;line-height:1.8}.care-card p:last-child{margin-bottom:0}.care-card .micro{font-size:12px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:45px}.steps>div{border-top:1px solid #a2bfe3;padding-top:20px}.steps span{font-size:12px}.steps h3{margin:15px 0}.steps p{font-size:15px}.insurance p{color:var(--muted)}.therapist{display:grid;grid-template-columns: .9fr 1.1fr;gap:90px;align-items:start;padding-bottom:100px}.portrait img{border-radius:14px;max-height:610px;object-fit:cover}.portrait figcaption{font-size:11px;color:var(--muted);padding-top:12px}.therapist h2{margin-bottom:30px}.qualification{display:flex;gap:25px;border-block:1px solid var(--line);padding:25px 0}.year{font-size:13px;padding-top:5px}.qualification h3{font-size:22px}.qualification p{margin:7px 0 0}.training-label{margin-top:38px}.training{list-style:none;margin:0 0 35px;padding:0}.training li{display:flex;gap:20px;border-bottom:1px solid var(--line);padding:14px 0;font-size:15px}.contact-grid{display:grid;grid-template-columns: .85fr 1.15fr;gap:85px;padding-bottom:90px}.contact-details h2{font-size:31px;margin-bottom:22px}address{font-style:normal;line-height:1.9}address a{display:inline-block;margin-top:16px;font-size:15px}dl{margin:30px 0}dt{font-size:11px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;margin-top:20px}dd{margin:4px 0;font-size:14px;color:var(--muted)}.appointment{border-top:1px solid var(--line);margin-top:35px;padding-top:30px}.appointment .eyebrow{margin-bottom:16px}.appointment h3{margin-bottom:14px}.appointment p{font-size:14px}.form-panel{background:var(--soft);padding:36px;border-radius:12px}.form-panel h2{font-size:32px;margin-bottom:25px}fieldset{padding:0;margin:0;border:0;min-width:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:13px;font-weight:550;margin-bottom:7px}input,textarea{width:100%;border:1px solid #819fc3;border-radius:5px;background:white;color:var(--navy);padding:11px 13px;margin-bottom:19px;min-width:0}input:disabled,textarea:disabled{background:#f9fbfe;opacity:1}.checkbox{display:flex;align-items:start;gap:12px;font-size:12px;font-weight:400;line-height:1.7;margin:18px 0 24px}.checkbox input{width:18px;height:18px;flex-shrink:0;margin:3px 0}.button:disabled{background:#dce5f2;border-color:#a2bfe3;color:#405b78;cursor:not-allowed;transform:none}.privacy{border-top:1px solid var(--line);max-width:850px}.privacy h2{margin-bottom:25px}.privacy p{font-size:14px}.menu-button{display:none}footer{padding:55px 0 20px;background:#205389;color:#fff}footer .brand{color:#fff}footer .brand-dot{color:#a2bfe3}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:50px}.footer-grid p,.footer-grid a:not(.brand){font-size:13px}.footer-grid p{color:#e0eafa;margin:10px 0 25px}.footer-grid strong{font-size:14px;font-weight:550}.footer-bottom{border-top:1px solid #608fca;display:flex;justify-content:space-between;gap:20px;margin-top:30px;padding-top:20px;color:#e0eafa;font-size:11px}.skip{position:fixed;top:-100px;left:20px;z-index:10;background:white;padding:10px 20px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.hero{padding-top:70px;padding-bottom:85px}.hero .photo img{height:530px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}header.header{gap:25px}nav{gap:20px}.header-cta{gap:10px;padding:12px!important}.hero{gap:30px}.hero .photo img{height:420px}.hero h1{font-size:60px}.approach,.insurance,.therapist,.contact-grid,.closing{gap:45px}.actions{gap:15px}.button{padding:14px 18px}}
@media(max-width:760px){body:before{width:75%;height:600px}.wrap{width:calc(100% - 40px)}header.header{min-height:115px;flex-wrap:wrap;gap:20px;padding-top:16px;padding-bottom:20px}.brand-name{font-size:43px}.brand-sub{font-size:10px;letter-spacing:6px}.brand-placeholder{font-size:8px}nav{width:100%;order:4;margin:0;justify-content:space-between;gap:10px}.header-cta{margin-left:auto;font-size:11px!important}.menu-button:not([hidden]){display:flex;align-items:center;gap:10px;background:transparent;border:1px solid #608fca;color:var(--navy);border-radius:5px;padding:8px 10px;font-size:13px;margin-left:auto}.js header.header .header-cta{display:none}.js nav:not(.is-open){display:none}.hero{grid-template-columns:1fr;padding-top:25px;padding-bottom:25px;gap:38px}.hero h1{font-size:clamp(47px,11vw,66px)}.hero .lead{font-size:16px}.eyebrow{font-size:10px;margin-bottom:19px}.hero .photo img{height:350px}.hero .photo{border-radius:110px 10px 10px 10px}.hero-visual{padding-bottom:28px}.image-tag{right:18px;padding:16px 22px;font-size:19px}.below-hero{font-size:11px;padding-block:20px}.below-hero>span{display:none}.section{padding-block:65px}.approach,.closing,.insurance,.therapist,.contact-grid{grid-template-columns:1fr;gap:35px}.justified{text-align:justify}.approach .text-link{margin-top:5px}.page-intro{padding-top:30px;padding-bottom:35px}.page-intro h1{font-size:43px}.page-intro .lead{font-size:16px}.care-grid{grid-template-columns:1fr;gap:25px;margin-bottom:60px}.care-card img{height:220px}.card-copy{padding:25px}.care-card h2{font-size:27px}.steps{grid-template-columns:1fr;gap:20px;margin-top:30px}.steps h3{margin-top:10px}.steps p{margin-bottom:0}.therapist{padding-bottom:65px}.portrait{max-width:480px}.contact-grid{padding-bottom:60px}.form-panel{padding:24px}.form-row{grid-template-columns:1fr;gap:0}.footer-grid{grid-template-columns:1fr;gap:25px}.footer-grid p{margin-bottom:0}.footer-bottom{flex-wrap:wrap;gap:12px 25px}footer{padding-top:40px}.privacy{width:calc(100% - 40px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.opening-hours{border-collapse:collapse;margin-top:8px;font-size:14px;width:100%;max-width:320px}.opening-hours th{font-weight:500;text-align:left;padding:4px 20px 4px 0}.opening-hours td{text-align:right;padding:4px 0;white-space:nowrap}.footer-hours{line-height:1.9}

/* Logo SVG : proportions natives, sans recadrage ni déformation. */
.brand,header.header>a.brand,footer a.brand{display:block;position:static;flex:0 0 140px;width:140px;height:auto;line-height:0;background:transparent;overflow:visible}
.brand img.original-logo{display:block;position:static;width:100%;height:auto;max-width:100%;object-fit:contain;transform:none}
header.header{min-height:154px}
footer a.brand{background:transparent;border-radius:0;padding:0}
@media(max-width:760px){.brand,header.header>a.brand,footer a.brand{flex-basis:112px;width:112px}header.header{min-height:135px}}

.direct-contact>p{font-size:15px}.direct-contact .contact-email{margin-top:18px;overflow-wrap:anywhere}.contact-phone{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.contact-phone h3{margin-bottom:12px}

.privacy-compact{border-top:1px solid var(--line);padding:22px 0 32px}.privacy-compact summary{cursor:pointer;font-size:13px;color:var(--muted);width:fit-content}.privacy-compact details>div{max-width:720px;padding-top:18px}.privacy-compact p{font-size:13px;line-height:1.8}.privacy-compact p:last-child{margin-bottom:0}

.contact-simple{display:grid;grid-template-columns:1fr 1fr;gap:34px 80px;padding:36px 42px 42px;margin-bottom:64px;background:var(--soft);border-radius:14px}.contact-simple h2{font-size:30px;margin-bottom:22px}.contact-simple .opening-hours{font-size:15px;max-width:360px}.contact-simple .opening-hours th,.contact-simple .opening-hours td{padding-top:9px;padding-bottom:9px;border-bottom:1px solid var(--line)}.contact-telephone{margin:24px 0 16px}.contact-action{grid-column:1/-1;border-top:1px solid var(--line);padding-top:28px}@media(max-width:760px){.contact-simple{grid-template-columns:1fr;padding:28px 24px;gap:32px;margin-bottom:40px}.contact-simple h2{font-size:27px}.contact-action{grid-column:auto}.contact-action .button{width:100%;gap:12px;font-size:13px}}

.parking-info{max-width:390px;margin:18px 0 0;font-size:14px;line-height:1.8;color:var(--muted)}

.hero-visual{padding-bottom:0}

/* Contact : informations principales visibles ensemble sur ordinateur. */
.contact-page .page-intro{padding:12px 0 20px}.contact-page .page-intro .eyebrow{margin-bottom:8px}.contact-page .page-intro h1{font-size:42px;margin-bottom:10px}.contact-page .page-intro .lead{font-size:15px;max-width:none;margin-bottom:0}.contact-page .contact-simple{padding:24px 30px;gap:18px 60px;margin-bottom:18px}.contact-page .contact-simple h2{font-size:25px;margin-bottom:12px}.contact-page address{font-size:14px;line-height:1.7}.contact-page address a{margin-top:8px;font-size:14px}.contact-page .contact-telephone{margin:12px 0 6px}.contact-page .contact-telephone dt{margin-top:0}.contact-page .contact-telephone dd{margin-top:0}.contact-page .text-link{padding:6px 0;font-size:13px}.contact-page .parking-info{font-size:13px;margin-top:10px;line-height:1.6}.contact-page .opening-hours{font-size:14px}.contact-page .opening-hours th,.contact-page .opening-hours td{padding-block:6px}.contact-page .contact-action{padding-top:15px}.contact-page .contact-action .button{padding:11px 20px}.contact-page .privacy-compact{padding:10px 0 14px}.contact-page .contact-footer{padding:0 0 14px}.contact-page .footer-bottom{margin-top:0;padding-top:12px}
@media(max-width:760px){.contact-page .page-intro{padding-top:18px}.contact-page .page-intro h1{font-size:36px}.contact-page .contact-simple{padding:24px;gap:26px}}

@media(min-width:761px){.contact-page:before{height:100vh}.contact-page .page-intro{padding-bottom:14px}.contact-page .page-intro .eyebrow{margin-bottom:5px}.contact-page .page-intro h1{font-size:38px;margin-bottom:6px}.contact-page .contact-simple{padding:20px 30px;gap:12px 60px;margin-bottom:12px}.contact-page .contact-simple h2{margin-bottom:9px}.contact-page .contact-action{padding-top:12px}.contact-page .privacy-compact{padding:8px 0 10px}}

.privacy-document{max-width:850px;padding-top:32px;padding-bottom:60px}.privacy-document h1{font-size:44px;margin-bottom:15px}.privacy-document h2{font-size:25px;margin:32px 0 14px}.privacy-document p{font-size:15px;line-height:1.85}.privacy-compact>a{font-size:13px;color:var(--muted)}

.hero .photo img[src*=interieur-cabinet]{object-position:50% 65%}.care-card img[src*=reeducation-genou]{object-position:center}.care-card img[src*=squat-barre]{object-position:35% 78%}

.approach-divider{border-top:1px solid var(--line)}#approche.section{padding-top:40px}@media(max-width:760px){#approche.section{padding-top:28px}}

.care-page .care-grid{margin-bottom:60px}.care-page .soft-section>.section,.care-page .insurance{padding-top:60px;padding-bottom:60px}.care-card img[src*=exercice-guide]{object-position:50% 48%}.care-card img[src*=maison-chaleureuse]{object-position:50% 68%}@media(max-width:760px){.care-page .care-grid{margin-bottom:40px}.care-page .soft-section>.section,.care-page .insurance{padding-block:40px}}

.contact-page .contact-action{display:flex;justify-content:space-between;align-items:center;gap:24px}.contact-page .contact-action .parking-info{margin:0;max-width:410px;font-size:16px;line-height:1.65}.contact-page address,.contact-page address a,.contact-page .opening-hours,.contact-page .contact-telephone dd,.contact-page .text-link{font-size:16px}.contact-page .page-intro .lead{font-size:16px}.contact-page .contact-simple h2{font-size:28px}.contact-page .contact-action .button{flex-shrink:0;font-size:15px}.contact-page .contact-telephone dt{font-size:12px}@media(max-width:760px){.contact-page .contact-action{flex-direction:column;align-items:stretch;gap:18px}.contact-page .contact-action .parking-info{max-width:none}}

.contact-page .contact-action{flex-direction:column;align-items:flex-start;gap:12px}.contact-page .contact-action .parking-info{max-width:600px}@media(max-width:760px){.contact-page .contact-action{align-items:stretch}}

.contact-page .contact-action .parking-info{max-width:none;width:100%}@media(min-width:900px){.contact-page .contact-action .parking-info{white-space:nowrap}}

.contact-page .contact-location address,.contact-page .contact-location address a,.contact-page .contact-telephone dt,.contact-page .contact-telephone dd,.contact-page .contact-telephone dd a,.contact-page .contact-location .text-link,.contact-page .contact-location .text-link>span[aria-hidden]{font-size:16px}.contact-page .contact-telephone dt{letter-spacing:0;text-transform:none;font-weight:500}

.opening-notice{margin:22px 0 0;padding:12px 16px;background:var(--soft);border-left:3px solid #608fca;border-radius:0 6px 6px 0;font-size:14px;line-height:1.65}
