/* Shared visual language. Layouts and interactive behavior remain page-specific. */
:root{--maison-paper:#FAF9F6;--maison-ink:#111;--maison-line:#D8D7D2;--maison-radius:12px}
body[data-maison]{background:var(--maison-paper);color:var(--maison-ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
[data-maison] .site-header,[data-maison] .site-footer{background:var(--maison-paper);border-color:var(--maison-line)}
[data-maison] main{min-width:0}
[data-maison] main :is(h1,h2,h3){font-weight:500;text-wrap:pretty}
[data-maison] main :is(p,li,.eyebrow,.lead,.small,.byline,.breadcrumbs,.guide-deck,.veille-meta,.veille-intro-note,.guide-note){color:var(--maison-ink)}
[data-maison] main :is(.eyebrow,.maison-kicker){font-size:11px;letter-spacing:1.6px;line-height:1.6;font-weight:600}
[data-maison] :is(.btn,.button,.submit,.portal-primary,.portal-secondary){border-radius:6px;min-height:48px;line-height:1.4}
[data-maison] :is(.btn,.button,.submit,.portal-primary){background:#111;color:#fff}
[data-maison] :is(.btn.light,.portal-secondary){background:#fff;color:#111;border:1px solid var(--maison-line)}
[data-maison] main :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px;border-radius:6px}
[data-maison] :is(a,button,summary,input,select,textarea):focus-visible{outline:2px solid #111;outline-offset:4px}
/* The same open, typographic introductions across all top-level pages. */
[data-maison] main>:is(.catalogue-intro,.resource-intro,.section-intro,.program-intro,.about-intro,.veille-intro){max-width:none;background:transparent;border:0;border-bottom:1px solid var(--maison-line);border-radius:0;margin:0 0 36px;padding:54px 0 34px}
[data-maison] main>:is(.catalogue-intro,.resource-intro,.section-intro,.program-intro,.about-intro,.veille-intro) h1{font-size:clamp(46px,6.6vw,88px);line-height:1.06;letter-spacing:-3.5px;margin:20px 0 24px;max-width:1050px}
[data-maison] main>:is(.catalogue-intro,.resource-intro,.section-intro,.program-intro,.about-intro,.veille-intro)>p:not(.eyebrow){font-size:19px;line-height:1.6;max-width:740px}
[data-maison] main>:is(.catalogue-intro,.resource-intro,.section-intro,.program-intro,.about-intro,.veille-intro)>.eyebrow{display:flex;align-items:center;gap:10px}
[data-maison] main>:is(.catalogue-intro,.resource-intro,.section-intro,.program-intro,.about-intro,.veille-intro)>.eyebrow::before{content:"";width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--theme-accent,#111)}
/* Cards share borders and corners; colored surfaces always use black text. */
[data-maison] :is(.card,.veille-card,.related-card,.portal-card,.project-feature,.case-facts,.checklist,.form-card,.request-form,.legal-summary){border-radius:var(--maison-radius);border-color:var(--maison-line);background:#fff}
[data-maison] :is(.card,.related-card){transition:background-color 160ms ease,border-color 160ms ease}
[data-maison] :is(.card,.related-card):hover{transform:none;background:var(--theme-soft,#F1F0EB);border-color:#999}
[data-maison] :is(.card,.related-card,.veille-card) h2{font-weight:500}
[data-maison] :is(.panel,.program-eligibility,.section-empty,.section-cta,.resource-formations,.veille-cta,.veille-action,.veille-card--lead,.objective,.exercise,.toolbox,.action,.portal-next){background:var(--theme-soft,#F1F0EB);border-radius:var(--maison-radius);border-color:var(--theme-surface,var(--maison-line));color:#111}
[data-maison] :is(.banner,.program-bottom,.next-step){background:var(--theme-soft,#F1F0EB);border:1px solid var(--theme-surface,var(--maison-line));border-radius:var(--maison-radius);color:#111}
[data-maison] :is(.banner,.program-bottom,.next-step) :is(h2,h3,p){color:#111}
[data-maison] :is(.banner,.program-bottom) .btn{background:#111;color:#fff;border-color:#111}
[data-maison] .program-card,[data-maison] .program-hero{background:var(--programmes-soft);border:1px solid #DDCEC5;border-radius:var(--maison-radius)}
[data-maison] .program-card__lead{background:#E9C6B5}
[data-maison] .program-price{font-weight:500}
[data-maison] .program-hero h1{font-size:clamp(54px,7vw,88px);line-height:1.04;letter-spacing:-3px}
[data-maison] .about-process{background:#F1F0EB;border:1px solid var(--maison-line);border-radius:var(--maison-radius);padding:28px}
/* Long articles keep a comfortable reading width and a quieter title scale. */
[data-maison] :is(.detail,.guide-main,.guide-hero,.hero,.veille-article-head,.case-copy,.legal-page) h1{font-size:clamp(36px,4.6vw,62px);line-height:1.1;letter-spacing:-2px}
[data-maison] .veille-article-head{background:transparent}
[data-maison] :is(.guide-main,.reading-layout article,.veille-copy,.detail article) p{line-height:1.75}
[data-maison] .form-card{box-shadow:0 6px 28px #25231D05}
[data-maison] .portal-login{background:#fff;border:1px solid var(--maison-line);border-radius:var(--maison-radius);padding:28px}
@media(max-width:700px){
 [data-maison] main>:is(.catalogue-intro,.resource-intro,.section-intro,.program-intro,.about-intro,.veille-intro){padding:32px 0 26px;margin-bottom:28px}
 [data-maison] main>:is(.catalogue-intro,.resource-intro,.section-intro,.program-intro,.about-intro,.veille-intro) h1{font-size:clamp(38px,9vw,58px);letter-spacing:-1.8px;line-height:1.08}
 [data-maison] main>:is(.catalogue-intro,.resource-intro,.section-intro,.program-intro,.about-intro,.veille-intro)>p:not(.eyebrow){font-size:17px}
 [data-maison] :is(.detail,.guide-main,.guide-hero,.hero,.veille-article-head,.case-copy,.legal-page) h1{font-size:clamp(32px,8vw,44px);letter-spacing:-1.2px;overflow-wrap:break-word}
 [data-maison] .about-process,[data-maison] .portal-login{padding:22px}
 [data-maison] .portal-login{margin-left:0;margin-right:0}
}
@media(prefers-reduced-motion:reduce){[data-maison] *{transition:none!important;scroll-behavior:auto!important}}
@media print{body[data-maison]{background:#fff}[data-maison] main :is(.banner,.program-bottom,.next-step,.panel,.objective,.exercise,.toolbox,.action){background:#fff;color:#111}}
/* Restore normal tracking on small screens, including long headings. */
@media(max-width:700px){[data-maison] main :is(h1,h2,h3),[data-maison] .maison-hero h1 em{letter-spacing:normal;word-spacing:normal;line-height:1.2}[data-maison] main .maison-kicker,[data-maison] main .eyebrow{letter-spacing:.08em;line-height:1.6}}
.maison-goal[id]{scroll-margin-top:24px}
