/* AMAADOR sitewide skin v2 (2026-10-22). Loaded last in <head> on every page.
   Re-maps legacy variables (Horizon --h-*, selfservice, storefront, prism) onto tokens-final.css,
   then styles the rendered header/footer/card markup. No per-tool colours. Partners markup is not targeted. */
:root{--sk-ready:1}
html:root{
  --teal:#00A6A6;--teal-dk:#2DD4C8;--amber:#FFB400;--amber-dk:#FFC933;--orange:#FF5A1F;--lime:#B5E61D;
  --warm-white:#FFFCF7;--sand:#F7EFE3;--graphite:#0F1215;--surface-dk:#181C20;
  --teal-text:#00777A;--amber-text:#8A5A00;--orange-text:#9A3412;--lime-text:#4D7C0F;--on-amber:#1A1300;--on-lime:#14210A;
  --f-d:"Inter Tight","Inter","IBM Plex Sans Arabic",system-ui,sans-serif;--f-b:"Inter","IBM Plex Sans Arabic",system-ui,sans-serif;--f-ar:"IBM Plex Sans Arabic",system-ui,sans-serif;
  --s1:4px;--s2:8px;--s3:16px;--s4:24px;--s5:32px;--s6:48px;--s7:64px;--s8:96px;--sk-w:1200px;--sk-hh:68px;
  --radius-s:8px;--radius-m:12px;--radius-l:16px;--radius-pill:999px;--edge-w:2px;--ease:cubic-bezier(.2,.7,.2,1);
  /* light */
  --sk-bg:#FFFCF7;--sk-bg2:#F7EFE3;--sk-card:#FFFFFF;--sk-ink:#1D1D1F;--sk-ink2:#424245;--sk-muted:#6E6A63;--sk-hair:#E9E0D2;--sk-strong:#D6CBB9;
  --sk-accent:#00777A;--sk-accent-deco:#00A6A6;--sk-on-accent:#FFFFFF;--sk-btn-a:#00777A;--sk-btn-b:#007F8C;--sk-focus:#00777A;--sk-soft:#EAF5F3;
  --sk-head-bg:rgba(255,252,247,.82);--sk-shadow:0 1px 2px rgba(15,18,21,.05),0 16px 40px -12px rgba(15,18,21,.12);--sk-inner-hi:none;
  --sk-ok:#4D7C0F;--sk-warn:#8A5A00;--sk-bad:#9A3412;
}
html:root[data-theme=dark],html:root[data-theme=pitch]{
  --sk-bg:#0F1215;--sk-bg2:#181C20;--sk-card:#181C20;--sk-ink:#F5F5F7;--sk-ink2:#C9CDD1;--sk-muted:#9AA3AB;--sk-hair:#2A3036;--sk-strong:#3A424A;
  --sk-accent:#2DD4C8;--sk-accent-deco:#2DD4C8;--sk-on-accent:#0F1215;--sk-btn-a:#2DD4C8;--sk-btn-b:#22E1D6;--sk-focus:#2DD4C8;--sk-soft:#15282A;
  --sk-head-bg:rgba(15,18,21,.78);--sk-shadow:0 24px 60px -20px rgba(0,0,0,.7);--sk-inner-hi:inset 0 1px 0 rgba(255,255,255,.06);
  --sk-ok:#B5E61D;--sk-warn:#FFC933;--sk-bad:#FF5A1F;
}
@media (prefers-color-scheme:dark){html:root:not([data-theme]){
  --sk-bg:#0F1215;--sk-bg2:#181C20;--sk-card:#181C20;--sk-ink:#F5F5F7;--sk-ink2:#C9CDD1;--sk-muted:#9AA3AB;--sk-hair:#2A3036;--sk-strong:#3A424A;
  --sk-accent:#2DD4C8;--sk-accent-deco:#2DD4C8;--sk-on-accent:#0F1215;--sk-btn-a:#2DD4C8;--sk-btn-b:#22E1D6;--sk-focus:#2DD4C8;--sk-soft:#15282A;
  --sk-head-bg:rgba(15,18,21,.78);--sk-shadow:0 24px 60px -20px rgba(0,0,0,.7);--sk-inner-hi:inset 0 1px 0 rgba(255,255,255,.06);
  --sk-ok:#B5E61D;--sk-warn:#FFC933;--sk-bad:#FF5A1F;color-scheme:dark}}

/* 1. Legacy variable families → skin tokens (high specificity so late-injected sheets don't win) */
html:root:root,html:root:root body,html:root:root body.horizon-site,html:root:root body.atelier.atelier{
  --h-bg:var(--sk-bg);--h-surface:var(--sk-card);--h-raised:var(--sk-bg2);--h-ink:var(--sk-ink);--h-muted:var(--sk-muted);--h-dim:var(--sk-muted);
  --h-line:var(--sk-hair);--h-strong:var(--sk-strong);--h-accent:var(--sk-accent);--h-button:var(--sk-btn-a);--h-soft:var(--sk-soft);
  --h-ok:var(--sk-ok);--h-warn:var(--sk-warn);--h-bad:var(--sk-bad);--h-shadow:var(--sk-shadow);--h-hero:none;
  --bg:var(--sk-bg);--bg2:var(--sk-bg2);--surface:var(--sk-card);--panel:var(--sk-card);--panel2:var(--sk-bg2);--panel3:var(--sk-soft);
  --ink:var(--sk-ink);--txt:var(--sk-ink);--muted:var(--sk-muted);--mut:var(--sk-muted);--dim:var(--sk-muted);
  --line:var(--sk-hair);--line2:var(--sk-strong);--line3:var(--sk-strong);--accent:var(--sk-accent);--soft:var(--sk-soft);
  --gold:var(--sk-accent);--gold2:var(--sk-accent);--acc:var(--sk-accent);--acc2:var(--sk-accent);--cta:var(--sk-btn-a);--brand:var(--sk-accent);
  --prism-ink:var(--sk-ink);--prism-muted:var(--sk-muted);--prism-border:var(--sk-hair);--prism-surface:var(--sk-card);
  --text-primary:var(--sk-ink);--text-secondary:var(--sk-ink2);--text-tertiary:var(--sk-muted);--border-default:var(--sk-hair);--border-subtle:var(--sk-hair);--border-strong:var(--sk-strong);
  --domain:var(--sk-accent);--dot:var(--sk-accent);--product-color:var(--sk-accent);
  --font:var(--f-b);--font-body:var(--f-b);--font-display:var(--f-d);--shadow:var(--sk-shadow);
}
html:root:root:root:root body{background:var(--sk-bg)!important;background-image:none!important;color:var(--sk-ink);font-family:var(--f-b)!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html:root:root:root:root :is(h1,h2,h3,.eyebrow+h1){font-family:var(--f-d)!important;color:var(--sk-ink)}
html:root:root:root:root :is(h1){letter-spacing:-.035em;line-height:1.06;text-wrap:balance}
html:root:root:root:root :is(h2){letter-spacing:-.025em;line-height:1.15;text-wrap:balance}
html:root:root:root:root[lang=ar] :is(body,h1,h2,h3,p,a,button,input,select,textarea){font-family:var(--f-ar)!important;letter-spacing:0!important}
html:root:root:root:root[lang=ar] body{line-height:1.8}
html:root:root:root:root[lang=ar] :is(h1,h2,h3){line-height:1.35}
html:root:root:root:root :focus-visible{outline:2px solid var(--sk-focus)!important;outline-offset:3px}
html:root:root:root:root ::selection{background:color-mix(in srgb,var(--sk-accent-deco) 28%,transparent)}
html:root:root:root:root a{text-underline-offset:.18em;text-decoration-thickness:1px}
html:root:root:root:root :is(.muted,.small.muted,.sub,.lead,.subtle){color:var(--sk-muted)}

/* 2. One accent on every card (no per-tool / per-domain colours) */
html:root:root:root:root :is(.card,.library-card,.product-card,.tool-card,article.card,.search-grid>article,.studio-info section,.free-card){
  background:var(--sk-card)!important;border:1px solid var(--sk-hair)!important;border-block-start:var(--edge-w) solid var(--sk-accent)!important;
  border-radius:var(--radius-m)!important;box-shadow:var(--sk-inner-hi)!important;color:var(--sk-ink)}
html:root:root:root:root :is(.card,.library-card,.product-card,.tool-card):hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--sk-accent) 22%,transparent)!important}
html:root:root:root:root [data-prism-domain],html:root:root:root:root [data-focus],html:root:root:root:root [data-domain]{--domain:var(--sk-accent);--accent:var(--sk-accent);--prism-accent:var(--sk-accent)}
html:root:root:root:root .nav-dot{--dot:var(--sk-accent)!important;background:var(--sk-accent)!important}
html:root:root:root:root :is(.badge,.free,.status-pill.free){background:var(--lime);color:var(--on-lime)}

