@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--ink:#282a2b;--copper:#b69260;--paper:#faf9f6;--line:#dcdedb;--muted:#616264}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit}a:focus-visible{outline:3px solid var(--copper);outline-offset:4px}img{display:block;max-width:100%}.skip{position:absolute;left:-999px;top:10px;background:#fff;padding:10px;z-index:10}.skip:focus{left:10px}.header{min-height:90px;display:flex;align-items:center;gap:42px;padding:15px 4.8%;background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;line-height:1}.brand-mark{display:grid;place-items:center;border:1px solid var(--copper);width:43px;height:43px;color:var(--copper);font:30px 'Playfair Display',Georgia,serif}.brand strong{font:26px 'Playfair Display',Georgia,serif;letter-spacing:.1em}.brand small{display:block;margin-top:5px;font-size:9px;letter-spacing:.2em}.header nav{display:flex;gap:27px;margin-left:auto}.header nav a{text-decoration:none;font-size:14px;font-weight:600}.header nav a:hover,.text-link:hover{color:var(--copper)}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;text-align:center;min-height:56px;padding:13px 25px;background:var(--ink);color:white;text-decoration:none;font-size:14px;font-weight:700;transition:background .2s,transform .2s}.button:hover{background:#515154;transform:translateY(-2px)}.button-small{min-height:46px;padding:11px 18px}.hero{display:grid;grid-template-columns:52% 48%;min-height:665px}.hero-copy{padding:95px 8% 60px 9.3%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.23em;color:var(--copper);margin:0 0 25px}.hero h1,.section h2,.appointment h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.035em;line-height:1.14}.hero h1{font-size:clamp(44px,4.7vw,78px);margin:0 0 29px}.hero h1 em{font-weight:400;color:var(--copper)}.intro{max-width:555px;font-size:18px;color:var(--muted);line-height:1.7;margin:0 0 31px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.text-link{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:14px;font-weight:700}.hero-location{font-size:13px;color:var(--muted);margin-top:54px}.hero-art{position:relative;background:#f5f0e7;overflow:hidden;display:grid;place-items:center;padding:5%}.hero-art img{width:100%;height:100%;max-height:600px;object-fit:contain;mix-blend-mode:multiply}.art-caption{position:absolute;right:26px;bottom:22px;background:rgba(250,249,246,.85);padding:5px 10px;font-size:10px;letter-spacing:.2em}.section{padding:105px 8%;scroll-margin-top:30px}.section-head{max-width:730px}.section h2,.appointment h2{font-size:clamp(39px,4vw,62px);margin:0 0 25px}.section-head>p:last-child:not(.eyebrow){color:var(--muted);font-size:17px}.cabinet{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:white}.cabinet-body>p{font-size:19px;line-height:1.8;margin:8px 0 40px;color:#484b4d}.fact{display:grid;grid-template-columns:38px 1fr;column-gap:15px;border-top:1px solid var(--line);padding-top:27px}.fact-line{grid-row:span 2;width:29px;height:2px;background:var(--copper);margin-top:13px}.fact strong{font-family:'Playfair Display',Georgia,serif;font-size:24px;font-weight:400}.fact>span:last-child{color:var(--muted);font-size:14px}.soins{background:#f2f0eb}.care-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:55px;border-top:1px solid #cbd0cb}.care-grid article{padding:31px 24px 0 0;border-right:1px solid #cbd0cb;margin-right:24px}.care-grid article:last-child{border:0;margin-right:0}.care-grid article>span{font-family:'Playfair Display',Georgia,serif;color:var(--copper);font-size:19px}.care-grid h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:25px;line-height:1.25;margin:23px 0 13px}.care-grid p{color:var(--muted);font-size:15px}.team{background:#fff}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:35px}.person{display:flex;align-items:center;gap:18px;padding:20px;border:1px solid var(--line);text-decoration:none;transition:border-color .2s,background .2s}.person:hover{background:#f8f7f4;border-color:var(--copper)}.initials{width:68px;height:68px;display:grid;place-items:center;background:#ece9e1;color:var(--ink);font:21px 'Playfair Display',Georgia,serif;flex:none}.person strong{display:block;font:24px 'Playfair Display',Georgia,serif;font-weight:400}.person small{display:block;color:var(--muted);font-size:14px}.person b{margin-left:auto;font-size:20px;color:var(--copper);font-weight:400}.appointment{display:flex;justify-content:space-between;align-items:end;gap:50px;background:var(--ink);color:white;padding:88px 8%}.appointment h2{max-width:620px}.appointment p:last-child{color:#e4dfd6}.appointment-actions{display:flex;flex-direction:column;gap:18px;align-items:center;flex:none}.button-light{background:#f4f0e9;color:var(--ink)}.button-light:hover{background:white}.appointment-actions>a:last-child{color:white;font-weight:600;text-decoration:none}.access{background:var(--paper)}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.access address{font-family:'Playfair Display',Georgia,serif;font-style:normal;font-size:27px;line-height:1.45}.access-grid p{color:var(--muted)}.access-grid .text-link{display:inline-block;margin-top:12px}.map-card{min-height:300px;background:#ece9e1;display:flex;flex-direction:column;justify-content:center;padding:45px 15%;position:relative;overflow:hidden}.map-card:after{content:'A';position:absolute;right:-10px;bottom:-120px;font:400 400px 'Playfair Display',Georgia,serif;color:#ded5c6;line-height:1}.map-card>*{z-index:1}.map-card span,.map-card small{font-size:11px;letter-spacing:.25em;color:var(--copper);font-weight:700}.map-card strong{font:34px 'Playfair Display',Georgia,serif;font-weight:400;margin:17px 0}footer{display:flex;align-items:center;gap:40px;justify-content:space-between;border-top:1px solid var(--line);padding:34px 8%}footer p,footer>a:last-child{font-size:13px;color:var(--muted)}@media(max-width:1080px){.header{gap:20px}.header nav{gap:13px}.hero-copy{padding-left:7%}.care-grid{grid-template-columns:repeat(2,1fr);row-gap:28px}.care-grid article:nth-child(2){border:0}}@media(max-width:760px){.header{flex-wrap:wrap;padding:16px 5%;gap:12px}.header nav{order:3;overflow:auto;white-space:nowrap;width:100%;margin:4px 0 0;justify-content:space-between;gap:15px}.header nav a{font-size:13px}.header>.button{margin-left:auto;font-size:12px;min-height:42px;padding:8px 11px}.brand strong{font-size:22px}.brand-mark{width:37px;height:37px}.hero{display:flex;flex-direction:column}.hero-copy{padding:60px 7% 40px}.hero h1{font-size:clamp(41px,10vw,64px)}.intro{font-size:16px}.hero-location{margin-top:40px}.hero-art{min-height:300px;height:58vw;max-height:430px}.hero-art img{height:100%;object-fit:contain}.section{padding:70px 7%}.cabinet{grid-template-columns:1fr;gap:10px}.care-grid{margin-top:30px}.care-grid h3{font-size:22px}.team-grid{grid-template-columns:1fr}.appointment{padding:65px 7%;align-items:start;flex-direction:column;gap:15px}.appointment-actions{align-items:start}.access-grid{grid-template-columns:1fr;gap:35px}footer{flex-direction:column;align-items:flex-start;gap:10px;padding:35px 7%}}@media(max-width:460px){.header>.button{font-size:0;gap:0}.header>.button span{font-size:18px}.hero-actions{align-items:flex-start;flex-direction:column}.care-grid{grid-template-columns:1fr}.care-grid article,.care-grid article:nth-child(2){border-right:0;border-bottom:1px solid #cbd0cb;margin:0;padding:18px 0}.care-grid article:last-child{border-bottom:0}.person strong{font-size:20px}.initials{width:56px;height:56px}}

