/* Owner-selectable palettes. Rose remains the current default. */
:root[data-theme="rose"]{--theme-ink:#302234;--theme-muted:#766b78;--theme-paper:#fffdfc;--theme-cream:#fff7f5;--theme-accent:#b33164;--theme-accent-soft:#f08b88;--theme-dark:#2e1d35;--theme-line:#ead8df;--theme-wash:#f6edf5;--theme-warm:#fff1f2;--theme-button-hover:#d35672;--theme-light-accent:#ffaaa8}
:root[data-theme="citrus"]{--theme-ink:#382a2b;--theme-muted:#756968;--theme-paper:#fffdf8;--theme-cream:#fff8e9;--theme-accent:#c44d45;--theme-accent-soft:#f28b68;--theme-dark:#342524;--theme-line:#ead8c5;--theme-wash:#f7edda;--theme-warm:#fff0dd;--theme-button-hover:#dd684d;--theme-light-accent:#ffd08a}
:root[data-theme="jade"]{--theme-ink:#243833;--theme-muted:#687771;--theme-paper:#fffdfa;--theme-cream:#f4f8f1;--theme-accent:#267d68;--theme-accent-soft:#c86f7c;--theme-dark:#1d3932;--theme-line:#d5e4db;--theme-wash:#eaf3ed;--theme-warm:#fbefed;--theme-button-hover:#39937a;--theme-light-accent:#efadb0}
:root[data-theme="cobalt"]{--theme-ink:#302a42;--theme-muted:#716b7b;--theme-paper:#fffaf6;--theme-cream:#fff1e8;--theme-accent:#3457c5;--theme-accent-soft:#f28f78;--theme-dark:#292847;--theme-line:#e5d7d7;--theme-wash:#eeeffb;--theme-warm:#fff0e6;--theme-button-hover:#526fda;--theme-light-accent:#ffb09a}
:root[data-theme]{--ink:var(--theme-ink);--muted:var(--theme-muted);--paper:var(--theme-paper);--cream:var(--theme-cream);--rose-dark:var(--theme-accent);--rose:var(--theme-accent-soft);--line:var(--theme-line)}
:root[data-theme] body{color:var(--theme-ink);background:var(--theme-paper)}
:root[data-theme] .announcement,:root[data-theme] .site-footer,:root[data-theme] .quote-section,:root[data-theme] .button-dark,:root[data-theme] .nav-cta,:root[data-theme] .hero-index{background-color:var(--theme-dark)}
:root[data-theme] .announcement a,:root[data-theme] .button-dark:hover,:root[data-theme] .nav-cta:hover{color:var(--theme-light-accent)}
:root[data-theme] .brand-mark{color:var(--theme-accent);border-color:var(--theme-line)}
:root[data-theme] .brand-name i,:root[data-theme] .text-link span,:root[data-theme] .service-icon,:root[data-theme] .eyebrow,:root[data-theme] .fact-index,:root[data-theme] .academy-number span,:root[data-theme] .academy-quote em,:root[data-theme] .portfolio-bottom .button:hover,:root[data-theme] .hero-stamp,:root[data-theme] h2 em,:root[data-theme] .hero h1 em,:root[data-theme] .intro-text em,:root[data-theme] blockquote em{color:var(--theme-accent)}
:root[data-theme] .hero:before{background:radial-gradient(ellipse at 72% 32%,color-mix(in srgb,var(--theme-accent-soft) 20%,transparent),transparent 62%),radial-gradient(ellipse at 25% 78%,color-mix(in srgb,var(--theme-accent) 12%,transparent),transparent 64%)}
:root[data-theme] .hero-art{background:linear-gradient(145deg,var(--theme-warm),var(--theme-wash) 55%,var(--theme-cream));box-shadow:16px 18px 45px color-mix(in srgb,var(--theme-dark) 12%,transparent)}
:root[data-theme] .hero-photo-placeholder,:root[data-theme] .about-placeholder{background:radial-gradient(ellipse at 51% 28%,var(--theme-paper) 0 10%,transparent 10.5%),radial-gradient(ellipse at 51% 58%,var(--theme-accent-soft) 0 22%,transparent 22.5%),linear-gradient(145deg,var(--theme-accent),var(--theme-accent-soft) 50%,var(--theme-dark))}
:root[data-theme] .hero-stamp{background:var(--theme-paper)}
:root[data-theme] .intro-band,:root[data-theme] .location-band{background:linear-gradient(112deg,var(--theme-cream),var(--theme-warm) 52%,var(--theme-wash))}
:root[data-theme] .services-section:after,:root[data-theme] .contact-section:before{background:radial-gradient(ellipse,color-mix(in srgb,var(--theme-accent-soft) 18%,transparent),transparent 70%)}
:root[data-theme] .service-card,:root[data-theme] .service-card:nth-child(2n),:root[data-theme] .enquiry-form{background:linear-gradient(145deg,var(--theme-warm),var(--theme-wash))}
:root[data-theme] .service-card:hover,:root[data-theme] .service-card:focus-within{background:linear-gradient(145deg,var(--theme-cream),var(--theme-wash));border-color:color-mix(in srgb,var(--theme-accent) 25%,transparent)}
:root[data-theme] .portfolio-section{background:linear-gradient(135deg,var(--theme-cream),var(--theme-wash) 52%,var(--theme-warm))}
:root[data-theme] .portfolio-card,:root[data-theme] .portfolio-card:nth-child(2),:root[data-theme] .portfolio-card:nth-child(3),:root[data-theme] .academy-visual,:root[data-theme] .about-image{background:linear-gradient(145deg,var(--theme-warm),var(--theme-wash))}
:root[data-theme] .portfolio-card:before{background:radial-gradient(ellipse at 50% 40%,var(--theme-paper) 0 18%,transparent 18.5%),linear-gradient(135deg,var(--theme-accent),var(--theme-accent-soft) 53%,var(--theme-dark))}
:root[data-theme] .academy-card{background:linear-gradient(145deg,var(--theme-dark),var(--theme-ink) 58%,var(--theme-dark))}
:root[data-theme] .academy-number,:root[data-theme] .quote-mark,:root[data-theme] .academy-flower{color:var(--theme-accent-soft)}
:root[data-theme] .academy-quote em,:root[data-theme] .quote-inner blockquote em{color:var(--theme-light-accent)}
:root[data-theme] .quote-section{background:linear-gradient(115deg,var(--theme-dark),var(--theme-ink) 55%,var(--theme-dark))}
:root[data-theme] .enquiry-form input,:root[data-theme] .enquiry-form select,:root[data-theme] .enquiry-form textarea{border-color:var(--theme-line);background:var(--theme-paper)}
:root[data-theme] .enquiry-form input:focus,:root[data-theme] .enquiry-form select:focus,:root[data-theme] .enquiry-form textarea:focus{border-color:var(--theme-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-accent) 12%,transparent)}
:root[data-theme] .button-dark{background:linear-gradient(105deg,var(--theme-ink),var(--theme-dark))}
:root[data-theme] .button-dark:hover{background:linear-gradient(105deg,var(--theme-accent),var(--theme-button-hover))}
:root[data-theme] .button-outline,:root[data-theme] .round-link{border-color:var(--theme-line);color:var(--theme-accent)}
:root[data-theme] .button-outline:hover,:root[data-theme] .round-link:hover{background:var(--theme-dark);color:var(--theme-paper);border-color:var(--theme-dark)}
:root[data-theme] .main-nav a:not(.nav-cta):after{background:var(--theme-accent-soft)}
:root[data-theme] .site-footer .footer-brand .brand-mark{color:var(--theme-accent-soft);border-color:var(--theme-accent)}
:root[data-theme] .site-footer .footer-brand .brand-name i,:root[data-theme] .footer-bottom a{color:var(--theme-light-accent)}
:root[data-theme] .admin-body{background:linear-gradient(135deg,var(--theme-cream),var(--theme-wash))}
:root[data-theme] .admin-pane,:root[data-theme] .login-card{background:var(--theme-paper)}
:root[data-theme] .compact-form,:root[data-theme] .admin-row,:root[data-theme] .enquiry-card,:root[data-theme] .empty-state{background:var(--theme-warm)}
:root[data-theme] .admin-tabs{border-color:var(--theme-line)}
:root[data-theme] .admin-tabs button.active,:root[data-theme] .pane-kicker{color:var(--theme-accent);border-bottom-color:var(--theme-accent-soft)}
:root[data-theme] .admin-form input,:root[data-theme] .admin-form textarea,:root[data-theme] .login-card input{border-color:var(--theme-line);background:var(--theme-paper)}
:root[data-theme] .admin-form input:focus,:root[data-theme] .admin-form textarea:focus,:root[data-theme] .login-card input:focus{border-color:var(--theme-accent)}
:root[data-theme] .small-button{border-color:var(--theme-line);color:var(--theme-ink)}
:root[data-theme] .small-button:hover{background:var(--theme-dark);color:#fff}
:root[data-theme] .status-pill{background:var(--theme-wash);color:var(--theme-accent)}
:root[data-theme] .legal-heading h1 em,:root[data-theme] .legal-content a,:root[data-theme] .legal-link-card b{color:var(--theme-accent)}
:root[data-theme] .legal-toc,:root[data-theme] .legal-link-card,:root[data-theme] .legal-draft{background:linear-gradient(135deg,var(--theme-warm),var(--theme-wash));border-color:var(--theme-line)}
:root[data-theme] .legal-draft strong,:root[data-theme] .legal-placeholder{color:var(--theme-accent)}
:root[data-theme] .legal-callout{background:var(--theme-wash);border-left-color:var(--theme-accent)}
:root[data-theme] .detail-number,:root[data-theme] .service-detail-card .eyebrow,:root[data-theme] .training-list-item>span{color:var(--theme-accent)}
:root[data-theme] .training-hero-visual,:root[data-theme] .training-certificate,:root[data-theme] .service-detail-card{background:linear-gradient(145deg,var(--theme-warm),var(--theme-wash));border-color:var(--theme-line)}
:root[data-theme] .training-hero-card{background:linear-gradient(145deg,var(--theme-dark),var(--theme-ink))}
:root[data-theme] .training-hero-art,:root[data-theme] .learning-panel,:root[data-theme] .outcomes-list-panel,:root[data-theme] .certificate-card,:root[data-theme] .training-cta{background:linear-gradient(145deg,var(--theme-warm),var(--theme-wash));border-color:var(--theme-line)}
:root[data-theme] .training-hero-art .training-card{background:linear-gradient(145deg,var(--theme-dark),var(--theme-ink))}
:root[data-theme] .training-cta h2 em,:root[data-theme] .training-hero h1 em,:root[data-theme] .training-heading h2 em,:root[data-theme] .outcomes-intro h2 em{color:var(--theme-accent)}
:root[data-theme] .dedicated-art,:root[data-theme] .service-art{background:linear-gradient(145deg,var(--theme-accent-soft),var(--theme-warm) 48%,var(--theme-wash))}
:root[data-theme] .theme-option.selected{border-color:var(--theme-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-accent) 12%,transparent)}