/* 3. Buttons */
html:root:root:root:root :is(.btn,.button.primary,a.btn,.primary):not(.ghost):not(.soft):not(.secondary):not(.quiet){
  background:linear-gradient(180deg,var(--sk-btn-a),var(--sk-btn-b))!important;color:var(--sk-on-accent)!important;border:0!important;
  border-radius:var(--radius-pill)!important;font-family:var(--f-b)!important;font-weight:600;min-height:44px;padding-inline:20px;box-shadow:none!important;-webkit-text-fill-color:currentColor!important}

/* 4. HEADER — shared geometry for the three rendered header families */
html:root:root:root:root :is(body>header:has(>.identity),.horizon-site-header,body>:is(.site-header,.transition-header)){
  position:sticky!important;top:0;z-index:100;min-height:var(--sk-hh)!important;height:auto!important;
  background:var(--sk-head-bg)!important;-webkit-backdrop-filter:saturate(1.4) blur(14px)!important;backdrop-filter:saturate(1.4) blur(14px)!important;
  border:0!important;border-block-end:1px solid transparent!important;box-shadow:none!important;transform:none!important;margin:0!important;top:0!important;width:auto!important;max-width:none!important;border-radius:0!important}
@supports (animation-timeline:scroll()){
  html:root:root:root:root :is(body>header:has(>.identity),.horizon-site-header,body>:is(.site-header,.transition-header)){background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;animation:sk-head linear both;animation-timeline:scroll(root);animation-range:0 48px}
  @keyframes sk-head{to{background:var(--sk-head-bg);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-block-end-color:var(--sk-hair)}}}
@supports not (animation-timeline:scroll()){html:root:root:root:root :is(body>header:has(>.identity),.horizon-site-header,body>:is(.site-header,.transition-header)){border-block-end-color:var(--sk-hair)!important}}
html:root:root:root:root body>header:has(>.identity),html:root:root:root:root .horizon-site-header-inner,html:root:root:root:root body>:is(.site-header,.transition-header){
  display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;column-gap:var(--s5)!important;
  max-width:var(--sk-w)!important;margin-inline:auto!important;padding:0 var(--s4)!important;min-height:var(--sk-hh)!important;height:auto!important;box-sizing:border-box}
