/* Generated from data/themes/palettes.json. Original CSS remains intact. */
.theme-preview[data-theme="classique"]{--paper:#fbf8f2;--white:#ffffff;--ink:#283f36;--body:#48564e;--muted:#687168;--orange:#b84922;--orange-light:#f5d7bd;--sage:#e7ece2;--line:#dcded4;--theme-hover:#923817;--theme-pale:#f0eddf;--theme-ribbon:#f0eddf;--theme-footer:#f4f1e8;--theme-dark:#283f36;--theme-on-dark:#ffffff;--theme-soft-border:#abb2a1;--theme-font-heading:Georgia,serif;--theme-font-body:system-ui,sans-serif;--theme-heading-weight:400;--theme-radius:6px;--theme-photo-radius:48% 48% 8px 8px;--theme-hero:#fbf8f2;--theme-hero-ink:#283f36;--theme-hero-accent:#b84922;--theme-ribbon-ink:#283f36;--theme-section:#e7ece2;--theme-section-ink:#283f36;--theme-section-accent:#b84922;--theme-footer-ink:#283f36;--theme-title-case:none;}
:root[data-theme="vivant"],.theme-preview[data-theme="vivant"]{--paper:#fffefa;--white:#ffffff;--ink:#241e19;--body:#352e28;--muted:#66554b;--orange:#b5360a;--orange-light:#ff742e;--sage:#f3eee7;--line:#c9bcb0;--theme-hover:#812404;--theme-pale:#f3eee7;--theme-ribbon:#241e19;--theme-footer:#241e19;--theme-dark:#241e19;--theme-on-dark:#ffffff;--theme-soft-border:#887667;--theme-font-heading:'SC Bricolage',sans-serif;--theme-font-body:'SC Manrope',sans-serif;--theme-heading-weight:700;--theme-radius:3px;--theme-photo-radius:14px;--theme-hero:#ff742e;--theme-hero-ink:#241e19;--theme-hero-accent:#241e19;--theme-ribbon-ink:#ffffff;--theme-section:#241e19;--theme-section-ink:#fffefa;--theme-section-accent:#ff9657;--theme-footer-ink:#fffefa;--theme-title-case:none;}
:root[data-theme="noel"],.theme-preview[data-theme="noel"]{--paper:#fffcf5;--white:#ffffff;--ink:#17392c;--body:#334b3e;--muted:#59634d;--orange:#ad1f32;--orange-light:#efd19c;--sage:#f4eee2;--line:#b9b29a;--theme-hover:#7e1425;--theme-pale:#f4eee2;--theme-ribbon:#a51d30;--theme-footer:#0c3d2e;--theme-dark:#0c3d2e;--theme-on-dark:#fff9e7;--theme-soft-border:#90896e;--theme-font-heading:'SC Lora',Georgia,serif;--theme-font-body:'SC Manrope',sans-serif;--theme-heading-weight:400;--theme-radius:4px;--theme-photo-radius:50% 50% 4px 4px;--theme-hero:#0c3d2e;--theme-hero-ink:#fff9e7;--theme-hero-accent:#efc568;--theme-ribbon-ink:#fff9e7;--theme-section:#6f1724;--theme-section-ink:#fff9e7;--theme-section-accent:#efc568;--theme-footer-ink:#fff9e7;--theme-title-case:none;}
:root[data-theme="paques"],.theme-preview[data-theme="paques"]{--paper:#fffef7;--white:#ffffff;--ink:#163e24;--body:#304b34;--muted:#53634b;--orange:#256238;--orange-light:#ffe04a;--sage:#f2f4e9;--line:#a7b49a;--theme-hover:#174326;--theme-pale:#f2f4e9;--theme-ribbon:#215e35;--theme-footer:#163e24;--theme-dark:#215e35;--theme-on-dark:#ffffff;--theme-soft-border:#819471;--theme-font-heading:'SC Fredoka',sans-serif;--theme-font-body:'SC Manrope',sans-serif;--theme-heading-weight:500;--theme-radius:28px;--theme-photo-radius:46% 54% 42% 58% / 45% 43% 57% 55%;--theme-hero:#ffe04a;--theme-hero-ink:#163e24;--theme-hero-accent:#163e24;--theme-ribbon-ink:#ffffff;--theme-section:#215e35;--theme-section-ink:#fffef7;--theme-section-accent:#ffe04a;--theme-footer-ink:#fffef7;--theme-title-case:none;}
:root[data-theme="halloween"],.theme-preview[data-theme="halloween"]{--paper:#fffaf2;--white:#ffffff;--ink:#291638;--body:#47364e;--muted:#67556c;--orange:#ac3b05;--orange-light:#ff962f;--sage:#f1ebf3;--line:#bca8c1;--theme-hover:#7e2704;--theme-pale:#f1ebf3;--theme-ribbon:#ff962f;--theme-footer:#180d20;--theme-dark:#291238;--theme-on-dark:#fff7ec;--theme-soft-border:#927a99;--theme-font-heading:'SC Barlow',sans-serif;--theme-font-body:'SC Manrope',sans-serif;--theme-heading-weight:700;--theme-radius:2px;--theme-photo-radius:0 64px 0 64px;--theme-hero:#291238;--theme-hero-ink:#fff7ec;--theme-hero-accent:#ff962f;--theme-ribbon-ink:#291638;--theme-section:#321244;--theme-section-ink:#fff7ec;--theme-section-accent:#ff962f;--theme-footer-ink:#fff7ec;--theme-title-case:uppercase;}
:root[data-theme="riviera"],.theme-preview[data-theme="riviera"]{--paper:#ffffff;--white:#ffffff;--ink:#003d78;--body:#064776;--muted:#165783;--orange:#084fbc;--orange-light:#ffdc25;--sage:#ffdc25;--line:#087caf;--theme-hover:#064196;--theme-pale:#ffffff;--theme-ribbon:#ffdc25;--theme-footer:#ffffff;--theme-dark:#08bfd0;--theme-on-dark:#003d78;--theme-soft-border:#087caf;--theme-font-heading:'SC Bricolage',sans-serif;--theme-font-body:'SC Manrope',sans-serif;--theme-heading-weight:700;--theme-radius:20px;--theme-photo-radius:24px 100px 24px 100px;--theme-hero:#08bfd0;--theme-hero-ink:#003d78;--theme-hero-accent:#003d78;--theme-ribbon-ink:#003d78;--theme-section:#095bcc;--theme-section-ink:#ffffff;--theme-section-accent:#ffdc25;--theme-footer-ink:#003d78;--theme-title-case:none;}
:root[data-theme="framboise"],.theme-preview[data-theme="framboise"]{--paper:#ffffff;--white:#ffffff;--ink:#74145b;--body:#74145b;--muted:#86246b;--orange:#b10b60;--orange-light:#ffb516;--sage:#ffcf20;--line:#c81069;--theme-hover:#8f074a;--theme-pale:#ffffff;--theme-ribbon:#ffb516;--theme-footer:#ffffff;--theme-dark:#c90052;--theme-on-dark:#ffffff;--theme-soft-border:#c81069;--theme-font-heading:'SC Fredoka',sans-serif;--theme-font-body:'SC Manrope',sans-serif;--theme-heading-weight:500;--theme-radius:30px;--theme-photo-radius:90px 24px 90px 24px;--theme-hero:#c90052;--theme-hero-ink:#ffffff;--theme-hero-accent:#ffffff;--theme-ribbon-ink:#74145b;--theme-section:#ffb516;--theme-section-ink:#74145b;--theme-section-accent:#74145b;--theme-footer-ink:#74145b;--theme-title-case:none;}
:root[data-theme="signature"],.theme-preview[data-theme="signature"]{--paper:#ffffff;--white:#ffffff;--ink:#193f32;--body:#244c3d;--muted:#3c6957;--orange:#2d644d;--orange-light:#ff914b;--sage:#ffffff;--line:#548772;--theme-hover:#193f32;--theme-pale:#ffffff;--theme-ribbon:#ff914b;--theme-footer:#ffffff;--theme-dark:#ff914b;--theme-on-dark:#193f32;--theme-soft-border:#548772;--theme-font-heading:'SC Lora',Georgia,serif;--theme-font-body:'SC Manrope',sans-serif;--theme-heading-weight:400;--theme-radius:18px;--theme-photo-radius:48% 48% 24px 24px;--theme-hero:#ffffff;--theme-hero-ink:#193f32;--theme-hero-accent:#2d644d;--theme-ribbon-ink:#193f32;--theme-section:#ff914b;--theme-section-ink:#193f32;--theme-section-accent:#193f32;--theme-footer-ink:#193f32;--theme-title-case:none;}

/* Public site: override fixed colours as well as the original colour variables. */
:root[data-theme]:not([data-theme="classique"]) .site-header{background:var(--paper);border-color:var(--line)}
:root[data-theme]:not([data-theme="classique"]) .topbar{background:var(--theme-dark);color:var(--theme-on-dark)}
:root[data-theme]:not([data-theme="classique"]) .home-hero{background:linear-gradient(115deg,var(--paper) 30%,var(--theme-pale))}
:root[data-theme]:not([data-theme="classique"]) .values-ribbon{background:var(--theme-ribbon)}
:root[data-theme]:not([data-theme="classique"]) :is(.pale-section,.page-hero,.press-card:hover){background:var(--theme-pale)}
:root[data-theme]:not([data-theme="classique"]) .site-footer{background:var(--theme-footer)}
:root[data-theme]:not([data-theme="classique"]) .image-note{background:var(--orange-light)}
:root[data-theme]:not([data-theme="classique"]) .hero-visual:before{border-color:var(--theme-soft-border)}
:root[data-theme]:not([data-theme="classique"]) :is(.pillars-grid article,.theme-grid article,.locations-grid article,.contact-line){border-color:var(--line)}
:root[data-theme]:not([data-theme="classique"]) .button:not(.button-outline):not(.button-light):hover{background:var(--theme-hover);border-color:var(--theme-hover)}
:root[data-theme]:not([data-theme="classique"]) .join-banner{background:var(--theme-dark);color:var(--theme-on-dark)}
:root[data-theme]:not([data-theme="classique"]) .join-banner h2{color:var(--theme-on-dark)}
:root[data-theme]:not([data-theme="classique"]) .join-banner .eyebrow{color:var(--theme-ribbon)}
:root[data-theme]:not([data-theme="classique"]) .gallery-item{background:var(--sage)}
:root[data-theme]:not([data-theme="classique"]) :is(input,textarea,select){border-color:var(--theme-soft-border)}
/* App-specific fixed colours. The common administration retains its own neutral skin. */
:root[data-surface="app"]:not([data-theme="classique"]) header{background:var(--sage)}
:root[data-surface="app"]:not([data-theme="classique"]) a{color:var(--orange)}
:root[data-surface="app"]:not([data-theme="classique"]) .button{color:white}
:root[data-surface="app"]:not([data-theme="classique"]) button:hover{background:var(--theme-hover)}
:root[data-surface="app"]:not([data-theme="classique"]) :is(.panel,.badge,.tabs,fieldset,.date-grid>div,.pagination a,th,td,details,footer){border-color:var(--line)}
:root[data-surface="app"]:not([data-theme="classique"]) :is(.badge,.notice){background:var(--sage)}
:root[data-surface="app"]:not([data-theme="classique"]) .notice{border-left-color:var(--theme-dark)}
:root[data-surface="app"]:not([data-theme="classique"]) :is(.placeholder,.tool-card img){background:var(--theme-pale);color:var(--muted)}
:root[data-surface="app"]:not([data-theme="classique"]) :focus-visible{outline-color:var(--orange)}
/* Errors retain their familiar, accessible warning colours in every theme. */
:root[data-surface="app"]:not([data-theme="classique"]) .notice.error{background:#fff0e7;border-color:#b84922}
/* Accessible radio cards: no script or inline style required to select a theme. */
.theme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;border:0;padding:0;margin:1.5rem 0}
.theme-options legend{font-weight:650;margin-bottom:1rem}
.theme-option{display:block;min-width:0;margin:0;border:2px solid #c3cec7;border-radius:10px;padding:1rem;cursor:pointer}
.theme-option:has(input:checked){border-color:#165841;box-shadow:0 0 0 2px #165841}
.theme-choice{display:flex;gap:.7rem;align-items:center;margin:0 0 .7rem}
.theme-choice input{width:1.2rem;height:1.2rem;margin:0;flex-shrink:0;accent-color:#165841}
.theme-option p{font-weight:400;font-size:.9rem;line-height:1.5;margin:.8rem 0 0}
.theme-preview{display:block;background:var(--paper);color:var(--ink);border-radius:6px;overflow:hidden;font-weight:400}
.theme-preview-top{display:block;padding:.45rem .8rem;background:var(--theme-dark);color:var(--theme-on-dark);font-size:.75rem}
.theme-preview-body{display:block;padding:1.15rem;background:linear-gradient(115deg,var(--paper),var(--theme-pale))}
.theme-preview-title{display:block;font:1.45rem/1.25 Georgia,serif;margin-bottom:.7rem;color:var(--ink)}
.theme-preview-button{display:inline-block;background:var(--orange);color:white;border-radius:4px;padding:.4rem .7rem;font-size:.8rem}
.theme-preview-ribbon{display:block;background:var(--theme-ribbon);color:var(--ink);padding:.4rem .8rem;font-size:.8rem}
@media(max-width:680px){.theme-options{grid-template-columns:1fr}}

/* Theme identities v2. Only locally served WOFF2; loaded when the face is used. */
@font-face{font-family:'SC Manrope';src:url('/assets/fonts/theme-manrope-v2.woff2') format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'SC Bricolage';src:url('/assets/fonts/theme-bricolagegrotesque-v2.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'SC Fredoka';src:url('/assets/fonts/theme-fredoka-v2.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'SC Barlow';src:url('/assets/fonts/theme-barlowcondensed-v2.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'SC Lora';src:url('/assets/fonts/lora-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'SC Lora';src:url('/assets/fonts/lora-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
:root[data-theme]:not([data-theme="classique"]){--serif:var(--theme-font-heading);--sans:var(--theme-font-body);--radius:var(--theme-radius)}
:root[data-theme]:not([data-theme="classique"]) body{font-family:var(--theme-font-body)}
:root[data-theme]:not([data-theme="classique"]) :is(h1,h2,h3,.h3,.footer-brand,.metric strong,header>span){font-family:var(--theme-font-heading);font-weight:var(--theme-heading-weight);text-transform:var(--theme-title-case);letter-spacing:-.025em}
:root[data-theme]:not([data-theme="classique"]) :is(.button,button,.panel,.press-card,.form-panel,.contact-card){border-radius:var(--theme-radius)}
:root[data-theme]:not([data-theme="classique"]) .home-hero{background:var(--theme-hero);color:var(--theme-hero-ink)}
:root[data-theme]:not([data-theme="classique"]) .hero-copy h1{font-size:clamp(3.4rem,6.1vw,6.2rem);line-height:1.02;color:var(--theme-hero-ink);letter-spacing:-.045em}
:root[data-theme]:not([data-theme="classique"]) .hero-copy h1 em{display:block;font-style:normal;font-weight:inherit;color:var(--theme-hero-accent)}
:root[data-theme]:not([data-theme="classique"]) .home-hero :is(.eyebrow,.hero-footnote,.photo-label,.text-link){color:var(--theme-hero-ink)}
:root[data-theme]:not([data-theme="classique"]) .home-hero :is(.hero-doodle,.photo-label>span){color:var(--theme-hero-accent)}
:root[data-theme]:not([data-theme="classique"]) .home-hero .small-line{background:var(--theme-hero-ink)}
:root[data-theme]:not([data-theme="classique"]) .home-hero .button{background:var(--theme-hero-ink);color:var(--theme-hero);border-color:var(--theme-hero-ink)}
:root[data-theme]:not([data-theme="classique"]) .home-hero .button:hover{background:var(--theme-hero);color:var(--theme-hero-ink);border-color:var(--theme-hero-ink)}
:root[data-theme]:not([data-theme="classique"]) .home-hero :focus-visible{outline-color:var(--theme-hero-ink)}
:root[data-theme]:not([data-theme="classique"]) .hero-photo{border-radius:var(--theme-photo-radius)}
:root[data-theme]:not([data-theme="classique"]) .hero-visual:before{border-color:var(--theme-hero-accent);border-radius:var(--theme-photo-radius)}
:root[data-theme]:not([data-theme="classique"]) .hero-note{background:var(--paper);color:var(--ink);border:1px solid var(--ink)}
:root[data-theme]:not([data-theme="classique"]) .values-ribbon .container,
:root[data-theme]:not([data-theme="classique"]) .values-ribbon span[aria-hidden]{color:var(--theme-ribbon-ink)}
:root[data-theme]:not([data-theme="classique"]) :is(.mission,.sage-section){background:var(--theme-section);color:var(--theme-section-ink)}
:root[data-theme]:not([data-theme="classique"]) :is(.mission,.sage-section) :is(h2,h3,.text-link){color:var(--theme-section-ink)}
:root[data-theme]:not([data-theme="classique"]) :is(.mission,.sage-section) :is(.eyebrow,.number,.small-text,.location-pin){color:var(--theme-section-accent)}
:root[data-theme]:not([data-theme="classique"]) :is(.mission,.sage-section) .button{background:var(--theme-section-accent);color:var(--theme-section);border-color:var(--theme-section-accent)}
:root[data-theme]:not([data-theme="classique"]) :is(.mission,.sage-section) .button:hover{background:var(--theme-section-ink);border-color:var(--theme-section-ink)}
:root[data-theme]:not([data-theme="classique"]) .site-footer,
:root[data-theme]:not([data-theme="classique"]) .site-footer :is(h2,.footer-brand){color:var(--theme-footer-ink)}
:root[data-theme]:not([data-theme="classique"]) .site-footer a:hover{color:var(--theme-section-accent)}
:root[data-theme]:not([data-theme="classique"]) .site-footer :focus-visible{outline-color:var(--theme-footer-ink)}
:root[data-theme]:not([data-theme="classique"]) .join-banner .eyebrow{color:var(--theme-section-accent)}
/* Vivant: warm orange and ink, bold lettering, straight edges and a cut-paper frame. */
:root[data-theme="vivant"][data-theme] .hero-photo{box-shadow:10px 10px 0 var(--ink);border:2px solid var(--ink)}
:root[data-theme="vivant"][data-theme] .hero-visual:before{display:none}
:root[data-theme="vivant"][data-theme] .home-hero-grid{padding-bottom:65px}
:root[data-theme="vivant"][data-theme] .hero-note{box-shadow:5px 5px 0 var(--ink);transform:rotate(-4deg)}
:root[data-theme="vivant"][data-theme] .home-hero .button{color:white}
:root[data-theme="vivant"][data-theme] .home-hero .button:hover{color:var(--ink)}
:root[data-theme="vivant"][data-theme] :is(.action-card,.press-card){border-bottom:3px solid var(--ink);padding-bottom:22px}
:root[data-theme="vivant"][data-theme] .card-image{border-radius:3px}
/* Noël: a restrained editorial rhythm, dark velvet tones and fine gold rules. */
:root[data-theme="noel"][data-theme] .hero-copy h1{font-size:clamp(3.2rem,5.4vw,5.5rem);line-height:1.09;letter-spacing:-.045em}
:root[data-theme="noel"][data-theme] .hero-copy h1 em{font-style:italic}
:root[data-theme="noel"][data-theme] .hero-photo{border:2px solid var(--theme-hero-accent)}
:root[data-theme="noel"][data-theme] .hero-note{transform:none;border:1px solid #ae863d;box-shadow:0 8px 24px #0002}
:root[data-theme="noel"][data-theme] .hero-copy>.eyebrow{letter-spacing:.21em}
:root[data-theme="noel"][data-theme] .values-ribbon{border-block:3px double #efc568}
/* Pâques: a limited yellow/leaf-green palette, round letters and organic contours. */
:root[data-theme="paques"][data-theme] .hero-copy h1{letter-spacing:-.02em}
:root[data-theme="paques"][data-theme] .hero-photo{border:4px solid var(--ink)}
:root[data-theme="paques"][data-theme] .hero-visual:before{display:none}
:root[data-theme="paques"][data-theme] .hero-note{border-radius:28px;transform:rotate(-3deg);border:2px solid var(--ink);box-shadow:none}
:root[data-theme="paques"][data-theme] :is(.button,button){border-radius:999px}
:root[data-theme="paques"][data-theme] :is(.card-image,.page-hero-image>img){border-radius:28px}
/* Halloween: condensed poster type, angular frames, plum and pumpkin orange. */
:root[data-theme="halloween"][data-theme] :is(h1,h2,h3,.hero-copy h1){letter-spacing:.01em}
:root[data-theme="halloween"][data-theme] .hero-copy h1{font-size:clamp(4rem,8vw,8rem);line-height:.96}
:root[data-theme="halloween"][data-theme] .hero-photo{border:3px solid #ff962f}
:root[data-theme="halloween"][data-theme] .hero-note{border:2px solid #ff962f;background:#180d20;color:#fff7ec;box-shadow:6px 6px 0 #ff962f;transform:rotate(-3deg)}
:root[data-theme="halloween"][data-theme] .hero-note :is(strong,span){color:#ff962f}
:root[data-theme="halloween"][data-theme] .home-hero .button{background:#ff962f;color:#291238;border-color:#ff962f}
:root[data-theme="halloween"][data-theme] .home-hero .button:hover{background:#fff7ec;color:#291238;border-color:#fff7ec}
/* Preview shows typography, hero and ribbon exactly as the selected identity. */
.theme-preview{font-family:var(--theme-font-body);border-radius:var(--theme-radius)}
.theme-preview-body{background:var(--theme-hero);color:var(--theme-hero-ink)}
.theme-preview-title{font-family:var(--theme-font-heading);font-weight:var(--theme-heading-weight);color:var(--theme-hero-ink);text-transform:var(--theme-title-case)}
.theme-preview-ribbon{color:var(--theme-ribbon-ink)}
.theme-preview-button{background:var(--theme-hero-ink);color:var(--theme-hero);border-radius:var(--theme-radius)}
.theme-preview[data-theme="classique"] .theme-preview-button{background:var(--orange);color:white}
.theme-preview[data-theme="halloween"] .theme-preview-button{background:#ff962f;color:#291238}
.theme-option .theme-fonts{font-size:.8rem;color:#42584a}
@media(max-width:760px){
 :root[data-theme]:not([data-theme="classique"]) .hero-copy h1{font-size:clamp(3rem,10.8vw,5rem)}
 :root[data-theme="noel"][data-theme] .hero-copy h1{font-size:clamp(2.9rem,9.5vw,4.5rem)}
 :root[data-theme="halloween"][data-theme] .hero-copy h1{font-size:clamp(3.8rem,15vw,6rem)}
}

:root[data-theme]:not([data-theme="classique"]) :is(.mission,.sage-section) :is(.small-text a,.prose a,.text-link:hover){color:var(--theme-section-accent)}

/* Riviera and Framboise: white breathing room, saturated colour, no dark panels. */
:root:is([data-theme="riviera"],[data-theme="framboise"])[data-theme] .hero-visual:before{display:none}
:root:is([data-theme="riviera"],[data-theme="framboise"])[data-theme] .hero-note{background:white;border:0;box-shadow:none;transform:rotate(-3deg);border-radius:var(--theme-radius)}
:root:is([data-theme="riviera"],[data-theme="framboise"])[data-theme] .hero-photo{border:6px solid white}
:root:is([data-theme="riviera"],[data-theme="framboise"])[data-theme] .home-hero .button{border-radius:999px}
:root:is([data-theme="riviera"],[data-theme="framboise"])[data-theme] .card-image{border-radius:var(--theme-radius)}
:root:is([data-theme="riviera"],[data-theme="framboise"])[data-theme] .action-card{padding-bottom:24px;border-bottom:3px solid var(--orange-light)}
:root:is([data-theme="riviera"],[data-theme="framboise"])[data-theme] .page-hero{border-bottom:6px solid var(--orange-light)}
:root:is([data-theme="riviera"],[data-theme="framboise"])[data-theme] .site-footer{border-top:8px solid var(--theme-hero)}
:root:is([data-theme="riviera"],[data-theme="framboise"])[data-theme] .site-footer a:hover{color:var(--orange)}
:root:is([data-theme="riviera"],[data-theme="framboise"])[data-theme] .join-banner .eyebrow{color:var(--theme-on-dark)}
:root:is([data-theme="riviera"],[data-theme="framboise"])[data-theme] :is(.mission,.sage-section) :focus-visible{outline-color:var(--theme-section-ink)}
:root[data-theme="riviera"][data-theme] .hero-photo{box-shadow:12px 12px 0 #ffdc25}
:root[data-theme="riviera"][data-theme] .hero-copy h1{letter-spacing:-.035em}
:root[data-theme="riviera"][data-theme] .hero-note{border-bottom:6px solid #ffdc25}
:root[data-theme="riviera"][data-theme] .home-hero .button{background:#084fbc;color:white;border-color:#084fbc}
:root[data-theme="riviera"][data-theme] .home-hero .button:hover{background:white;color:#084fbc;border-color:white}
:root[data-theme="riviera"][data-theme] .values-ribbon{border-block:0}
:root[data-theme="framboise"][data-theme] .hero-photo{box-shadow:12px 12px 0 #ffb516}
:root[data-theme="framboise"][data-theme] .hero-copy h1{letter-spacing:-.015em}
:root[data-theme="framboise"][data-theme] .hero-note{border-bottom:6px solid #ffb516;transform:rotate(3deg)}
:root[data-theme="framboise"][data-theme] :is(.button,button){border-radius:999px}
:root[data-theme="framboise"][data-theme] .home-hero .button{background:#ffb516;color:#74145b;border-color:#ffb516}
:root[data-theme="framboise"][data-theme] .home-hero .button:hover{background:white;color:#b10b60;border-color:white}
:root[data-theme="framboise"][data-theme] .mission-image>img{border-radius:72px 24px 72px 24px}
.theme-preview[data-theme="riviera"] .theme-preview-button{background:#084fbc;color:white;border-radius:999px}
.theme-preview[data-theme="framboise"] .theme-preview-button{background:#ffb516;color:#74145b;border-radius:999px}

/* Signature: colours sampled from the logo; darker green reserved for readable text. */
:root[data-theme="signature"][data-theme] .hero-copy h1{font-size:clamp(3.2rem,5.4vw,5.5rem);line-height:1.09;letter-spacing:-.04em}
:root[data-theme="signature"][data-theme] .hero-copy h1 em{font-style:italic}
:root[data-theme="signature"][data-theme] .hero-photo{border:7px solid #ff914b}
:root[data-theme="signature"][data-theme] .hero-visual:before{border:2px solid #548772}
:root[data-theme="signature"][data-theme] .hero-doodle{color:#ff914b}
:root[data-theme="signature"][data-theme] .hero-note{border:2px solid #548772;border-bottom:6px solid #ff914b;border-radius:18px;box-shadow:none;transform:rotate(-3deg)}
:root[data-theme="signature"][data-theme] :is(.button,button){border-radius:999px}
:root[data-theme="signature"][data-theme] .home-hero .button{background:#2d644d;color:white;border-color:#2d644d}
:root[data-theme="signature"][data-theme] .home-hero .button:hover{background:#193f32;color:white;border-color:#193f32}
:root[data-theme="signature"][data-theme] .values-ribbon{border:0}
:root[data-theme="signature"][data-theme] :is(.card-image,.page-hero-image>img){border-radius:28px 28px 12px 12px}
:root[data-theme="signature"][data-theme] .action-card{padding-bottom:24px;border-bottom:4px solid #ff914b}
:root[data-theme="signature"][data-theme] .mission-image>img{border-radius:48% 48% 18px 18px}
:root[data-theme="signature"][data-theme] .image-note{background:white;border-bottom:5px solid #548772;border-radius:18px}
:root[data-theme="signature"][data-theme] .page-hero{border-bottom:5px solid #ff914b}
:root[data-theme="signature"][data-theme] .site-footer{border-top:7px solid #ff914b}
:root[data-theme="signature"][data-theme] .site-footer a:hover{color:#2d644d}
:root[data-theme="signature"][data-theme] :is(.mission,.sage-section) :focus-visible{outline-color:#193f32}
:root[data-theme="signature"][data-theme][data-surface="app"] header{border-bottom:4px solid #ff914b}
:root[data-theme="signature"][data-theme][data-surface="app"] .notice{border-left-color:#548772}
.theme-preview[data-theme="signature"] .theme-preview-title{font-style:italic}
.theme-preview[data-theme="signature"] .theme-preview-button{background:#2d644d;color:white;border-radius:999px}
@media(max-width:760px){:root[data-theme="signature"][data-theme] .hero-copy h1{font-size:clamp(2.9rem,9.5vw,4.5rem)}}
