/* Shared reading scale, loaded last on every FR/EN public page. */
:root{--reading-size:18px;--small-size:15px;--label-size:13px}
body{font-size:var(--reading-size);line-height:1.65}
.site-header #desktop-nav>a{font-size:16px;letter-spacing:0;text-transform:none}
body.boutique-home:not(.service-page) #desktop-nav>a{font-size:16px}
body.boutique-home:not(.service-page) #desktop-nav{gap:22px}
.site-header>div>a>span:last-child,body.boutique-home:not(.service-page) .boutique-header>div>a>span:last-child{font-size:12px;letter-spacing:.12em;line-height:1.5}
body.boutique-home:not(.service-page) .boutique-header button[onclick]{font-size:15px;padding:16px 22px}
.top-strip,body.boutique-home:not(.service-page) .top-strip,body.boutique-home:not(.service-page) .top-caption{font-size:11px}
#home-main h2{font-size:50px;line-height:1.1}
#home-main .hero-content h1{font-size:clamp(58px,5vw,80px);line-height:1.03;max-width:730px}
#home-main .hero-content p{font-size:21px;line-height:1.55;max-width:590px}
#home-main .boutique-primary,#home-main .boutique-outline,#home-main .hero-actions>*{font-size:16px;min-height:58px}
#home-main .boutique-eyebrow,#home-main .boutique-card-body .boutique-eyebrow,#home-main .boutique-approach .font-label-caps,#home-main #residences .lg\:col-span-5>.font-label-caps,#home-main #contact .font-label-caps,#home-main #questions .font-label-caps{font-size:13px;line-height:1.6;letter-spacing:.09em}
#home-main .boutique-section-heading{max-width:900px}
#home-main .boutique-section-heading p{font-size:18px;max-width:780px;line-height:1.65}
#home-main .boutique-card-body h3{font-size:34px;line-height:1.08;max-width:none}
#home-main .boutique-card-body p{font-size:17px;line-height:1.65}
#home-main .boutique-card-body .boutique-outline{font-size:12px;letter-spacing:0;line-height:1.5;min-height:54px;padding:13px 16px}
#home-main .service-directory p{font-size:12px}
#home-main .service-directory a{font-size:16px}
#home-main .boutique-approach p{font-size:18px;line-height:1.65}
#home-main .boutique-approach .font-headline-sm{font-size:29px;line-height:1.1}
#home-main .boutique-approach .lg\:col-span-7>div{padding:32px 24px;min-height:285px}
#home-main #tarifs .text-center>.font-label-caps{font-size:14px}
#home-main #tarifs .text-center p{font-size:18px;max-width:680px}
#home-main #devis-form label.font-label-caps{font-size:18px;line-height:1.5}
#home-main #devis-form .text-title-md{font-size:18px}
#home-main #devis-form .text-body-sm{font-size:15px}
#home-main #devis-form select{font-size:18px}
#home-main #devis-form .pt-4>button,#home-main #devis-form button[onclick="sendWhatsAppQuote()"]{font-size:16px;line-height:1.5}
#home-main #contact button{font-size:20px;line-height:1.45;padding:19px 30px;gap:12px}
#home-main #contact button svg{width:24px;height:24px}
/* Inset shading keeps the navigation's spacing and hit areas stable. */
.site-header #desktop-nav>a{position:relative;isolation:isolate}
.site-header #desktop-nav>a:before{content:'';position:absolute;inset:-10px -9px;z-index:-1;border-radius:12px;background:#435b3012;box-shadow:0 3px 10px #3443240d;opacity:0;pointer-events:none;transition:opacity .18s ease-out}
.site-header #desktop-nav>a:hover:before,.site-header #desktop-nav>a:focus-visible:before{opacity:1}
@media(max-width:767px){#home-main #contact button{font-size:18px;line-height:1.45;padding:17px 22px;max-width:100%;white-space:normal}#home-main #contact button svg{width:22px;height:22px}}
#home-main #complements h3{font-size:34px}
#home-main #complements p,#home-main #residences p{font-size:17px;line-height:1.7}
#home-main .boutique-text-link{font-size:16px}
#home-main #residences .text-title-md{font-size:28px;line-height:1.1}
#home-main #residences .lg\:col-span-7 .text-body-sm{font-size:15px;line-height:1.5}
#home-main #residences .lg\:col-span-7>div{min-height:155px}
#home-main #residences .lg\:col-span-7>div:before{font-size:12px}
#home-main #residences .area-inline-links a{font-size:15px}
#home-main #questions summary{font-size:27px;line-height:1.3}
#home-main #questions details>div{font-size:17px;line-height:1.75}
#home-main #contact .font-body-sm{font-size:15px}
body.boutique-home:not(.service-page) footer .font-body-sm,footer .text-body-sm{font-size:15px;line-height:1.7}
footer .font-label-caps,body.boutique-home:not(.service-page) footer .font-label-caps{font-size:13px;line-height:1.6}
.privacy-footer,body.boutique-home:not(.service-page) footer .privacy-footer,.form-privacy{font-size:14px;line-height:1.7}
.service-page h2{font-size:46px;line-height:1.15}
.service-page h3,.service-steps h3,.service-scope-aside h3{font-size:30px;line-height:1.2}
.service-page .service-hero h1{font-size:clamp(50px,4.8vw,72px);line-height:1.06}
.service-page .service-intro,.service-page .service-scope-row p,.service-page .service-scope-aside ul,.service-page .service-steps p,.service-page .service-focus p,.service-page .service-faq details>div,.service-page .service-confidence>div>p,.service-page .service-section-lead>p,.service-page .service-quote-intro,.service-page .service-area p,.area-logistics p{font-size:18px;line-height:1.75}
.service-kicker{font-size:13px}
.service-primary,.service-header-cta,.service-text-link,.service-field label{font-size:16px}
.service-breadcrumb,.service-micro,.service-small,.service-hero-image figcaption{font-size:14px}
.service-index,.service-steps strong{font-size:14px}
.service-field input,.service-field select{font-size:18px}
.service-faq summary{font-size:27px}
.service-related a{font-size:29px}
.service-page .service-area-list{font-size:30px!important}
.service-directory a,.area-inline-links a,.area-neighbours a,.area-map-links,.map-placeholder p,.map-actions button,.privacy-actions button{font-size:16px}
.guide-page .guide-hero h1{font-size:clamp(50px,4.8vw,72px)}
.guide-page .guide-hero .guide-intro,.guide-page .guide-body p,.guide-page .guide-body li,.guide-page .guide-message p{font-size:18px;line-height:1.8}
.guide-page .guide-summary h2{font-size:36px}
.guide-page .guide-body h2{font-size:42px}
.guide-page .guide-body h3{font-size:30px}
.guide-summary ul,.guide-contents li a,.guide-help-link,.guide-checklist label,.guide-check-tools strong,.guide-check-tools button,.guide-summary .service-primary,.guide-body .service-primary{font-size:16px}
.guide-byline,.guide-summary>p,.guide-page .guide-body .guide-note{font-size:14px}
.guide-page .guide-body .service-faq summary{font-size:25px}
.guide-discovery span{font-size:13px}.guide-discovery nav a{font-size:16px}
.legal-body h1{font-size:58px}.legal-body h2{font-size:38px}
.legal-body p,.legal-body li{font-size:18px;line-height:1.8}
.legal-body table{font-size:16px}.legal-body .legal-updated{font-size:14px!important}
.privacy-dialog h2{font-size:40px}.privacy-dialog p{font-size:17px}.privacy-dialog a,.privacy-close{font-size:15px}
@media(max-width:1279px){.site-header #desktop-nav{display:none}body.boutique-home:not(.service-page) #desktop-nav{display:none}.mobile-menu-button{display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:center;width:44px;height:44px;margin-left:auto;border:1px solid #c3c8c4;flex-shrink:0}#mobile-nav:not([hidden]){display:flex;flex-direction:column;background:#fdf9f0;padding:12px 24px 20px}#mobile-nav a{padding:14px 0;font-size:16px;letter-spacing:0;text-transform:none;border:0}#home-main .boutique-hero{height:auto;min-height:730px}#home-main .hero-content{padding-top:165px;padding-bottom:75px}#home-main .hero-content h1{font-size:62px;max-width:660px}#home-main .hero-content p{font-size:20px;max-width:530px}}
@media(max-width:1023px){#home-main .hero-content h1{font-size:58px;max-width:600px}#home-main .hero-content p{max-width:480px}#home-main .boutique-approach .lg\:col-span-7>div{padding:30px 23px}#home-main .boutique-approach .lg\:col-span-7 p{max-width:none}}
@media(max-width:767px){:root{--reading-size:17px}.site-header>div>a>span:last-child,body.boutique-home:not(.service-page) .boutique-header>div>a>span:last-child{font-size:10px;letter-spacing:.1em}body.boutique-home:not(.service-page) .boutique-header .font-headline-sm{font-size:27px}#home-main h2{font-size:40px;line-height:1.12}#home-main .hero-content{padding:128px 25px 330px}#home-main .hero-content h1{font-size:48px;line-height:1.04;max-width:500px}#home-main .hero-content p{font-size:18px;line-height:1.6}#home-main .hero-actions>*{font-size:16px;min-height:54px}#home-main .boutique-section-heading p{font-size:17px}#home-main .boutique-eyebrow,#home-main .boutique-card-body .boutique-eyebrow{font-size:12px}#home-main .boutique-card-body h3{font-size:34px}#home-main .boutique-card-body .boutique-outline{font-size:12px}#home-main .boutique-approach .lg\:col-span-7>div{padding:28px 24px;min-height:0;gap:18px}#home-main .boutique-approach .lg\:col-span-7 p{font-size:17px}#home-main .boutique-approach .font-headline-sm{font-size:28px}#home-main #tarifs .text-center>.font-label-caps{font-size:13px}#home-main #devis-form label.font-label-caps{font-size:17px}#home-main #devis-form select{font-size:17px}#home-main #residences .text-title-md{font-size:26px}#home-main #residences .lg\:col-span-7>div{padding:18px 14px;min-height:175px}#home-main #residences .lg\:col-span-7 .text-body-sm{font-size:14px}#home-main #questions summary{font-size:25px}#home-main #contact button{font-size:16px}body.boutique-home:not(.service-page) .mobile-whatsapp,.mobile-whatsapp{font-size:13px;letter-spacing:0;text-transform:none}.service-page h2{font-size:38px}.service-page h3{font-size:29px}.service-page .service-hero h1,.guide-page .guide-hero h1{font-size:48px}.service-page .service-intro,.service-page .service-scope-row p,.service-page .service-scope-aside ul,.service-page .service-steps p,.service-page .service-focus p,.service-page .service-faq details>div,.service-page .service-confidence>div>p,.service-page .service-section-lead>p,.service-page .service-quote-intro,.service-page .service-area p{font-size:17px}.service-primary{font-size:15px}.service-field input,.service-field select{font-size:17px}.guide-page .guide-body p,.guide-page .guide-body li{font-size:17px}.guide-page .guide-body h2{font-size:36px}.guide-page .guide-summary h2{font-size:34px}.legal-body h1{font-size:48px}.legal-body h2{font-size:35px}.legal-body p,.legal-body li{font-size:17px}}
@media(max-width:380px){#home-main .hero-content h1{font-size:44px}#home-main #residences .lg\:col-span-7{grid-template-columns:1fr}#home-main #residences .lg\:col-span-7>div{min-height:140px}}

@media(max-width:767px){#home-main #contact button{font-size:18px}}