html:root:root:root:root body>header:has(>.identity),html:root:root:root:root body>:is(.site-header,.transition-header){max-width:none!important;padding-inline:max(var(--s4),calc((100% - var(--sk-w))/2 + var(--s4)))!important}
/* wordmark */
html:root:root:root:root :is(body>header>.identity,.horizon-site-brand,body>:is(.site-header,.transition-header)>.brand){
  display:inline-flex!important;align-items:baseline;gap:6px;font:700 17px/1 var(--f-d)!important;letter-spacing:.06em!important;color:var(--sk-ink)!important;text-decoration:none!important;white-space:nowrap;background:none!important}
html:root:root:root:root :is(body>header>.identity span,.horizon-site-brand-edition,body>:is(.site-header,.transition-header)>.brand small){font:600 11px/1 var(--f-b)!important;letter-spacing:.14em!important;color:var(--sk-accent)!important;text-transform:uppercase;display:inline!important;margin:0!important}
html:root:root:root:root .horizon-site-brand-name{font:inherit!important;color:inherit!important}
html:root:root:root:root body>:is(.site-header,.transition-header)>.brand svg{width:24px;height:24px;align-self:center}
/* nav */
html:root:root:root:root :is(body>header:has(>.identity)>nav,.horizon-site-nav,body>:is(.site-header,.transition-header)>nav){
  display:flex!important;justify-content:center;align-items:center;gap:var(--s1)!important;min-width:0;margin:0!important;padding:0!important;background:none!important;border:0!important;position:static!important;transform:none!important;box-shadow:none!important;flex-wrap:nowrap!important;width:auto!important;height:auto!important}
html:root:root:root:root :is(body>header:has(>.identity)>nav>a,.horizon-site-nav>a,body>:is(.site-header,.transition-header)>nav>a){
  display:inline-flex!important;align-items:center;gap:6px;min-height:40px;padding:0 12px!important;border-radius:var(--radius-s)!important;
  font:500 14px/1 var(--f-b)!important;letter-spacing:0!important;color:var(--sk-ink2)!important;text-decoration:none!important;white-space:nowrap;background:none!important;border:0!important;box-shadow:none!important;-webkit-text-fill-color:currentColor!important;transition:color .2s var(--ease),background-color .2s var(--ease)}
html:root:root:root:root :is(body>header:has(>.identity)>nav>a,.horizon-site-nav>a,body>:is(.site-header,.transition-header)>nav>a):hover{color:var(--sk-ink)!important;background:color-mix(in srgb,var(--sk-ink) 5%,transparent)!important}
html:root:root:root:root :is(body>header nav>a,.horizon-site-nav>a)[aria-current]{color:var(--sk-ink)!important;box-shadow:inset 0 -2px 0 var(--sk-accent)!important;border-radius:0!important}
html:root:root:root:root .premium-entry-nav svg{width:16px;height:16px;color:var(--sk-accent)}
/* controls group: language · theme · CTA at inline-end */
html:root:root:root:root :is(body>header>.controls,.horizon-site-controls){display:flex!important;align-items:center;gap:var(--s2)!important;margin:0!important;justify-self:end}
html:root:root:root:root :is(#language){appearance:none;-webkit-appearance:none;height:36px;padding:0 28px 0 12px;border:1px solid var(--sk-hair)!important;border-radius:var(--radius-pill)!important;background:var(--sk-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236E6A63' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 11px center!important;color:var(--sk-ink)!important;font:500 13px var(--f-b)!important;cursor:pointer}
html:root[dir=rtl] #language{padding:0 12px 0 28px;background-position:left 11px center!important}
html:root:root:root:root :is(#theme,#themeToggle){width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;display:grid!important;place-items:center;border:1px solid var(--sk-hair)!important;border-radius:50%!important;background:var(--sk-card)!important;color:var(--sk-ink)!important;box-shadow:none!important;font-size:15px;line-height:1;cursor:pointer}
html:root:root:root:root :is(#theme,#themeToggle,#language):hover{border-color:var(--sk-strong)!important}
html:root:root:root:root .horizon-site-controls .lang-switch{display:flex!important;gap:0!important;padding:2px!important;border:1px solid var(--sk-hair)!important;border-radius:var(--radius-pill)!important;background:var(--sk-card)!important;height:36px;box-sizing:border-box;align-items:center}
html:root:root:root:root .horizon-site-controls .lang-btn{min-width:32px!important;min-height:30px!important;height:30px;padding:0 8px!important;border:0!important;border-radius:var(--radius-pill)!important;background:transparent!important;color:var(--sk-muted)!important;font:600 11px/1 var(--f-b)!important;letter-spacing:.04em!important}
html:root:root:root:root .horizon-site-controls .lang-btn.on{background:var(--sk-ink)!important;color:var(--sk-bg)!important}
html:root:root:root:root body>:is(.site-header,.transition-header)>.recover-trigger,html:root:root:root:root .horizon-site-controls>.btn{min-height:36px!important;padding:0 16px!important;border-radius:var(--radius-pill)!important;font:600 13px/1 var(--f-b)!important;justify-self:end}
html:root:root:root:root .horizon-site-menu{border:1px solid var(--sk-hair)!important;border-radius:var(--radius-pill)!important;background:var(--sk-card)!important;color:var(--sk-ink)!important;min-height:36px!important;height:36px;padding:0 14px!important}
html:root:root:root:root .horizon-site-mobile-head{display:none!important}
html:root:root:root:root .scroll-progress{background:var(--sk-accent)!important;height:2px!important}
/* header — tablet / mobile */
@media (max-width:1080px){
  html:root:root:root:root body>header:has(>.identity){grid-template-columns:auto 1fr!important;row-gap:0}
  html:root:root:root:root body>header:has(>.identity)>nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1*var(--s4))!important;padding:0 var(--s3) var(--s2)!important;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 24px),transparent)}
  html:root:root:root:root body>header:has(>.identity)>nav::-webkit-scrollbar{display:none}
  html:root:root:root:root body>header:has(>.identity)>.controls{grid-column:2;grid-row:1}
  html:root:root:root:root .horizon-site-header-inner{grid-template-columns:minmax(0,1fr) auto auto!important;column-gap:var(--s2)!important}
  html:root:root:root:root .horizon-site-nav:not(.open){display:none!important}
  html:root:root:root:root .horizon-site-menu{display:inline-flex!important;align-items:center;order:3;position:static!important;transform:none!important;inset:auto!important;margin:0!important}
  html:root:root:root:root .horizon-site-controls{grid-column:2!important;grid-row:1!important}
  html:root:root:root:root .horizon-site-header-inner>.horizon-site-menu{grid-column:3!important;grid-row:1!important}
  html:root:root:root:root .horizon-site-brand{grid-column:1!important;grid-row:1!important}
  html:root:root:root:root .horizon-site-nav.open{display:flex!important;flex-direction:column!important;align-items:stretch!important;flex-wrap:nowrap!important;overflow-x:hidden!important;position:fixed!important;inset:var(--sk-hh) 0 auto 0!important;max-height:calc(100dvh - var(--sk-hh));overflow:auto;padding:var(--s3) var(--s4) var(--s5)!important;background:var(--sk-bg)!important;border-block-end:1px solid var(--sk-hair)!important;box-shadow:var(--sk-shadow)!important;z-index:99;gap:0!important}
  html:root:root:root:root .horizon-site-nav.open>a{min-height:52px!important;padding:0 var(--s2)!important;border-radius:0!important;border-block-end:1px solid var(--sk-hair)!important;font-size:16px!important;color:var(--sk-ink)!important;background:none!important;justify-content:space-between}
  html:root:root:root:root body>:is(.site-header,.transition-header){grid-template-columns:auto 1fr!important}
  html:root:root:root:root body>:is(.site-header,.transition-header)>nav{display:none!important}
}
@media (max-width:520px){
  html:root{--sk-hh:60px}
  html:root:root:root:root :is(body>header>.identity span,.horizon-site-brand-edition,body>:is(.site-header,.transition-header)>.brand small){display:none!important}
  html:root:root:root:root .horizon-site-controls .lang-btn{min-width:28px!important;padding:0 6px!important}
}

