/* Reference composition: 1446 × 1087, with a 102 px header and 985 px scene.
   Only the reconstructed header and hero use these styles. */
@font-face{font-family:HeroQuestrial;src:url('assets/hero-questrial.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
#site-header.hero-header{position:sticky;inset:0 0 auto;display:block;width:100%;height:auto;aspect-ratio:1446/102;min-height:0;padding:0;border:0;background:#f7f8f9;backdrop-filter:none;transform:none;transition:none;container-type:inline-size;color:#426895;font-family:HeroQuestrial,'Century Gothic',sans-serif;z-index:50}
#site-header .hero-brand{position:absolute;left:3.6653cqw;top:1.65975cqw;display:flex;gap:1.03734cqw;align-items:center;height:3.458cqw;color:#426895}
#site-header .hero-brand>.hero-mark{width:3.458cqw}
#site-header .hero-brand-name{display:block;font-weight:400;line-height:1}
#site-header .hero-brand-name>span{display:block;font-size:.76072cqw;letter-spacing:.103734cqw;line-height:1.2;margin-bottom:.76cqw}
#site-header .hero-brand-name strong{display:block;font-size:1.59059cqw;letter-spacing:.276625cqw;font-weight:400;line-height:1}
#site-header .desktop-nav{position:absolute;left:36.37621cqw;top:50%;transform:translateY(-50%);display:flex;gap:2.489627cqw;align-items:center}
#site-header .desktop-nav a{font-family:inherit;font-size:1.037344cqw;font-weight:400;line-height:1.6;white-space:nowrap}
#site-header .desktop-nav a:hover{color:#25495f}
#site-header .hero-header-call{position:absolute;left:80.91286cqw;top:1.38313cqw;width:15.3527cqw;height:4.218534cqw;min-height:0;display:flex;justify-content:center;align-items:center;gap:1.1cqw;padding:0;border:1.3px solid currentColor;border-radius:999px;background:transparent;color:#426895;font:400 1.037344cqw/1.2 HeroQuestrial,'Century Gothic',sans-serif;transition:background .2s}
#site-header .hero-header-call span{font-size:1.8cqw;font-weight:300;line-height:.5;margin-top:-.1cqw}
#site-header .hero-header-call:hover{background:#4268950a}
#site-header .menu-toggle{display:none}
#site-header .mobile-nav{font-family:HeroQuestrial,'Century Gothic',sans-serif;color:#426895}
#site-header .mobile-nav a{font-size:16px}
#accueil.hero-rebuilt{padding:0;margin:0}
#accueil .hero-scene{position:relative;isolation:isolate;width:100%;aspect-ratio:1446/985;container-type:inline-size;overflow:hidden;background:#f2d9b9 url('assets/hero-decor.png') center/100% 100% no-repeat;color:#203239;font-family:HeroQuestrial,'Century Gothic',sans-serif;font-weight:400}
#accueil .hero-clip-defs{position:absolute;pointer-events:none}
#accueil .hero-doctor-name{position:absolute;left:7.123098cqw;top:6.50069cqw;margin:0;font-size:2.766251cqw;font-weight:400;line-height:1.3;letter-spacing:.018cqw;z-index:2}
#accueil h1{position:absolute;left:7.123098cqw;top:11.41079cqw;margin:0;padding:0;font-family:inherit;font-size:4.426003cqw;line-height:1.047;letter-spacing:0;font-weight:400;-webkit-text-stroke:.035cqw currentColor;z-index:2}
#accueil h1 span{display:block;white-space:nowrap}
#accueil .hero-contact-details{position:absolute;left:7.192254cqw;top:24.6888cqw;z-index:2;font-size:1.65975cqw;line-height:2.351314cqw}
#accueil .hero-contact-label{margin:0;font-size:1.313969cqw;line-height:2.005533cqw}
#accueil address{font-style:normal;margin:0;font-size:inherit;line-height:inherit}
#accueil .hero-contact-details a{font:inherit;white-space:nowrap}
#accueil .hero-phone-block{margin-top:2.42047cqw}
#accueil .hero-implant{position:absolute;left:41.24582cqw;top:9.85559cqw;width:39.649cqw;aspect-ratio:1122/1402;margin:0;transform:rotate(23.5deg);transform-origin:0 0;z-index:1;pointer-events:none}
#accueil .hero-implant img{display:block;max-width:none;width:100%;height:auto;clip-path:url('#hero-implant-cutout')}
#accueil .hero-implant-shadow{position:absolute;left:38.52cqw;top:61.49cqw;width:5.5cqw;height:.6cqw;filter:blur(.3cqw);background:#6953463d;border-radius:50%;transform:rotate(-9deg);z-index:0}
#accueil .hero-introduction{position:absolute;left:64.591978cqw;top:24.6888cqw;width:30.912863cqw;margin:0;font-size:1.313969cqw;line-height:1.798064cqw;letter-spacing:0;text-align:justify;z-index:2}
#accueil .hero-actions{position:absolute;left:64.661134cqw;top:43.29184cqw;width:25.38036cqw;display:grid;gap:1.175657cqw;z-index:2}
#accueil .hero-actions a{display:flex;align-items:center;justify-content:center;min-height:0;height:4.011065cqw;padding:0 1.1cqw;border:1.5px solid #203f48;border-radius:999px;color:#203239;background:transparent;font-size:1.244813cqw;font-weight:400;line-height:1.2;white-space:nowrap;transition:background .2s}
#accueil .hero-actions a:hover{background:#fff9ed35}
#accueil .hero-signature{position:absolute;left:84.85477cqw;top:57.26141cqw;width:13.7621cqw;color:#203239;z-index:2}
.hero-mark{display:block;position:relative;aspect-ratio:200/100;container-type:inline-size;color:inherit}
/* The original PNG is unchanged. Its alpha bounds (60,74)-(335,205)
   set the visible size while preserving the existing logo slots and colors. */
.original-logo{position:relative;display:block}
.original-logo::before{content:"";position:absolute;left:0;top:50%;width:100%;aspect-ratio:275/131;transform:translateY(-50%);background:currentColor;-webkit-mask:url('assets/logo-dr-camille-samir.png') 52.631579% 56.488550%/141.454545% 200% no-repeat;mask:url('assets/logo-dr-camille-samir.png') 52.631579% 56.488550%/141.454545% 200% no-repeat;mask-mode:alpha}
.footer-logo{width:60px;height:60px;flex-shrink:0;color:#fff}
@media(min-width:1101px){#site-header .mobile-nav{display:none}}
@media(max-width:1100px){
 #site-header.hero-header{height:88px;aspect-ratio:auto}
 #site-header .hero-brand{left:28px;top:20px;gap:15px;height:48px}
 #site-header .hero-brand>.hero-mark{width:50px}
 #site-header .hero-brand-name>span{font-size:11px;letter-spacing:1.5px;margin-bottom:10px}
 #site-header .hero-brand-name strong{font-size:23px;letter-spacing:4px}
 #site-header .desktop-nav{display:none}
 #site-header .hero-header-call{left:auto;right:82px;top:19px;width:202px;height:50px;font-size:15px;gap:16px}
 #site-header .hero-header-call span{font-size:25px}
 #site-header .menu-toggle{display:block;position:absolute;right:22px;top:22px}
 #site-header .menu-toggle>span:not(.sr-only){background:#426895}
 #accueil .hero-scene{aspect-ratio:auto;min-height:1050px;padding:52px 40px 48px;display:grid;grid-template-columns:1fr 1fr;grid-template-areas:'name name' 'title title' 'contact implant' 'intro intro' 'actions actions' 'signature signature';column-gap:24px;row-gap:28px;background-image:linear-gradient(to bottom,transparent 55%,#f4e0c8 67%),url('assets/hero-decor.png');background-size:100% 100%}
 #accueil .hero-doctor-name{position:static;grid-area:name;font-size:32px;line-height:1.2;letter-spacing:0}
 #accueil h1{position:static;grid-area:title;font-size:clamp(34px,5.55vw,54px);line-height:1.08}
 #accueil h1 span{white-space:normal}
 #accueil .hero-contact-details{position:static;grid-area:contact;font-size:21px;line-height:1.5;padding-top:25px}
 #accueil .hero-contact-label{font-size:17px;line-height:1.5;margin-bottom:3px}
 #accueil .hero-phone-block{margin-top:30px}
 #accueil .hero-implant{position:relative;grid-area:implant;left:auto;top:auto;width:400px;aspect-ratio:1122/1402;transform:rotate(23.5deg);transform-origin:center;margin:-40px -65px -55px -70px}
 #accueil .hero-implant-shadow{display:none}
 #accueil .hero-introduction{position:static;grid-area:intro;width:auto;font-size:18px;line-height:1.5;margin:12px 0 0;text-align:justify}
 #accueil .hero-actions{position:static;grid-area:actions;width:100%;grid-template-columns:1fr 1fr;gap:16px}
 #accueil .hero-actions a{height:54px;font-size:15px;padding:0 10px}
 #accueil .hero-signature{position:static;grid-area:signature;width:180px;margin:8px 0 0 auto}
}
@media(max-width:600px){
 #site-header.hero-header{height:80px}
 #site-header .hero-brand{left:18px;top:18px;height:44px;gap:12px}
 #site-header .hero-brand>.hero-mark{width:44px}
 #site-header .hero-brand-name>span{font-size:10px;letter-spacing:1.2px;margin-bottom:8px}
 #site-header .hero-brand-name strong{font-size:21px;letter-spacing:3.5px}
 #site-header .hero-header-call{display:none}
 #site-header .menu-toggle{right:15px;top:18px}
 #accueil .hero-scene{padding:37px 24px 32px;display:flex;flex-direction:column;gap:0;min-height:0;background-image:linear-gradient(to bottom,transparent 590px,#f4e0c8 760px),url('assets/hero-decor.png');background-size:100% 100%,auto 900px;background-position:center,42% 0;background-color:#f4e0c8}
 #accueil .hero-doctor-name{font-size:26px}
 #accueil h1{font-size:clamp(31px,8.3vw,46px);line-height:1.1;margin-top:22px;letter-spacing:-.5px}
 #accueil .hero-contact-details{display:grid;grid-template-columns:1.1fr 1fr;gap:14px;font-size:16px;line-height:1.5;padding-top:0;margin-top:30px}
 #accueil .hero-contact-label{font-size:15px;margin-bottom:3px}
 #accueil .hero-phone-block{margin:0}
 #accueil .hero-implant{position:relative;align-self:center;grid-area:auto;width:370px;max-width:none;margin:-28px 0 -55px;aspect-ratio:1122/1402;transform:rotate(23.5deg);transform-origin:center}
 #accueil .hero-introduction{font-size:17px;line-height:1.5;margin:0;text-align:left}
 #accueil .hero-actions{display:grid;grid-template-columns:1fr;gap:16px;margin-top:28px}
 #accueil .hero-actions a{height:52px;font-size:16px}
 #accueil .hero-signature{width:170px;align-self:flex-end;margin:30px 0 0}
}
@media(prefers-reduced-motion:reduce){#site-header .hero-header-call,#accueil .hero-actions a{transition:none}}

/* The reserved header height stays fixed so its visual contraction cannot move the page. */
#site-header.hero-header{--header-full-height:7.05394cqw;--header-height:var(--header-full-height);--header-cta-height:4.218534cqw;height:auto;aspect-ratio:1446/102;background:transparent;isolation:isolate;pointer-events:none}
#site-header.hero-header::before{content:"";position:absolute;inset:0 0 auto;height:var(--header-height);background:#f7f8f9;z-index:-1;transition:height .24s ease,box-shadow .24s ease}
#site-header.hero-header.is-condensed{--header-height:calc(var(--header-full-height)*.82);--header-cta-height:max(44px,3.45cqw)}
#site-header.hero-header.is-condensed::before{box-shadow:0 4px 16px #20323908}
#site-header.hero-header>*{pointer-events:auto}
#site-header .hero-brand{top:0;height:var(--header-height);transition:height .24s ease}
#site-header .hero-brand>.hero-mark{width:clamp(104px,8.3cqw,134px);flex-shrink:0;transition:width .24s ease}
#site-header.is-condensed .hero-brand>.hero-mark{width:clamp(84px,6cqw,100px)}
#site-header .desktop-nav{top:calc(var(--header-height)/2);transition:top .24s ease}
#site-header .hero-header-call{height:var(--header-cta-height);top:calc((var(--header-height) - var(--header-cta-height))/2);transition:top .24s ease,height .24s ease,background .2s}
#site-header .menu-toggle{top:calc((var(--header-height) - 44px)/2);transition:top .24s ease}
#site-header .mobile-nav{top:var(--header-height)}
.footer-logo{width:136px;height:68px}
html{scroll-padding-top:var(--header-visible-height,100px)}
@media(max-width:1100px){
 #site-header.hero-header{--header-full-height:88px;--header-cta-height:50px;height:var(--header-full-height);aspect-ratio:auto}
 #site-header.hero-header.is-condensed{--header-cta-height:44px}
 #site-header .hero-brand>.hero-mark{width:114px}
 #site-header.is-condensed .hero-brand>.hero-mark{width:90px}
}
@media(max-width:600px){
 #site-header.hero-header{--header-full-height:80px}
 #site-header .hero-brand>.hero-mark{width:108px}
 #site-header.is-condensed .hero-brand>.hero-mark{width:84px}
}
@media(max-width:520px){.footer-logo{width:120px;height:60px}}
@media(prefers-reduced-motion:reduce){#site-header.hero-header::before,#site-header .hero-brand,#site-header .hero-brand>.hero-mark,#site-header .desktop-nav,#site-header .hero-header-call,#site-header .menu-toggle{transition:none}}
