/* Warm editorial polish: preserve the brand, media and reading hierarchy. */
:root{--vd-ink:#19364d;--vd-earth:#9b422e;--vd-gold:#c59747;--vd-paper:#fffaf1;--vd-light:#f3d797}
html{font-synthesis:none;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{font-kerning:normal;text-rendering:optimizeLegibility}
html[lang=fr] body,html[lang=en] body{font-family:Manrope,Arial,sans-serif;font-size:18px;line-height:1.75}
body.brand-refined{background:#fbf5e9;color:var(--vd-ink)}
.brand-refined .oral-header{border-top:5px solid var(--vd-earth);background:radial-gradient(ellipse at 95% 12%,#efd08c70,transparent 58%),radial-gradient(ellipse at 0% 75%,#cf88521c,transparent 50%),linear-gradient(130deg,#fffdf7,#f6ead2)}
.brand-refined .oral-welcome .welcome-copy{background:#fffdf7b8;border-left:3px solid #ae6544;box-shadow:0 14px 45px #714a2310}
.brand-refined main>.governance,.brand-refined main>.situation-entry,.brand-refined main>.oral-more{background:radial-gradient(ellipse at 0% 30%,#edd19a33,transparent 60%),linear-gradient(110deg,#fffdf7,#f8efdf)}
.brand-refined main>.new-pricing{background:radial-gradient(ellipse at 100% 10%,#d9a25e2e,transparent 60%),linear-gradient(130deg,#f7ecd5,#f0e3ca)}
.brand-refined main>.contact{background:radial-gradient(ellipse at 5% 90%,#ecc67a4d,transparent 65%),#fbf3e5}
.brand-refined main>.method,.brand-refined main>.oral-film{background:radial-gradient(ellipse at 100% 0%,#3b696b66,transparent 65%),#18364c}
.brand-refined .section-banner{box-shadow:0 8px 24px #19364d0a;border-radius:4px 24px 24px 4px;border-left:5px solid #d8a653}
.brand-refined h1,.brand-refined h2,.brand-refined h3,.brand-refined h4{font-family:Manrope,Arial,sans-serif;text-wrap:balance}
.brand-refined .oral-header h1{font-weight:750;line-height:1.18;letter-spacing:-.035em;font-size:clamp(34px,3.7vw,46px)}
.brand-refined .oral-header h1 em{color:var(--vd-earth);font-style:normal}
.brand-refined .section-banner>h2{font-weight:650;font-size:clamp(29px,3.2vw,40px);line-height:1.25;letter-spacing:-.025em}
.brand-refined h3{font-weight:700;line-height:1.35;letter-spacing:-.018em}
.brand-refined p,.brand-refined li{line-height:1.75}
.brand-refined .section p,.brand-refined .section li{font-size:17px}
.brand-refined .section .lead{font-size:21px;line-height:1.7;max-width:68ch;font-weight:450}
.brand-refined .welcome-introduction p{font-size:18px!important;line-height:1.75!important;max-width:68ch}
.brand-refined .welcome-introduction p:first-child>strong{font-weight:750;color:#8d3c2a}
.brand-refined .welcome-introduction .intro-payment{font-size:14px!important;line-height:1.6!important;color:#334c59;border-left-color:#bd8c3e}
.brand-refined strong,.brand-refined b{font-weight:750}
.brand-refined .section-banner .eyebrow,.brand-refined .welcome-copy .welcome-identity{font-weight:750;letter-spacing:.09em;line-height:1.6}
.brand-refined .section-banner .eyebrow{font-size:12px}
.brand-refined .oral-header .welcome-purpose{font-size:19px;line-height:1.75;max-width:65ch}
.brand-refined .welcome-purpose>strong{font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.35;color:var(--vd-ink)}
.brand-refined .professional-portrait figcaption .portrait-quote{font-family:Georgia,serif!important;font-weight:400!important;font-style:italic!important;letter-spacing:-.015em;font-size:26px!important;line-height:1.45!important;color:#f7d68e}
.brand-refined .media-invitation{font-family:Manrope,Arial,sans-serif!important;font-size:19px!important;font-weight:650!important;line-height:1.55!important}
.brand-refined button[data-audio],.brand-refined .hero-film-player h2,.brand-refined .film-play,.brand-refined .media-choice{font-family:Manrope,Arial,sans-serif!important}
body.brand-refined button[data-audio]:not(.media-choice){border-color:#c79d55!important;background:linear-gradient(120deg,#fff4d8,#f2d495)!important;box-shadow:0 6px 18px #7955270c!important}
body.brand-refined button[data-audio]:not(.media-choice).is-playing{background:#e4efdf!important}
body.brand-refined button[data-audio] .audio-listen-badge{font-size:12px!important;line-height:1.5!important;letter-spacing:.07em;font-weight:800}
body.brand-refined button[data-audio] .audio-topic{font-size:21px!important;line-height:1.4!important;font-weight:700!important;letter-spacing:-.015em}
body.brand-refined button[data-audio] .audio-listen-hint{font-size:15px!important;line-height:1.5!important;font-weight:550!important}
.brand-refined .hero-audio-step .media-choice-copy strong{font-size:23px;line-height:1.35;font-weight:750;letter-spacing:-.02em}
.brand-refined .hero-audio-step .media-choice-copy small{font-size:16px;line-height:1.5;font-weight:450}
.brand-refined .button,.brand-refined .quick-access a,.brand-refined .language-links a{font-family:Manrope,Arial,sans-serif;font-weight:700;line-height:1.45}
.brand-refined .button.gold{background:linear-gradient(115deg,#efc66c,#f5d893);color:#17364d;border:1px solid #c39643;box-shadow:0 3px 10px #7955270c}
.brand-refined a:not(.button):not(.visit-stop):not(.brand){text-underline-offset:.2em}
.brand-refined .price-main{font-variant-numeric:tabular-nums;letter-spacing:-.035em;font-weight:750}
.brand-refined .scope-note,.brand-refined .small,.brand-refined .identity-hours{line-height:1.65}
.brand-refined .contact-form label,.brand-refined form label{font-weight:700;letter-spacing:0}
.brand-refined input,.brand-refined select,.brand-refined textarea{font-family:inherit;font-size:17px;line-height:1.5}
.brand-refined .visit-heading h2{font-family:Manrope,Arial,sans-serif;font-weight:700;letter-spacing:-.025em}
.brand-refined .visit-heading p{color:#5c5547;font-size:16px}
/* Native-language text keeps its full character coverage. */
html[lang=bm] body,html[lang=wo] body{font-family:system-ui,"DejaVu Sans",sans-serif;font-size:19px;line-height:1.8;background:radial-gradient(ellipse at 100% 0%,#efd08c40,transparent 55%),#fffaf1}
.written-version main p{max-width:70ch;line-height:1.8;text-align:start}
.written-version .section-banner{border-left-color:#d8a653}
.written-version .section-banner>h2{font-family:system-ui,"DejaVu Sans",sans-serif;font-weight:650;letter-spacing:-.015em}
/* Align long prose for continuous reading; avoid uneven word spacing. */
.brand-refined .section p,.brand-refined .welcome-copy p{text-align:start;hyphens:manual}
.brand-refined .duo-portrait figcaption .portrait-quote{text-align:center}
@media(max-width:700px){
 html[lang=fr] body,html[lang=en] body{font-size:17px}
 .brand-refined .oral-header .oral-welcome h1{font-size:32px!important;line-height:1.2!important;letter-spacing:-.03em}
 .brand-refined .section-banner>h2{font-size:28px;line-height:1.28}
 .brand-refined .section .lead{font-size:19px;line-height:1.75}
 .brand-refined .welcome-introduction p{font-size:17px!important;line-height:1.7!important}
 .brand-refined .welcome-introduction .intro-payment{font-size:14px!important}
 .brand-refined .welcome-purpose>strong{font-size:23px}
 .brand-refined .oral-header .welcome-purpose{font-size:18px;line-height:1.75}
 .brand-refined .professional-portrait figcaption .portrait-quote{font-size:23px!important}
 .brand-refined .hero-audio-step .media-choice-copy strong{font-size:20px;line-height:1.35}
 .brand-refined .hero-audio-step .media-choice-copy small{font-size:14px;line-height:1.55}
 body.brand-refined button[data-audio] .audio-topic{font-size:19px!important;line-height:1.4!important}
 body.brand-refined button[data-audio] .audio-listen-badge{font-size:11px!important}
 .brand-refined .quick-access strong{font-size:15px;line-height:1.35}
 .brand-refined .quick-access small{font-size:12px;line-height:1.5}
 .brand-refined .section p,.brand-refined .section li{font-size:17px}
}
@media(max-width:360px){.brand-refined .oral-header .oral-welcome h1{font-size:29px!important}.brand-refined .quick-access strong{font-size:13px}.brand-refined .quick-access small{font-size:11px}}