/* 5. FOOTER — 12-col grid, hairlines, AA muted, tidy bottom bar */
html:root:root:root:root :is(body>footer:not(.site-foot):not(.site-footer),.horizon-site-footer,body>.site-footer){
  margin:var(--s8) 0 0!important;padding:var(--s7) max(var(--s4),calc((100% - var(--sk-w))/2 + var(--s4))) var(--s4)!important;max-width:none!important;
  background:var(--sk-bg2)!important;border:0!important;border-block-start:1px solid var(--sk-hair)!important;box-shadow:none!important;color:var(--sk-muted)!important;
  font:400 14px/1.6 var(--f-b)!important;box-sizing:border-box}
html:root:root:root:root body>footer:not(.site-foot):not(.site-footer){display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s4);row-gap:var(--s5)}
html:root:root:root:root body>footer:not(.site-foot):not(.site-footer)>div:first-child{grid-column:1/span 5}
html:root:root:root:root body>footer:not(.site-foot):not(.site-footer)>div:nth-child(2){grid-column:7/span 3}
html:root:root:root:root body>footer:not(.site-foot):not(.site-footer)>div:nth-child(3){grid-column:10/span 3}
html:root:root:root:root body>footer:not(.site-foot):not(.site-footer)>:is(p,nav){grid-column:1/-1}
html:root:root:root:root body>footer:not(.site-foot):not(.site-footer)>p{grid-row:2;padding-block-start:var(--s4);border-block-start:1px solid var(--sk-hair);margin:var(--s3) 0 0!important;font-size:13px}
html:root:root:root:root body>footer:not(.site-foot):not(.site-footer)>nav{grid-row:3;margin:calc(-1*var(--s4)) 0 0!important;font-size:13px}
html:root:root:root:root :is(body>footer,.horizon-site-footer,body>.site-footer) :is(strong,h4,.brand){display:block;font:700 15px/1.2 var(--f-d)!important;letter-spacing:.06em!important;color:var(--sk-ink)!important;margin:0 0 var(--s2)!important;text-decoration:none!important}
html:root:root:root:root :is(body>footer:not(.site-foot):not(.site-footer)>div,.site-footer .footer-main>div){display:flex;flex-direction:column;gap:var(--s2);align-items:flex-start}
html:root:root:root:root :is(body>footer,.horizon-site-footer,body>.site-footer) a{color:var(--sk-ink2)!important;text-decoration:none!important;font-size:14px;line-height:1.5;-webkit-text-fill-color:currentColor!important}
html:root:root:root:root :is(body>footer,.horizon-site-footer,body>.site-footer) a:hover{color:var(--sk-accent)!important;text-decoration:underline!important}
html:root:root:root:root :is(body>footer,.horizon-site-footer,body>.site-footer) :is(p,small,span,.muted){color:var(--sk-muted)!important}
/* horizon simple footer: brand line + inline links */
html:root:root:root:root .horizon-site-footer{display:flex!important;flex-wrap:wrap;align-items:center;column-gap:var(--s4);row-gap:var(--s3)}
html:root:root:root:root .horizon-site-footer>p:first-child{flex:1 1 100%;margin:0 0 var(--s2)!important;font:700 15px var(--f-d)!important;letter-spacing:.06em;color:var(--sk-ink)!important;padding-block-end:var(--s4);border-block-end:1px solid var(--sk-hair)}
html:root:root:root:root .horizon-site-footer>:is(.wrap,.search-wrap,nav){flex:1 1 100%;max-width:none!important;padding:0!important;margin:0!important}
html:root:root:root:root .horizon-site-footer .search-wrap{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--s3);padding-block-end:var(--s4)!important;border-block-end:1px solid var(--sk-hair)}
html:root:root:root:root .horizon-site-footer .search-footer-links{display:flex;gap:var(--s4);flex-wrap:wrap}
html:root:root:root:root .horizon-site-footer>nav[data-publisher-links]{font-size:13px}
html:root:root:root:root .horizon-site-footer .grid.g4{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:var(--s5) var(--s4)!important}
html:root:root:root:root .horizon-site-footer .grid.g4>div{grid-column:span 3;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
html:root:root:root:root .horizon-site-footer .grid.g4>div:first-child{grid-column:span 3}
html:root:root:root:root .horizon-site-footer .foot-sub-h{font:600 11px var(--f-b)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--sk-muted)!important;margin-top:var(--s3)!important}
html:root:root:root:root .horizon-site-footer h4{font-size:12px!important;letter-spacing:.1em!important;text-transform:uppercase;color:var(--sk-ink)!important}
html:root:root:root:root .horizon-site-footer :is(.foot-bottom,.copyright,.foot-legal){border-block-start:1px solid var(--sk-hair);padding-block-start:var(--s4);margin-block-start:var(--s5);font-size:13px}
html:root:root:root:root .site-footer .footer-main{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s4);padding-block-end:var(--s5);border-block-end:1px solid var(--sk-hair)}
html:root:root:root:root .site-footer .footer-main>:first-child{grid-column:span 6}
html:root:root:root:root .site-footer .footer-main>div{grid-column:span 3}
html:root:root:root:root .site-footer .footer-bottom{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s4);justify-content:space-between;align-items:center;padding-block-start:var(--s4);font-size:13px}
@media (max-width:820px){
  html:root:root:root:root body>footer:not(.site-foot):not(.site-footer)>div:is(:first-child,:nth-child(2),:nth-child(3)){grid-column:1/-1}
  html:root:root:root:root body>footer:not(.site-foot):not(.site-footer)>p{grid-row:auto}
  html:root:root:root:root body>footer:not(.site-foot):not(.site-footer)>nav{grid-row:auto;margin:0!important}
  html:root:root:root:root .horizon-site-footer .grid.g4>div,html:root:root:root:root .site-footer .footer-main>*{grid-column:span 12!important}
  html:root:root:root:root .horizon-site-footer .grid.g4>div:not(:first-child){grid-column:span 6!important}
}