/* Équipe et prise de rendez-vous */
.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.person{min-height:142px;gap:21px}.portrait,.person .initials{width:94px;height:94px;flex:none;object-fit:cover;background:#ece9e1}.person .initials{font-size:28px}.person-info{display:block;min-width:0}.person-info strong{display:block}.person-info small{margin:4px 0;color:var(--muted)}.book-label{display:block;font-size:13px;font-weight:700;color:#a47a4a;margin-top:12px}.person:hover .book-label{text-decoration:underline}@media(max-width:760px){.team-grid{grid-template-columns:1fr}.person{min-height:110px}.portrait,.person .initials{width:78px;height:78px}}@media(max-width:460px){.portrait,.person .initials{width:67px;height:67px}.person{padding:14px;gap:13px}.book-label{font-size:12px}}

/* Photographies du cabinet */
.cabinet-gallery{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin-top:28px}.cabinet-gallery figure{margin:0;grid-column:span 2;min-width:0}.cabinet-gallery .gallery-feature{grid-column:span 3}.cabinet-gallery img{width:100%;height:245px;object-fit:cover;display:block}.cabinet-gallery .gallery-feature img{height:330px}.cabinet-gallery figcaption{margin-top:9px;font-size:13px;letter-spacing:.04em;color:var(--muted)}@media(max-width:760px){.cabinet-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.cabinet-gallery figure,.cabinet-gallery .gallery-feature{grid-column:span 1}.cabinet-gallery figure:first-child{grid-column:span 2}.cabinet-gallery img,.cabinet-gallery .gallery-feature img{height:185px}.cabinet-gallery figure:first-child img{height:270px}}@media(max-width:460px){.cabinet-gallery{grid-template-columns:1fr}.cabinet-gallery figure,.cabinet-gallery .gallery-feature,.cabinet-gallery figure:first-child{grid-column:span 1}.cabinet-gallery img,.cabinet-gallery .gallery-feature img,.cabinet-gallery figure:first-child img{height:230px}}

/* Monogramme officiel dans l'en-tête et le pied de page */
.brand-mark{display:block;flex:none;width:48px;height:48px;border:0;background-image:url('/assets/logo-concept.png');background-repeat:no-repeat;background-size:130px 87px;background-position:center -10px;mix-blend-mode:multiply}
@media(max-width:760px){.brand-mark{width:40px;height:40px;background-size:110px 73px;background-position:center -8px}}
.map-card:after{content:'';width:270px;height:240px;right:-10px;bottom:-15px;background-image:url('/assets/logo-concept.png');background-repeat:no-repeat;background-size:845px 563px;background-position:center -100px;mix-blend-mode:multiply;opacity:.22}
.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:24px}.contact-details a{color:var(--ink);font-size:16px;text-decoration-color:var(--copper);text-underline-offset:4px;overflow-wrap:anywhere}
.email-options{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:3px}.email-options a,.email-options button{color:var(--ink);font:inherit;font-size:14px;text-decoration:underline;text-decoration-color:var(--copper);text-underline-offset:4px;background:none;border:0;padding:2px 0;cursor:pointer}.email-options button:hover,.email-options a:hover{color:var(--copper)}#copy-email-status:not(:empty){color:var(--muted);font-size:14px}
