@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--ink:#17201b;--muted:#667068;--sage:#7e8d7a;--deep:#324438;--cream:#f5f1e9;--paper:#fbfaf6;--line:#dfe2da}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.7 'DM Sans',Arial,sans-serif}a{color:inherit}button{font:inherit;cursor:pointer}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.1;letter-spacing:-.03em}h2{font-size:clamp(36px,4.5vw,62px)}em{color:var(--deep)}.site-header{min-height:100px;padding:10px 5vw;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none}.brand-logo{width:78px;height:78px;object-fit:contain;border-radius:50%}.brand strong,.brand small{display:block}.brand strong{font-size:14px}.brand small{font-size:10px;letter-spacing:.08em;color:var(--muted)}nav{display:flex;gap:24px}nav a{text-decoration:none;font-size:12px;position:relative}nav a:hover{color:var(--sage)}.menu-toggle{display:none}.btn{display:inline-flex;justify-content:center;align-items:center;padding:14px 22px;border-radius:99px;font-size:12px;font-weight:600;text-decoration:none;transition:transform .2s;white-space:nowrap}.btn:hover{transform:translateY(-3px)}.btn-dark,.btn-primary{background:var(--deep);color:white}.btn-ghost{border:1px solid var(--line);background:transparent}.btn-light{background:var(--cream);color:var(--deep)}.eyebrow,.section-kicker{font-size:10px;font-weight:700;letter-spacing:.2em;color:var(--sage);text-transform:uppercase}.hero{padding:55px 5vw 70px;display:grid;grid-template-columns:1fr 1.13fr;gap:5vw;align-items:center;background:var(--cream);position:relative;overflow:hidden}.hero-copy{position:relative;z-index:1}.hero-identity{font-size:14px;letter-spacing:.04em;color:var(--deep);margin:0}.hero h1{font-size:clamp(45px,5.5vw,78px);max-width:600px;margin:20px 0 24px}.lead{font-size:16px;color:var(--muted);max-width:480px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.trust-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px;font-size:10px;color:var(--muted)}.hero-media{position:relative;z-index:1}.hero-media>img{display:block;width:100%;height:510px;object-fit:cover;border-radius:180px 16px 16px 16px;box-shadow:0 20px 50px #17201b16}.hero-media:before{content:'';position:absolute;width:170px;height:170px;border:1px solid #7e8d7a60;border-radius:50%;top:-25px;right:-25px;z-index:-1}.slideshow-controls{display:flex;gap:8px;align-items:center;margin-top:18px}.slideshow-controls button,.gallery-controls button,.review-controls button{border:1px solid #7e8d7a50;background:transparent;border-radius:50px;padding:9px 16px;color:var(--deep);font-size:12px;min-height:42px}.slide-count{margin-left:auto;font-size:12px;color:var(--muted)}.floating-card{position:absolute;bottom:105px;left:-30px;padding:18px 22px;background:var(--paper);border-radius:12px;box-shadow:0 12px 35px #17201b15;display:flex;gap:12px;max-width:250px}.dot{width:8px;height:8px;border-radius:50%;background:var(--sage);margin-top:8px;flex-shrink:0}.floating-card strong,.floating-card small{display:block}.floating-card strong{font-size:12px}.floating-card small{font-size:10px;color:var(--muted)}.values-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 7vw;background:var(--deep);color:var(--cream);font-size:12px}.values-strip span:before{content:'✦';margin-right:15px;color:#bfc9b7}.values-strip a{text-decoration:none;border-bottom:1px solid #ffffff60}.section{padding:95px 7vw}.intro{background:var(--paper)}.intro-grid,.section-head{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;margin:25px 0 45px;align-items:start}.intro-grid p,.section-head p,.team-copy>p,.tech-panel p{font-size:15px;color:var(--muted)}.image-strip{position:relative}.image-strip img{width:100%;height:440px;object-fit:cover;display:block;border-radius:16px}.image-note{position:absolute;right:35px;bottom:30px;background:var(--paper);padding:24px 28px;max-width:310px;border-radius:10px}.image-note span{font-size:10px;letter-spacing:.15em;color:var(--sage);text-transform:uppercase}.image-note strong{display:block;font:24px/1.3 Georgia,serif;margin-top:8px}.gallery-section{padding-top:60px;background:#e8ede6}.gallery-section h2{max-width:680px;margin:22px 0 35px}.gallery-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:20px}.gallery-track figure{margin:0;flex:0 0 37%;scroll-snap-align:start}.gallery-track img{width:100%;height:330px;object-fit:cover;border-radius:14px}.gallery-track figcaption{font-size:12px;color:var(--muted);margin-top:10px}.gallery-controls{display:flex;gap:10px;justify-content:flex-end}.services{background:var(--cream)}.section-head h2{margin:0}.section-head p{max-width:390px;margin-top:20px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-grid article{padding:30px;background:var(--paper);border:1px solid var(--line);border-radius:16px;transition:transform .25s,background .25s}.service-grid article:hover{transform:translateY(-5px);background:#e8ede6}.service-top{display:flex;align-items:center;justify-content:space-between}.service-top svg{width:48px;height:48px;color:var(--deep)}.service-top span{font-size:10px;color:var(--sage)}.service-grid h3{font:25px/1.2 Georgia,serif;margin:25px 0 13px}.service-grid p{font-size:13px;color:var(--muted);margin:0}.tech{background:var(--deep);color:var(--paper);position:relative;overflow:hidden}.tech:before{content:'';width:500px;height:500px;border:1px solid #ffffff16;border-radius:50%;position:absolute;right:-160px;top:-200px;pointer-events:none}.tech-panel{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:center}.tech-panel h2{margin:22px 0}.tech h2 em{color:#c8d2bf}.tech .section-kicker{color:#c8d2bf}.tech-panel p{color:#d1d9cf;max-width:500px}.tech-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.tech-pills span{padding:8px 13px;border:1px solid #ffffff40;border-radius:99px;font-size:11px}.tech-visual{display:flex;justify-content:center}.tech-video{margin:0;width:100%;max-width:285px}.tech-video video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;border-radius:140px 140px 14px 14px;background:transparent}.tech-video figcaption{font-size:10px;text-align:center;color:#d1d9cf;margin-top:16px}.team{background:var(--paper)}.team-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin:24px 0 50px}.team-heading h2{margin:0}.team-heading p{max-width:230px;font-size:14px;color:var(--muted)}.team-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;align-items:center}.portrait-placeholder{height:500px;border-radius:180px 180px 14px 14px;overflow:hidden;background:#e8ede6}.portrait-placeholder img{width:100%;height:100%;object-fit:cover;object-position:center 28%}.team-copy h2{font-size:48px;margin:15px 0 24px}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.facts div{border-top:1px solid var(--line);padding-top:14px}.facts strong,.facts span{display:block}.facts strong{font-size:11px}.facts span{font-size:10px;color:var(--muted);margin-top:5px}.colleagues{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:45px}.colleagues article{padding:30px;background:var(--cream);border:1px solid var(--line);border-radius:14px;position:relative;overflow:hidden}.colleagues article:after{content:'';width:130px;height:130px;border:1px solid #7e8d7a30;border-radius:50%;position:absolute;right:-30px;top:-35px;pointer-events:none}.colleague-initial{width:62px;height:62px;border-radius:50%;background:#e0e6da;display:grid;place-items:center;font:28px Georgia,serif;color:var(--deep)}.colleagues h3{font:30px Georgia,serif;margin:20px 0 6px}.colleagues p{color:var(--muted);font-size:13px;margin-bottom:0}.colleagues img{height:300px;width:100%;object-fit:cover;border-radius:10px}.reviews{background:#e8ede6;text-align:center}.reviews-heading{margin:20px 0 35px}.review-carousel{max-width:900px;margin:auto}.review-stars{color:var(--deep);font-size:21px;letter-spacing:.14em}.review-carousel blockquote{font:clamp(22px,2.6vw,34px)/1.5 Georgia,serif;white-space:pre-line;margin:25px 0}.review-author{font-size:13px;font-weight:600;color:var(--deep)}.review-controls{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:30px}.review-count{font-size:11px;color:var(--muted);margin-left:10px}.review-source{color:var(--muted);font-size:10px;margin:25px 0 0}.contact{background:var(--paper)}.contact-card{display:grid;grid-template-columns:1fr .85fr;gap:7vw;padding:50px;background:var(--cream);border-radius:16px}.contact h2{margin:20px 0 25px}.contact-card p{font-size:14px;color:var(--muted)}.contact-card strong{color:var(--ink)}.text-link{font-size:12px;text-decoration:none;border-bottom:1px solid var(--deep);padding-bottom:6px}.hours{padding-left:35px;border-left:1px solid var(--line)}.hours h3{font:30px Georgia,serif}.hours>div{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:12px}.hours p{font-size:11px;margin-top:25px}.final-cta{background:var(--deep);color:var(--paper);padding:65px 7vw;display:flex;gap:40px;justify-content:space-between;align-items:center}.final-cta h2{font-size:clamp(35px,4vw,54px);max-width:750px;margin:15px 0 0}.final-cta .eyebrow{color:#c8d2bf}footer{background:#1f2b23;color:var(--cream);padding:35px 7vw;display:grid;grid-template-columns:1fr 1fr auto;gap:35px;align-items:center;font-size:11px}.footer-brand{display:flex;gap:15px;align-items:center}.footer-brand img{width:70px;height:70px;border-radius:50%}footer strong,footer span{display:block}footer span{opacity:.65;margin-top:5px}footer a{text-decoration:none}a:focus-visible,button:focus-visible,.gallery-track:focus-visible{outline:3px solid #a8b59d;outline-offset:5px}
@media(min-width:1600px){.hero,.section{padding-left:calc((100vw - 1400px)/2);padding-right:calc((100vw - 1400px)/2)}}
@media(max-width:1100px){.brand small{display:none}nav{gap:16px}.site-header{gap:16px;padding-left:3vw;padding-right:3vw}.brand strong{max-width:150px}.hero-media>img{height:460px}.hero h1{font-size:58px}}
@media(max-width:900px){.site-header{min-height:82px;padding:8px 22px}.brand-logo{width:62px;height:62px}.site-header>.btn{display:none}.menu-toggle{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:30px;background:transparent;padding:10px 15px;font-size:12px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:25px;border-bottom:1px solid var(--line)}nav.is-open{display:flex;flex-direction:column}nav a{padding:8px}.hero{grid-template-columns:1fr 1fr;gap:28px;padding:45px 5vw}.hero h1{font-size:45px}.hero-media>img{height:470px;border-top-left-radius:110px}.floating-card{left:-15px;bottom:80px;max-width:200px;padding:14px}.hero-actions{gap:8px}.btn{padding:13px 17px}.trust-row{gap:10px}.values-strip{flex-wrap:wrap;padding:20px 5vw}.section{padding:65px 5vw}.intro-grid,.section-head{gap:30px}.service-grid{grid-template-columns:repeat(2,1fr)}.tech-panel{gap:35px}.team-heading{display:block}.team-heading p{max-width:none;margin-top:20px}.team-grid{gap:35px}.portrait-placeholder{height:420px}.team-copy h2{font-size:38px}.facts{grid-template-columns:1fr;gap:10px}.contact-card{padding:35px;gap:35px}.hours{padding-left:25px}.hours>div{flex-direction:column;gap:5px}footer{grid-template-columns:1fr 1fr}footer>div:last-child{grid-column:1/-1}}
@media(max-width:600px){html{scroll-padding-top:90px}.brand strong{font-size:12px;max-width:165px}.hero{grid-template-columns:1fr;padding:35px 22px 30px}.hero h1{font-size:49px;margin-top:18px}.hero .lead{font-size:15px}.hero-media{margin-top:8px}.hero-media>img{height:340px;border-top-left-radius:120px}.floating-card{left:12px;bottom:90px}.values-strip{padding:22px;display:grid;grid-template-columns:1fr 1fr;font-size:10px;gap:15px}.values-strip span:before{margin-right:7px}.section{padding:55px 22px}h2{font-size:38px}.intro-grid,.section-head,.tech-panel,.team-grid,.contact-card{grid-template-columns:1fr;gap:22px}.intro-grid{margin-bottom:30px}.image-strip img{height:330px}.image-note{position:relative;bottom:auto;right:auto;margin:-55px 15px 0;padding:20px}.gallery-track figure{flex-basis:86%}.gallery-track img{height:300px}.service-grid{grid-template-columns:1fr;gap:14px}.service-grid article{padding:25px}.service-grid h3{margin-top:20px}.tech-panel{gap:35px}.tech-video{max-width:270px}.portrait-placeholder{height:470px}.facts{grid-template-columns:1fr 1fr}.colleagues{grid-template-columns:1fr;gap:18px;margin-top:30px}.review-carousel blockquote{font-size:23px}.contact-card{padding:28px 22px}.hours{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:25px}.final-cta{padding:45px 22px;flex-direction:column;align-items:start;gap:25px}footer{grid-template-columns:1fr;padding:30px 22px;gap:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.tech-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:55px;position:relative}.tech-photos figure{margin:0}.tech-photos img{display:block;width:100%;height:340px;object-fit:contain;background:#e8ede6;border-radius:14px}.tech-photos figcaption{font-size:12px;color:#d1d9cf;margin-top:14px}@media(max-width:900px){.tech-photos{gap:16px}.tech-photos img{height:280px}}@media(max-width:600px){.tech-photos{grid-template-columns:1fr;margin-top:35px;gap:28px}.tech-photos img{height:auto;max-height:480px}}

.tech-photos img{object-fit:cover;background:transparent;object-position:center}@media(max-width:600px){.tech-photos img{height:420px;max-height:none}}

@media(min-width:901px){.tech-photos figure:nth-child(4){grid-column:1 / 2}.tech-photos figure:nth-child(5){grid-column:2 / 4}}

.tech-gallery{margin-top:45px}.tech-gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.tech-gallery-heading p{font-size:15px;margin:0;color:var(--paper)}.tech-gallery-controls{display:flex;gap:8px}.tech-gallery-controls button{border:1px solid #ffffff50;background:transparent;border-radius:50px;padding:9px 16px;color:var(--paper);min-height:42px}.tech-photos{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;margin-top:0;padding-bottom:14px;scrollbar-color:#a8b59d transparent}.tech-photos figure{flex:0 0 calc((100% - 44px)/3);scroll-snap-align:start}.tech-photos img{height:300px;object-fit:cover;background:transparent}.tech-gallery-hint{font-size:11px;color:#d1d9cf;margin:14px 0 0}@media(max-width:900px){.tech-photos figure{flex-basis:calc((100% - 22px)/2)}}@media(max-width:600px){.tech-photos figure{flex-basis:86%}.tech-photos img{height:340px}.tech-gallery-heading p{font-size:13px}.tech-gallery-controls button{padding:8px 13px}.tech-gallery{margin-top:35px}}

.care-instruction{font-size:13px;color:var(--muted);margin-bottom:22px}.care-icon{display:grid;place-items:center;padding:10px;border:1px solid var(--line);border-radius:16px;background:#e8ede6;color:var(--deep);transition:transform .2s}.care-icon:hover{transform:rotate(-6deg) scale(1.06)}.care-dialog{width:min(980px,92vw);max-height:88dvh;overflow:auto;border:0;border-radius:20px;padding:30px;background:var(--paper);color:var(--ink)}.care-dialog::backdrop{background:#17201bb3;backdrop-filter:blur(4px)}.care-dialog-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.care-dialog-header p{margin:0}.care-dialog-header button{border:1px solid var(--line);background:transparent;border-radius:50%;width:44px;height:44px;font-size:28px;color:var(--deep)}.care-dialog h2{font-size:40px;margin:15px 0 28px}.care-dialog-body{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.care-dialog figure{margin:0}.care-dialog img{width:100%;display:block}.care-dialog figcaption{font-size:10px;color:var(--muted);margin-top:10px}.care-dialog-body p{font-size:15px}.care-dialog-body .care-note{font-size:12px;color:var(--muted)}.care-dialog-footer{display:flex;justify-content:flex-end;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.care-dialog-footer button{border:0}.care-open{overflow:hidden}@media(max-width:600px){.care-dialog{padding:22px}.care-dialog h2{font-size:31px}.care-dialog-body{grid-template-columns:1fr;gap:20px}.care-dialog-body p{font-size:14px}}

.care-dialog figure img{border-radius:14px;height:auto;object-fit:contain}

/* Variante accueil photographique plein écran */
.hero{display:flex;align-items:center;min-height:calc(100svh - 100px);padding:80px 7vw 115px;background:var(--deep);isolation:isolate;color:var(--paper)}
.hero-media{position:absolute;inset:0;margin:0;z-index:-2}.hero-media>img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:0;box-shadow:none}.hero-media:before{display:none}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,27,20,.86),rgba(15,27,20,.60) 45%,rgba(15,27,20,.12));pointer-events:none}.hero-copy{max-width:650px}.hero h1{font-size:clamp(48px,6vw,86px);color:var(--paper);max-width:650px}.hero h1 em{color:var(--paper)}.hero .eyebrow{color:#d5dfc9}.hero-identity,.hero .lead,.hero .trust-row{color:var(--paper)}.hero .lead{max-width:500px}.hero .btn-primary{background:var(--cream);color:var(--deep)}.hero .btn-ghost{color:var(--paper);border-color:#ffffff70;background:#17201b35}.hero-media .floating-card{display:none}.slideshow-controls{position:absolute;left:7vw;right:7vw;bottom:30px;z-index:2;margin:0}.slideshow-controls button{color:var(--paper);border-color:#ffffff70;background:#17201b70}.slide-count{color:var(--paper)}
@media(max-width:900px){.hero{min-height:calc(100svh - 82px);padding:70px 5vw 115px}.hero-media>img{height:100%;border-radius:0}.slideshow-controls{left:5vw;right:5vw}.hero h1{font-size:60px}.hero-media{margin:0}}
@media(max-width:600px){.hero{min-height:calc(100svh - 82px);padding:45px 22px 110px}.hero h1{font-size:49px}.hero-media>img{height:100%;object-position:62% center}.hero:after{background:linear-gradient(90deg,rgba(15,27,20,.83),rgba(15,27,20,.52))}.slideshow-controls{left:22px;right:22px;bottom:25px}.hero .trust-row{font-size:10px;gap:12px}}

.hero h1{font-size:clamp(38px,4.3vw,62px);line-height:1.16;max-width:690px}.hero-copy{max-width:690px}@media(max-width:900px){.hero h1{font-size:48px}}@media(max-width:600px){.hero h1{font-size:36px;line-height:1.2}}

.tech-panel{grid-template-columns:1.1fr .9fr;gap:5vw}.tech-video{max-width:365px}.tech-panel h2{font-size:clamp(36px,4vw,56px)}@media(max-width:900px){.tech-panel{gap:30px}.tech-video{max-width:340px}}@media(max-width:600px){.tech-panel{grid-template-columns:1fr}.tech-video{max-width:330px}}

/* Essai : photos d’accueil plus lumineuses */
.hero:after{background:linear-gradient(90deg,rgba(15,27,20,.62),rgba(15,27,20,.32) 45%,rgba(15,27,20,.04))}.hero-copy h1,.hero-copy .lead,.hero-copy .eyebrow,.hero-identity,.hero-copy .trust-row{text-shadow:0 2px 8px rgba(0,0,0,.4)}@media(max-width:600px){.hero:after{background:linear-gradient(90deg,rgba(15,27,20,.62),rgba(15,27,20,.30))}}

.hero:after{background:linear-gradient(90deg,rgba(15,27,20,.72),rgba(15,27,20,.43) 45%,rgba(15,27,20,.08))}@media(max-width:600px){.hero:after{background:linear-gradient(90deg,rgba(15,27,20,.72),rgba(15,27,20,.40))}}

/* Présentation d’origine restaurée */
.hero-copy{max-width:650px}.hero h1{font-size:clamp(48px,6vw,86px);line-height:1.1;max-width:650px}.hero:after{background:linear-gradient(90deg,rgba(15,27,20,.86),rgba(15,27,20,.60) 45%,rgba(15,27,20,.12))}
@media(max-width:900px){.hero h1{font-size:60px}}
@media(max-width:600px){.hero h1{font-size:49px;line-height:1.1}.hero:after{background:linear-gradient(90deg,rgba(15,27,20,.83),rgba(15,27,20,.52))}}

/* Cadrage supérieur pour privilégier l’écran de visualisation */
.tech-photos img[src$="visualisation-numerique.jpg"]{object-position:center top}

/* Plan interactif et sélection du lieu */
.access-map{margin-top:25px;min-width:0}.map-switch{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.map-switch button{padding:10px 16px;border:1px solid var(--line);border-radius:24px;background:var(--paper);color:var(--deep);font-size:12px}.map-switch button[aria-pressed="true"]{background:var(--deep);color:var(--paper);border-color:var(--deep)}.access-map iframe{display:block;width:100%;height:300px;border:0;border-radius:14px;background:var(--paper)}.access-map .map-description{font-size:12px;margin:10px 0 0}@media(max-width:600px){.access-map iframe{height:280px}}

/* FAQ dépliable, accessible au clavier */
.faq{background:var(--cream)}.faq h2{margin:22px 0 35px}.faq-list{max-width:1000px}.faq details{border-bottom:1px solid #7e8d7a45}.faq details:first-child{border-top:1px solid #7e8d7a45}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;font-weight:600;padding:23px 0;font-size:17px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font-size:26px;font-weight:400;color:var(--deep)}.faq details[open] summary:after{content:'−'}.faq summary:focus-visible{outline:3px solid var(--sage);outline-offset:4px}.faq-answer{padding:0 35px 15px 0;color:var(--muted);font-size:15px}.faq-answer strong{color:var(--ink)}.faq-answer a{color:var(--deep);text-underline-offset:3px;overflow-wrap:anywhere}.faq-answer p:last-child{margin-bottom:10px}@media(max-width:600px){.faq summary{font-size:15px;padding:20px 0}.faq-answer{padding-right:0;font-size:14px}}

#access-map-frame{width:100%;height:300px;border-radius:14px;overflow:hidden;z-index:0;background:#e8ede6}.cabinet-map-marker{display:flex;align-items:center;justify-content:center;border:3px solid white;border-radius:50%;background:var(--deep);color:white;box-shadow:0 2px 7px #17201b60;font-size:15px}.access-map .leaflet-popup-content{font:13px/1.5 'DM Sans',Arial,sans-serif}.access-map .leaflet-container{font-family:'DM Sans',Arial,sans-serif}@media(max-width:600px){#access-map-frame{height:280px}}

/* FAQ centrée : questions au milieu, réponses lisibles */
.faq>.section-kicker,.faq>h2{text-align:center}.faq-list{margin-left:auto;margin-right:auto}.faq summary{position:relative;justify-content:center;text-align:center;padding-left:42px;padding-right:42px}.faq summary:after{position:absolute;right:8px;top:50%;transform:translateY(-50%)}.faq-answer{padding-left:24px;padding-right:24px;text-align:left}@media(max-width:600px){.faq summary{padding-left:32px;padding-right:32px}.faq-answer{padding-left:4px;padding-right:4px}}

/* Plan plus spacieux, distinct des coordonnées et horaires */
.contact-map-panel{margin-top:28px;padding:30px;background:var(--cream);border-radius:20px}.contact-map-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.contact-map-heading h3{font:30px/1.2 Georgia,serif;margin:10px 0 0}.contact-map-heading .section-kicker{margin:0}.contact-map-panel .access-map{margin-top:22px}.contact-map-panel #access-map-frame{height:410px;border:1px solid var(--line)}.contact-map-panel .map-description{margin-top:14px;color:var(--muted)}.cabinet-map-marker{font-size:22px;box-shadow:0 3px 12px #17201b55}.contact-map-panel .leaflet-control-zoom a{color:var(--deep)}@media(max-width:600px){.contact-map-panel{padding:20px 15px}.contact-map-heading{align-items:start;flex-direction:column;gap:18px}.contact-map-heading h3{font-size:25px}.contact-map-panel #access-map-frame{height:340px}}

/* Retour au format compact du plan */
#access-map-frame{height:300px}@media(max-width:600px){#access-map-frame{height:280px}}

/* Assistantes dentaires, après les praticiens */
.assistants-block{margin-top:50px}.assistants-heading{font:32px/1.2 Georgia,serif;margin:0 0 24px}.assistant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.assistant-grid article{padding:30px;background:var(--cream);border:1px solid var(--line);border-radius:14px;position:relative;overflow:hidden}.assistant-grid article:after{content:'';width:130px;height:130px;border:1px solid #7e8d7a30;border-radius:50%;position:absolute;right:-30px;top:-35px;pointer-events:none}.assistant-grid h3{font:30px Georgia,serif;margin:20px 0 6px}.assistant-grid p{color:var(--muted);font-size:13px;margin-bottom:0}.assistant-grid img{height:300px;width:100%;object-fit:cover;border-radius:10px}@media(max-width:900px){.assistant-grid{gap:18px}.assistant-grid article{padding:24px}}@media(max-width:600px){.assistant-grid{grid-template-columns:1fr}.assistants-block{margin-top:35px}.assistants-heading{font-size:28px}}

/* Cadrage des nouveaux portraits pour conserver les visages */
.colleagues img,.assistant-grid img{object-position:center 15%}.portrait-placeholder img{object-position:center 15%}

/* Même présentation pour les trois praticiens */
.colleagues.practitioner-profiles{display:block;margin-top:60px}.colleagues.practitioner-profiles article{padding:0;background:transparent;border:0;border-radius:0;overflow:visible;margin-top:60px}.colleagues.practitioner-profiles article:after{display:none}.colleagues.practitioner-profiles img{width:100%;height:100%;border-radius:0;object-fit:cover;object-position:center 15%}.colleagues.practitioner-profiles .eyebrow{font-size:10px;font-weight:700;letter-spacing:.2em;color:var(--sage);margin-bottom:16px}.colleagues.practitioner-profiles .team-copy>p:not(.eyebrow){font-size:15px}@media(max-width:600px){.colleagues.practitioner-profiles,.colleagues.practitioner-profiles article{margin-top:35px}}

/* Galerie des soins : ouverture en grand et navigation */
.tech-photo-open{display:block;width:100%;padding:0;border:0;background:transparent;border-radius:14px;overflow:hidden;cursor:zoom-in}.tech-photo-open img{display:block;width:100%}.photo-viewer{width:min(1100px,94vw);max-width:94vw;max-height:94svh;padding:16px;border:0;border-radius:18px;background:var(--paper);color:var(--ink)}.photo-viewer::backdrop{background:rgba(10,18,13,.86)}.photo-viewer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.photo-viewer-count{font-size:13px;color:var(--muted)}.photo-viewer button{border:1px solid var(--line);border-radius:50%;width:44px;height:44px;background:var(--cream);color:var(--deep);font-size:24px;flex-shrink:0}.photo-viewer-image{display:flex;justify-content:center;align-items:center}.photo-viewer-image img{display:block;max-width:100%;width:auto;max-height:calc(94svh - 155px);height:auto;object-fit:contain;border-radius:8px}.photo-viewer-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px}.photo-viewer-footer p{margin:0;text-align:center;font-size:14px}@media(max-width:600px){.photo-viewer{padding:12px}.photo-viewer-footer p{font-size:12px}}

.team-group-photo{margin:50px 0 0}.team-group-photo img{display:block;width:100%;height:auto;border-radius:16px}@media(max-width:600px){.team-group-photo{margin-top:35px}}

/* Cabinet photos: same enlarged slideshow as technology */
.gallery-track .cabinet-photo-open{display:block;width:100%;padding:0;border:0;background:transparent;border-radius:14px;overflow:hidden;cursor:zoom-in;text-align:left}
.gallery-track .cabinet-photo-open img{display:block;width:100%;height:330px;object-fit:cover;transition:transform .25s ease}
.gallery-track .cabinet-photo-open:hover img{transform:scale(1.025)}
.gallery-track .cabinet-photo-open:focus-visible{outline:3px solid var(--sage);outline-offset:3px}
@media(max-width:600px){.gallery-track .cabinet-photo-open img{height:300px}}

/* Essai : finitions élégantes, en conservant la disposition originale et les grands portraits */
#equipe .team-grid .portrait-placeholder{overflow:hidden;box-shadow:0 16px 38px rgba(30,54,41,.10);transition:box-shadow .45s ease;}
#equipe .team-grid .portrait-placeholder img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 15%;transition:transform .65s cubic-bezier(.2,.7,.2,1);}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
 #equipe .team-grid .portrait-placeholder:hover{box-shadow:0 22px 46px rgba(30,54,41,.16)}
 #equipe .team-grid .portrait-placeholder:hover img{transform:scale(1.035)}
}
#equipe .team-copy .eyebrow{font-size:11px;letter-spacing:.19em;font-weight:650;color:var(--sage);margin-bottom:13px}
#equipe .team-copy h2{line-height:1.14;letter-spacing:-.025em;margin-top:0}
#equipe .colleagues.practitioner-profiles{margin-top:72px}
#equipe .colleagues.practitioner-profiles article{margin-top:72px}
@media(max-width:700px){#equipe .colleagues.practitioner-profiles,#equipe .colleagues.practitioner-profiles article{margin-top:42px}}
@media(prefers-reduced-motion:reduce){#equipe .portrait-placeholder,#equipe .portrait-placeholder img{transition:none}}