/* 6. Templates: page heads, studio info / legal / help, tool heads */
html:root:root:root:root :is(.tool-head,.page-head,.pb-hero,.studio-hero){background:linear-gradient(180deg,color-mix(in srgb,var(--sk-accent-deco) 7%,var(--sk-bg)),var(--sk-bg) 72%)!important;background-image:linear-gradient(180deg,color-mix(in srgb,var(--sk-accent-deco) 7%,var(--sk-bg)),var(--sk-bg) 72%)!important;border:0!important;border-block-end:1px solid var(--sk-hair)!important;color:var(--sk-ink)}
html:root:root:root:root :is(.tool-head,.page-head) .sub{background:none!important;padding:0!important;color:var(--sk-ink2)!important;font-size:var(--t-b,1.0625rem)!important;max-width:68ch}
html:root:root:root:root .crumb{font-size:13px;color:var(--sk-muted)}
html:root:root:root:root .crumb a{color:var(--sk-accent)!important}
html:root:root:root:root main.studio-info{max-width:760px;margin:var(--s7) auto var(--s8)!important;padding:0 var(--s4);font-size:17px;line-height:1.7;color:var(--sk-ink2)}
html:root:root:root:root main.studio-info>p:first-child{font:600 12px var(--f-b);letter-spacing:.12em;text-transform:uppercase;color:var(--sk-accent)}
html:root:root:root:root main.studio-info h1{font-size:clamp(2.25rem,5vw,3.5rem);margin:var(--s2) 0 var(--s4)}
html:root:root:root:root main.studio-info h2{font-size:clamp(1.375rem,2.4vw,1.75rem);margin:var(--s6) 0 var(--s3)}
html:root:root:root:root main.studio-info section{padding:var(--s4)!important;margin-block:var(--s3)}
html:root:root:root:root main.studio-info section h2{margin-top:0}
html:root:root:root:root main.studio-info a{color:var(--sk-accent)}
html:root:root:root:root main.studio-info hr{border:0;border-top:1px solid var(--sk-hair);margin-block:var(--s6)}
html:root:root:root:root main.studio-info>nav{font-size:14px;color:var(--sk-muted)}
html:root:root:root:root :is(input,select,textarea):not(#language){border-color:var(--sk-hair);border-radius:var(--radius-s)}
html:root:root:root:root table{border-color:var(--sk-hair)}
html:root:root:root:root .search-home-fallback .btn{color:var(--sk-on-accent)!important}
html:root:root:root:root .amaador-support-controls :is(a,button){font-family:var(--f-b)!important}

/* 7. Premium entry points on regular pages use the standard teal theme (gold stays inside /premium/ only) */
html:root:root:root:root .premium-entry-panel{border:1px solid var(--sk-hair)!important;border-radius:var(--radius-m)!important;background:var(--sk-card)!important;color:var(--sk-ink)!important}
html:root:root:root:root .premium-entry-panel :is(h2,h3,.premium-entry-title){font-family:var(--f-d)!important;color:var(--sk-ink)!important}
html:root:root:root:root .premium-entry-panel :is(p,small,.premium-entry-copy){color:var(--sk-muted)!important}
html:root:root:root:root .premium-entry-panel .premium-entry-badge{color:var(--sk-accent)!important;border-color:var(--sk-hair)!important;letter-spacing:.16em;font-size:11px}
html:root:root:root:root .premium-entry-panel :is(.premium-entry-badge,.premium-entry-panel) svg{color:var(--sk-accent)!important}
html:root:root:root:root .premium-entry-panel .premium-entry-action{background:linear-gradient(180deg,var(--sk-btn-a),var(--sk-btn-b))!important;color:var(--sk-on-accent)!important;border-radius:var(--radius-pill)!important;border:0!important}
html:root:root:root:root:root:root .premium-entry-nav,html:root:root:root:root:root:root .premium-entry-nav *{color:var(--sk-accent)!important;border-color:var(--sk-hair)!important}
html:root:root:root:root:root:root .premium-entry-nav::before{background:var(--sk-accent)!important}

html:root:root:root:root:root:root .studio-nav>.on{background:var(--sk-accent)!important;border-color:var(--sk-accent)!important;color:var(--sk-on-accent)!important}
html:root:root:root:root:root:root .studio-nav .studio-nav-icon{color:var(--sk-accent)!important}
html:root:root:root:root:root:root .studio-nav>.on .studio-nav-icon{color:var(--sk-on-accent)!important}
/* 12. Single teal accent: home kicker/eyebrow, chip and badge dots (no per-tool colours) */
html:root:root:root:root:root:root:not([data-zone=premium]) :is(.prism-kicker,.eyebrow,.prism-eyebrow){color:var(--sk-accent)!important}
html:root:root:root:root:root:root :is(.prism-kicker,.prism-eyebrow)::before{background:var(--sk-accent-deco)!important;color:var(--sk-accent)!important}
html:root:root:root:root:root:root .studio-badge::before,html:root:root:root:root:root:root :is(.studio-badge,[class*=chip]) :is(.dot,[class*=-dot]){background:var(--sk-accent-deco)!important;border-color:var(--sk-accent-deco)!important;color:var(--sk-accent)!important}

@media (prefers-reduced-motion:reduce){html:root:root:root:root *:not(header):not(.site-header){transition:none!important;animation:none!important}}
@media print{html:root:root:root:root :is(body>header,.horizon-site-header,body>footer,.horizon-site-footer){position:static!important;animation:none!important;background:none!important}}
html:root:root:root:root body>footer:not(:has(>*)){display:block!important;text-align:start;font-size:13px}
html:root:root:root:root body>.transition-header>nav>a{min-height:36px!important;font-size:13px!important}
html:root:root:root:root body>.transition-header>.brand span{font:600 11px/1 var(--f-b)!important;letter-spacing:.14em!important;text-transform:uppercase;color:var(--sk-accent)!important}

/* 9. Accent normalisation: gradient headline + active nav use the single teal accent */
html:root:root:root:root .prism-hero h1>span{background-image:linear-gradient(100deg,var(--sk-accent) 10%,var(--sk-accent-deco) 90%)!important}
html:root:root:root:root body>header nav a[aria-current],html:root:root:root:root .horizon-site-nav a[aria-current]{background:var(--sk-soft)!important;color:var(--sk-accent)!important}
html:root:root:root:root body>header:has(>.identity) nav{column-gap:2px!important}
@media (max-width:1320px){html:root:root:root:root body>header:has(>.identity) nav a svg{display:none!important}}

/* 10. Prism (home/app) variable family → skin tokens; per-domain colours collapse to the one teal accent */
html:root:root:root,html:root:root:root [data-prism-domain]{
  --prism-bg:var(--sk-bg);--prism-surface:var(--sk-card);--prism-glass:var(--sk-head-bg);--prism-line:var(--sk-hair);--prism-ink:var(--sk-ink);--prism-muted:var(--sk-muted);
  --prism-focus:var(--sk-focus);--prism-violet:var(--sk-accent);--prism-blue:var(--sk-accent);--prism-indigo:var(--sk-accent);--prism-pink:var(--sk-accent);
  --prism-cyan:var(--sk-accent-deco);--prism-teal:var(--sk-accent);--prism-coral:var(--sk-accent);
  --prism-domain:var(--sk-accent);--prism-domain-soft:var(--sk-soft);--prism-domain-bright:var(--sk-accent-deco);
  --prism-shadow:var(--sk-shadow);--prism-lift:var(--sk-shadow)}

/* 11. premium-entry header polish (--hh-*) → skin tokens (beats html[data-theme] body.prism.x>header.y) */
html:root:root:root:root:root:root body>header{
  --hh-accent:var(--sk-accent);--hh-focus:var(--sk-focus);--hh-ink:var(--sk-ink2);--hh-muted:var(--sk-muted);--hh-control:var(--sk-muted);
  --hh-line:var(--sk-hair);--hh-soft:var(--sk-soft);--hh-surface:var(--sk-card);--hh-premium-ink:var(--sk-accent);--hh-premium-bg:var(--sk-soft);--hh-premium-line:var(--sk-hair)}

/* 12. header-fix-20261023 v2: single-row header, one active item, collapse to Menu when the row no longer fits */
html:root:root:root:root:root:root body>header:has(>.identity){column-gap:clamp(14px,1.6vw,32px)!important}
html:root:root:root:root:root:root body>header:has(>.identity)>nav:is(#primary-navigation,#navLinks){justify-content:flex-start!important;flex-wrap:nowrap!important;column-gap:clamp(0px,.25vw,4px)!important;min-width:0!important}
html:root:root:root:root:root:root body>header:has(>.identity)>nav:is(#primary-navigation,#navLinks)>a{padding:0 clamp(7px,.55vw,11px)!important;font-size:clamp(13px,.9vw,14px)!important;white-space:nowrap!important;flex:0 0 auto}
html:root:root:root:root:root:root body>header nav:is(#primary-navigation,#navLinks)>a:not([aria-current]){background:transparent!important;box-shadow:none!important;border-color:transparent!important}
html:root:root:root:root:root:root body>header nav:is(#primary-navigation,#navLinks)>a:not([aria-current]):hover{background:color-mix(in srgb,var(--sk-ink) 5%,transparent)!important}
html:root:root:root:root:root:root body>header nav:is(#primary-navigation,#navLinks)>a[aria-current]{background:var(--sk-soft)!important;color:var(--sk-accent)!important}
@media (max-width:1440px){html:root:root:root:root:root:root body>header:has(>.identity)>nav:is(#primary-navigation,#navLinks)>a::before{content:none!important;display:none!important}html:root:root:root:root:root:root body>header:has(>.identity)>nav>a.premium-entry-nav svg{display:none!important}}
/* floating solid bar (no transparency, no blur) */
html:root:root:root:root:root:root body>header:has(>.identity){position:sticky!important;top:10px!important;z-index:100!important;box-sizing:border-box!important;width:auto!important;max-width:min(calc(100% - 24px),1560px)!important;margin:10px auto 0!important;padding:8px clamp(14px,1.6vw,24px)!important;min-height:60px!important;border:1px solid var(--sk-hair)!important;border-radius:18px!important;background:#fffdf9!important;background-image:none!important;box-shadow:0 1px 2px rgba(20,24,22,.05),0 8px 24px rgba(20,24,22,.07)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;animation:none!important}
html[data-theme=dark]:root:root:root:root:root body>header:has(>.identity){background:#1c1f22!important;border-color:rgba(255,255,255,.09)!important;box-shadow:0 1px 2px rgba(0,0,0,.4),0 10px 28px rgba(0,0,0,.35)!important}
html:root:root:root:root:root:root body>header nav:is(#primary-navigation,#navLinks)>a{border-radius:999px!important;min-height:36px!important}
html:root:root:root:root:root:root body>header nav:is(#primary-navigation,#navLinks)>a[aria-current]{box-shadow:none!important;border:0!important}
@media (max-width:1280px){
  html:root:root:root:root:root:root body>header:has(>.identity){grid-template-columns:auto 1fr!important;row-gap:0!important}
  html:root:root:root:root:root:root body>header:has(>.identity)>.controls{grid-column:2!important;grid-row:1!important;justify-self:end!important}
  html:root:root:root:root:root:root body>header:has(>.identity)>nav#primary-navigation{grid-column:1/-1!important;grid-row:2!important;margin:8px 0 4px!important;-webkit-mask-image:none!important;mask-image:none!important}
}
/* 13. premium-mobile-20261023: /premium/ header (.site-header, no .identity and no Menu button) at <=480px. Desktop untouched. */
@media (max-width:480px){
  html:root:root:root:root:root:root body>header.site-header:not(:has(>.identity)){display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto!important;align-items:center!important;column-gap:10px!important;row-gap:0!important;padding-inline:16px!important;max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important}
  html:root:root:root:root:root:root body>header.site-header:not(:has(>.identity))>nav{display:none!important}
  html:root:root:root:root:root:root body>header.site-header:not(:has(>.identity))>.brand{grid-column:1!important;grid-row:1!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}
  html:root:root:root:root:root:root body>header.site-header:not(:has(>.identity))>.brand>span{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  html:root:root:root:root:root:root body>header.site-header:not(:has(>.identity))>.recover-trigger{grid-column:2!important;grid-row:1!important;justify-self:end!important;min-width:0!important;max-width:62vw!important;min-height:40px!important;padding:0 10px!important;font-size:13px!important;white-space:nowrap!important;overflow:hidden!important}
  html:root:root:root:root:root:root body>header.site-header:not(:has(>.identity))>.recover-trigger>span[aria-hidden]{display:none!important}
  html:root:root:root:root:root:root body>header.site-header:not(:has(>.identity))>.recover-trigger>.recover-long{display:none!important}
}

/* ===== 14. header-frar-20261023 — FR/AR homepage (body.horizon-site) header = EN floating bar (values copied from block 12) ===== */
html:root:root:root:root:root:root body.horizon-site>header.site-head.horizon-site-header{position:sticky!important;top:10px!important;z-index:60!important;box-sizing:border-box!important;width:auto!important;max-width:min(calc(100% - 24px),1560px)!important;margin:10px auto 0!important;padding:8px clamp(14px,1.6vw,24px)!important;min-height:60px!important;display:flex!important;align-items:center!important;border:1px solid var(--sk-hair)!important;border-radius:18px!important;background:#fffdf9!important;box-shadow:0 1px 2px rgba(20,24,22,.05),0 8px 24px rgba(20,24,22,.07)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html:root:root:root:root:root:root[data-theme=dark] body.horizon-site>header.site-head.horizon-site-header{background:#1c1f22!important;border-color:rgba(255,255,255,.09)!important;box-shadow:0 1px 2px rgba(0,0,0,.4),0 10px 28px rgba(0,0,0,.35)!important}
html:root:root:root:root:root:root body.horizon-site>header.site-head.horizon-site-header>.horizon-site-header-inner{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;min-height:0!important;box-sizing:border-box!important}
/* duplicate language row in <main>: the bar already holds EN/FR/AR */
html:root:root:root:root:root:root body.horizon-site:has(>header .lang-switch) main>.search-wrap:first-child:has(>.search-languages){display:none!important}
/* ===== 15. hse-design-fixes-20261023 — AA contrast (teal buttons, consent panel, knowledge-map, tool step UI) + future-needs palette ===== */
html[data-theme=dark]:root:root:root:root:root :is(a,button).btn:not(.ghost):not(.soft):not(.violet):not(.danger):not(.donate):not(.secondary):not(.btn-ghost):not(.btn-secondary):not(.btn-outline){color:#0F1215!important}
html:root:root:root:root:root #amaador-analytics-panel a:not(.btn){color:#00777A!important}
html:root:root:root:root:root .kg-hint{color:var(--sk-muted,#6E6A63)!important}
html[data-theme=dark]:root:root:root:root:root .kg-hint{color:#9AA3AB!important}
html:root:root:root:root:root .kg-systems-open{background:var(--sk-btn-a,#00777A)!important;border-color:var(--sk-btn-a,#00777A)!important;color:var(--sk-on-accent,#FFFFFF)!important}
html[data-theme=light]:root:root:root:root:root .kg-utility{color:#4E5966!important}
html[data-theme=light]:root:root:root:root:root .ax-tabwrap button.on{color:#00777A!important;border-bottom-color:#00777A!important}
html[data-theme=light]:root:root:root:root:root .ax-banner.info{color:#1D1D1F!important;background:#E6F4F3!important;border-color:#9ED9D5!important}
html[data-theme=light]:root:root:root:root:root .ax-banner.crit{color:#7A1F12!important;background:#FDEDEA!important;border-color:#F3B7AC!important}
html[data-theme=light]:root:root:root:root:root :is(.pp-code,.pp-open){color:#3F6A0A!important}
html:root:root:root:root:root body.fn-page .hero{background:radial-gradient(circle at 72% 12%,rgba(0,166,166,.10),transparent 36%),radial-gradient(circle at 18% 84%,rgba(181,230,29,.06),transparent 34%),var(--sk-bg,#FFFCF7)!important}
html[data-theme=dark]:root:root:root:root:root body.fn-page .hero{background:radial-gradient(circle at 72% 12%,rgba(45,212,200,.09),transparent 36%),radial-gradient(circle at 18% 84%,rgba(181,230,29,.05),transparent 34%),#0F1215!important}
html:root:root:root:root:root body.fn-page .gx{background:none!important;-webkit-text-fill-color:currentColor!important;color:var(--sk-ink,#1D1D1F)!important}
html:root:root:root:root:root body.fn-page .fut-hero-art{background:radial-gradient(40% 60% at 82% 18%,rgba(0,166,166,.10),transparent 70%),radial-gradient(36% 54% at 90% 70%,rgba(45,212,200,.08),transparent 70%)!important}
html:root:root:root:root:root:not([data-theme=dark]) #specialist-scope-notice a{color:#00777A!important}
/* the notice keeps its cream (#FFFAF0) card in dark theme too, so dark needs the same deep teal (5.15:1), not the bright accent (1.78:1) */
html[data-theme=dark]:root:root:root:root #specialist-scope-notice a{color:#00777A!important}
html:root:root:root:root:root body.fn-page .hero-leak::before{background:conic-gradient(at 58% 38%,rgba(0,166,166,.16),rgba(45,212,200,.10),rgba(181,230,29,.06),rgba(45,212,200,.12),rgba(0,166,166,.16))!important}
html[data-theme=dark]:root:root:root:root:root div.tabs>button.on,html[data-theme=dark]:root:root:root:root:root div.tabs>button.on *{color:#0F1215!important}
html[data-theme=dark]:root:root:root:root:root #catFilter .chip{color:#C5CCD2!important}
html:not([data-theme=dark]):root:root:root:root:root .tag[style*="7dd3fc"]{color:#00777A!important}
html[data-theme=dark]:root:root:root:root:root #specialist-full-report-scope h2{color:#182536!important}
html:not([data-theme=dark]):root:root:root:root:root body.fn-page .fut-risk,html:not([data-theme=dark]):root:root:root:root:root body.fn-page .fut-risk *{color:#8A4B0F!important}

/* r2: ATEX hazard-zone badges keep their original distinct hues (zone 20 pink, 21 purple, 22 indigo);
   light theme gets darker shades of the same hues so badge text meets AA on the tinted chip. */
html:root:root:root:root:root:not([data-theme=dark]) .zb-20{color:#9D174D!important}
html:root:root:root:root:root:not([data-theme=dark]) .zb-21{color:#6B21A8!important}
html:root:root:root:root:root:not([data-theme=dark]) .zb-22{color:#3730A3!important}
/* r2: ATEX zone 22 badge, dark theme: #818cf8 measured 4.20:1 on its tinted chip; #a5b4fc keeps the indigo hue distinct from zone 21 (purple) and passes AA */
html[data-theme=dark]:root:root:root:root .zb-22{color:#a5b4fc!important}
