/* ==========================================================================
   SeasonalityCharts design system (sc-ui.css), 14 Nov 2026
   One set of colour tokens for light and dark. Every surface, text, field,
   table, heatmap and chart colour on the site reads from these, so the
   theme switch changes everything consistently.
   Dark mode: follows the visitor's OS setting; the header toggle overrides
   it (html[data-theme="light"|"dark"], remembered in localStorage).
   Chart and heatmap colours were checked with the data-viz palette
   validator (CVD separation, contrast) for both modes.
   ========================================================================== */

/* ---------- Fonts (self-hosted, no third-party requests) ---------- */
@font-face{font-family:"Inter";font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/Inter-400-800-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/Inter-400-800-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/IBMPlexMono-400-latin.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/IBMPlexMono-500-latin.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/IBMPlexMono-600-latin.woff2) format("woff2")}

/* ---------- Tokens: light (default) ---------- */
:root{
  color-scheme:light;
  --ui-font:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ui-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  --ui-bg:#f5f7f9;          /* page */
  --ui-surface:#ffffff;     /* cards, tables, charts */
  --ui-surface-2:#f0f3f6;   /* table heads, insets */
  --ui-surface-3:#e7ecf0;   /* hover */
  --ui-border:#e0e5ea;
  --ui-border-strong:#c9d2da;
  --ui-text:#0e1822;        /* 16.9:1 on surface */
  --ui-text-2:#364554;      /* 9.6:1 */
  --ui-muted:#5c6a77;       /* 5.5:1 */
  --ui-accent:#0a7a66;      /* links, buttons: 5.3:1 with white */
  --ui-accent-hover:#08614f;
  --ui-accent-soft:rgba(10,122,102,.10);
  --ui-accent-ink:#ffffff;
  --ui-focus:rgba(10,122,102,.40);
  --ui-pos:#0a7a66;  --ui-neg:#c23a2b;   /* text-safe up/down (>= 4.5:1) */
  --ui-shadow:0 1px 2px rgba(14,24,34,.05),0 8px 24px rgba(14,24,34,.06);
  --ui-radius:12px; --ui-radius-sm:8px;

  /* heatmap: diverging teal <-> red around a neutral grey (validated) */
  --heat-pos:#0a8f76; --heat-neg:#d64535; --heat-mid:#f1f2f1;
  --heat-ink:#0e1822; --heat-ink-strong:#ffffff;

  /* charts: categorical slots (fixed order), context lines, axes */
  --chart-1:#2a78d6; --chart-2:#eb6834; --chart-3:#1baf7a; --chart-4:#eda100;
  --chart-5:#e87ba4; --chart-6:#008300; --chart-7:#6250d6; --chart-8:#e34948;
  --chart-context:#b4bec8; --chart-grid:#e9edf1; --chart-axis:#c9d2da;
  --chart-text:#364554; --chart-muted:#5c6a77; --chart-tooltip:#ffffff;
}

/* ---------- Tokens: dark (OS setting unless the visitor chose light) ---------- */
@media (prefers-color-scheme:dark){
  :root:where(:not([data-theme="light"])){
    color-scheme:dark;
    --ui-bg:#0b1117; --ui-surface:#111a22; --ui-surface-2:#16212b; --ui-surface-3:#1d2a36;
    --ui-border:#223140; --ui-border-strong:#30455a;
    --ui-text:#e7edf3; --ui-text-2:#b8c4cf; --ui-muted:#8d9cab;
    --ui-accent:#35c9a5; --ui-accent-hover:#62dcbd; --ui-accent-soft:rgba(53,201,165,.13); --ui-accent-ink:#06231c;
    --ui-focus:rgba(53,201,165,.45);
    --ui-pos:#3fd0ad; --ui-neg:#ff7a6b;
    --ui-shadow:0 1px 2px rgba(0,0,0,.35),0 10px 30px rgba(0,0,0,.30);
    --heat-pos:#1c9e80; --heat-neg:#e0584a; --heat-mid:#1c2630; --heat-ink:#dfe7ee; --heat-ink-strong:#ffffff;
    --chart-1:#3987e5; --chart-2:#d95926; --chart-3:#199e70; --chart-4:#c98500;
    --chart-5:#d55181; --chart-6:#008300; --chart-7:#9085e9; --chart-8:#e66767;
    --chart-context:#3b4a59; --chart-grid:#1b2833; --chart-axis:#2c3c4b;
    --chart-text:#b8c4cf; --chart-muted:#8d9cab; --chart-tooltip:#16212b;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --ui-bg:#0b1117; --ui-surface:#111a22; --ui-surface-2:#16212b; --ui-surface-3:#1d2a36;
  --ui-border:#223140; --ui-border-strong:#30455a;
  --ui-text:#e7edf3; --ui-text-2:#b8c4cf; --ui-muted:#8d9cab;
  --ui-accent:#35c9a5; --ui-accent-hover:#62dcbd; --ui-accent-soft:rgba(53,201,165,.13); --ui-accent-ink:#06231c;
  --ui-focus:rgba(53,201,165,.45);
  --ui-pos:#3fd0ad; --ui-neg:#ff7a6b;
  --ui-shadow:0 1px 2px rgba(0,0,0,.35),0 10px 30px rgba(0,0,0,.30);
  --heat-pos:#1c9e80; --heat-neg:#e0584a; --heat-mid:#1c2630; --heat-ink:#dfe7ee; --heat-ink-strong:#ffffff;
  --chart-1:#3987e5; --chart-2:#d95926; --chart-3:#199e70; --chart-4:#c98500;
  --chart-5:#d55181; --chart-6:#008300; --chart-7:#9085e9; --chart-8:#e66767;
  --chart-context:#3b4a59; --chart-grid:#1b2833; --chart-axis:#2c3c4b;
  --chart-text:#b8c4cf; --chart-muted:#8d9cab; --chart-tooltip:#16212b;
}

/* ---------- Theme (Blocksy) palette mapped onto the tokens ---------- */
:root,:root[data-theme]{
  --theme-palette-color-1:var(--ui-accent);
  --theme-palette-color-2:var(--ui-accent-hover);
  --theme-palette-color-3:var(--ui-text-2);
  --theme-palette-color-4:var(--ui-text);
  --theme-palette-color-5:var(--ui-border);
  --theme-palette-color-6:var(--ui-surface-2);
  --theme-palette-color-7:var(--ui-bg);
  --theme-palette-color-8:var(--ui-surface);
  --theme-text-color:var(--ui-text-2);
  --theme-headings-color:var(--ui-text);
  --theme-link-initial-color:var(--ui-accent);
  --theme-link-hover-color:var(--ui-accent-hover);
  --theme-border-color:var(--ui-border);
  --theme-font-family:var(--ui-font);
  --theme-button-background-initial-color:var(--ui-accent);
  --theme-button-background-hover-color:var(--ui-accent-hover);
  --theme-button-text-initial-color:var(--ui-accent-ink);
  --theme-button-text-hover-color:var(--ui-accent-ink);
  --theme-form-field-border-initial-color:var(--ui-border-strong);
  --theme-form-field-border-focus-color:var(--ui-accent);

  /* Seasonality page template variables */
  --sc-bg-page:var(--ui-bg); --sc-bg-card:var(--ui-surface); --sc-bg-panel:var(--ui-surface); --sc-bg-inset:var(--ui-surface-2);
  --sc-border-dim:var(--ui-border); --sc-border-mid:var(--ui-border-strong); --sc-border-accent:var(--ui-accent);
  --sc-text-primary:var(--ui-text); --sc-text-secondary:var(--ui-text-2); --sc-text-muted:var(--ui-muted);
  --sc-accent:var(--ui-accent); --sc-accent-soft:var(--ui-accent-soft);
  --sc-positive:var(--ui-pos); --sc-negative:var(--ui-neg);
  --sc-shadow:var(--ui-shadow); --sc-radius:var(--ui-radius); --sc-radius-sm:var(--ui-radius-sm);
  --sc-font-body:var(--ui-font); --sc-font-display:var(--ui-font); --sc-font-mono:var(--ui-mono);
}

/* ---------- Base ---------- */
html{background:var(--ui-bg)}
body{background:var(--ui-bg)!important;color:var(--ui-text-2);font-family:var(--ui-font);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss01"}
h1,h2,h3,h4,h5,h6,.page-title,.entry-title{font-family:var(--ui-font)!important;color:var(--ui-text);letter-spacing:-.018em;font-weight:700}
a{text-underline-offset:2px}
:focus-visible{outline:3px solid var(--ui-focus)!important;outline-offset:2px}
::selection{background:var(--ui-accent-soft);color:var(--ui-text)}
.num,.tabular,td,th{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ---------- Header ---------- */
#header,.ct-header [data-row]{background:color-mix(in srgb,var(--ui-surface) 88%,transparent)!important}
#header{border-bottom:1px solid var(--ui-border);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px)}
.ct-header .site-title,.ct-header .site-title a{font-family:var(--ui-font)!important;font-weight:750!important;letter-spacing:-.02em;color:var(--ui-text)!important}
.ct-header .menu > li > a,.ct-header .ct-menu-link{font-family:var(--ui-font)!important;font-size:14px!important;font-weight:550!important;letter-spacing:0!important;text-transform:none!important;color:var(--ui-text-2)!important}
.ct-header .menu > li > a:hover,.ct-header .current-menu-item > a{color:var(--ui-accent)!important}
.ct-header .ct-icon,.ct-header svg{color:var(--ui-text-2)}

/* theme toggle (inserted by sc-ui.js) */
.sc-theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin-left:8px;padding:0;
  border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);color:var(--ui-text-2);cursor:pointer;
  transition:background .15s,border-color .15s,color .15s}
.sc-theme-toggle:hover{border-color:var(--ui-border-strong);background:var(--ui-surface-2);color:var(--ui-text)}
.sc-theme-toggle svg{width:18px;height:18px}
.sc-theme-toggle .sc-i-sun{display:none}
:root[data-theme="dark"] .sc-theme-toggle .sc-i-sun{display:block}
:root[data-theme="dark"] .sc-theme-toggle .sc-i-moon{display:none}
@media (prefers-color-scheme:dark){:root:where(:not([data-theme="light"])) .sc-theme-toggle .sc-i-sun{display:block}:root:where(:not([data-theme="light"])) .sc-theme-toggle .sc-i-moon{display:none}}
.sc-theme-toggle--floating{position:fixed;right:16px;bottom:16px;z-index:999;box-shadow:var(--ui-shadow)}

/* ---------- Ordinary pages and posts ---------- */
body.page:not(.home) .entry-content > *:not(.alignfull):not(.google-auto-placed),
body.single-post .entry-content > *:not(.alignfull):not(.google-auto-placed),
body.archive .entries,body.blog .entries{max-width:min(720px,calc(100vw - 40px))!important;margin-left:auto!important;margin-right:auto!important}
body.page:not(.home) .hero-section .entry-header,body.single-post .hero-section .entry-header{max-width:min(720px,calc(100vw - 40px));margin-left:auto;margin-right:auto}
body.page:not(.home) .entry-content,body.single-post .entry-content{font-size:17px;line-height:1.72;color:var(--ui-text-2)}
body.page:not(.home) .entry-content h2,body.single-post .entry-content h2{font-size:1.5rem;line-height:1.3;margin:2.2em 0 .6em}
body.page:not(.home) .entry-content h3,body.single-post .entry-content h3{font-size:1.2rem;line-height:1.35;margin:1.8em 0 .5em}
body.page:not(.home) .entry-content li,body.single-post .entry-content li{margin-bottom:.4em}
.entry-content a:not(.wp-element-button):not(.sc-btn){color:var(--ui-accent);text-decoration:underline;text-decoration-thickness:1px}
.entry-content a:not(.wp-element-button):not(.sc-btn):hover{color:var(--ui-accent-hover);text-decoration-thickness:2px}
.entry-content blockquote{border-left:3px solid var(--ui-accent);background:var(--ui-surface-2);padding:14px 18px;border-radius:0 var(--ui-radius-sm) var(--ui-radius-sm) 0;color:var(--ui-text-2)}
.entry-content figure.wp-block-table table,.entry-content table:not(.wpDataTable){border-collapse:collapse;width:100%;font-size:15px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);overflow:hidden}
.entry-content figure.wp-block-table th,.entry-content table:not(.wpDataTable) th{background:var(--ui-surface-2);color:var(--ui-text);font-weight:650;text-align:left;padding:10px 12px;border-bottom:1px solid var(--ui-border)}
.entry-content figure.wp-block-table td,.entry-content table:not(.wpDataTable) td{padding:9px 12px;border-bottom:1px solid var(--ui-border);color:var(--ui-text-2)}
.entry-card,.ct-related-posts article,.entries > article{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow)}

/* reusable callouts used in articles and the template */
.sc-note{background:var(--ui-accent-soft);border:1px solid color-mix(in srgb,var(--ui-accent) 30%,transparent);border-radius:var(--ui-radius-sm);padding:14px 18px;color:var(--ui-text-2)}
.sc-note--risk{background:color-mix(in srgb,var(--ui-neg) 9%,var(--ui-surface));border-color:color-mix(in srgb,var(--ui-neg) 30%,transparent)}
.sc-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 20px;border-radius:10px;background:var(--ui-accent);color:var(--ui-accent-ink)!important;font-weight:650;text-decoration:none!important;transition:background .15s}
.sc-btn:hover{background:var(--ui-accent-hover)}
.sc-btn--ghost{background:transparent;color:var(--ui-text)!important;border:1px solid var(--ui-border-strong)}
.sc-btn--ghost:hover{background:var(--ui-surface-2)}

/* ---------- Forms (global + WPForms) ---------- */
input[type=text],input[type=email],input[type=search],input[type=url],input[type=number],select,textarea{font-family:var(--ui-font);color:var(--ui-text);background:var(--ui-surface);border-color:var(--ui-border-strong)}
div.wpforms-container.wpforms-container-full:not(:empty){box-sizing:border-box!important;padding:28px 28px 22px!important;border:1px solid var(--ui-border)!important;border-radius:14px!important;background:var(--ui-surface)!important;box-shadow:var(--ui-shadow)!important;margin-top:28px!important;margin-bottom:40px!important}
.wpforms-container fieldset{border:0!important;padding:0!important;margin:0!important;min-width:0!important}
.wpforms-container .wpforms-field{padding:0 0 18px!important}
.wpforms-container .wpforms-field-medium,.wpforms-container .wpforms-field-row.wpforms-field-medium{max-width:100%!important;width:100%!important}
.wpforms-container .wpforms-field-label{font-size:14px!important;font-weight:600!important;color:var(--ui-text)!important;margin-bottom:6px!important}
.wpforms-container .wpforms-field-sublabel{font-size:12px!important;color:var(--ui-muted)!important;margin-top:4px!important}
.wpforms-container .wpforms-required-label{color:var(--ui-neg)!important}
.wpforms-container input[type=text],.wpforms-container input[type=email],.wpforms-container textarea{box-sizing:border-box;width:100%!important;max-width:100%!important;height:46px;padding:10px 14px!important;font-size:16px!important;
  color:var(--ui-text)!important;background:var(--ui-surface-2)!important;border:1px solid var(--ui-border-strong)!important;border-radius:8px!important;box-shadow:none!important;transition:border-color .15s,box-shadow .15s,background .15s}
.wpforms-container textarea{height:160px!important;min-height:140px;resize:vertical;line-height:1.55}
.wpforms-container input:hover,.wpforms-container textarea:hover{border-color:var(--ui-muted)!important}
.wpforms-container input:focus,.wpforms-container textarea:focus{outline:none!important;background:var(--ui-surface)!important;border-color:var(--ui-accent)!important;box-shadow:0 0 0 3px var(--ui-focus)!important}
.wpforms-container .wpforms-field-row{display:flex!important;gap:14px;margin:0!important;padding:0!important}
.wpforms-container .wpforms-field-row:before,.wpforms-container .wpforms-field-row:after{display:none!important}
.wpforms-container .wpforms-field-row-block{flex:1 1 0!important;margin:0!important;padding:0!important;width:auto!important;max-width:none!important;float:none!important}
.wpforms-container .wpforms-field-row-block input{width:100%!important}
.wpforms-container .wpforms-recaptcha-container{padding:0!important;margin:2px 0 6px!important}
.wpforms-container .wpforms-submit-container{padding-top:6px!important}
.wpforms-container button.wpforms-submit{height:46px!important;padding:0 26px!important;font-size:15px!important;font-weight:650!important;color:var(--ui-accent-ink)!important;background:var(--ui-accent)!important;border:0!important;border-radius:8px!important;cursor:pointer;transition:background .15s}
.wpforms-container button.wpforms-submit:hover{background:var(--ui-accent-hover)!important}
.wpforms-container .wpforms-error{font-size:13px!important;color:var(--ui-neg)!important}
.wpforms-container input.wpforms-error,.wpforms-container textarea.wpforms-error{border-color:var(--ui-neg)!important}
.wpforms-confirmation-container-full{border-radius:12px!important;background:var(--ui-accent-soft)!important;border:1px solid var(--ui-accent)!important;color:var(--ui-text)!important;padding:18px 22px!important}
@media (max-width:600px){div.wpforms-container.wpforms-container-full:not(:empty){padding:20px 16px!important;border-radius:12px!important}
  .wpforms-container .wpforms-field-row{flex-direction:column!important;gap:12px}.wpforms-container .wpforms-field-row-block{width:100%!important}
  body.page:not(.home) .entry-content,body.single-post .entry-content{font-size:16px}}

/* ---------- wpDataTables (replaces the grey graphite skin) ---------- */
.wpDataTablesWrapper,.wpdt-c{font-family:var(--ui-font)!important;color:var(--ui-text-2)!important}
.wpDataTablesWrapper table.wpDataTable{background:var(--ui-surface)!important;border:1px solid var(--ui-border)!important;border-radius:10px;border-collapse:separate!important;border-spacing:0!important;overflow:hidden}
.wpDataTablesWrapper table.wpDataTable thead th,.wpDataTablesWrapper table.wpDataTable thead th.sorting,
.wpDataTablesWrapper table.wpDataTable thead th.sorting_asc,.wpDataTablesWrapper table.wpDataTable thead th.sorting_desc{
  background:var(--ui-surface-2)!important;color:var(--ui-text)!important;font-family:var(--ui-font)!important;font-size:12px!important;font-weight:650!important;
  letter-spacing:.02em!important;text-transform:uppercase;border:0!important;border-bottom:1px solid var(--ui-border-strong)!important;padding:10px 12px!important}
.wpDataTablesWrapper table.wpDataTable tbody td{background:var(--ui-surface)!important;color:var(--ui-text-2)!important;border:0!important;border-bottom:1px solid var(--ui-border)!important;
  font-family:var(--ui-mono)!important;font-size:13px!important;padding:8px 12px!important}
.wpDataTablesWrapper table.wpDataTable tbody tr:nth-child(even) td:not(.sc-heat-cell){background:color-mix(in srgb,var(--ui-surface-2) 55%,var(--ui-surface))!important}
.wpDataTablesWrapper table.wpDataTable tbody tr:hover td:not(.sc-heat-cell){background:var(--ui-surface-3)!important}
.wpDataTablesWrapper table.wpDataTable tbody td:first-child{font-weight:600;color:var(--ui-text)!important}
.wpDataTablesWrapper table.wpDataTable tfoot td,.wpDataTablesWrapper table.wpDataTable tfoot th{background:var(--ui-surface)!important;border:0!important;border-top:1px solid var(--ui-border)!important}
.wpDataTablesWrapper .dataTables_paginate .paginate_button{border-radius:8px!important;color:var(--ui-text-2)!important;border:1px solid transparent!important;background:transparent!important;min-width:34px}
.wpDataTablesWrapper .dataTables_paginate .paginate_button:hover{background:var(--ui-surface-2)!important;border-color:var(--ui-border)!important;color:var(--ui-text)!important}
.wpDataTablesWrapper .dataTables_paginate .paginate_button.current{background:var(--ui-accent)!important;color:var(--ui-accent-ink)!important;border-color:var(--ui-accent)!important}
.wpDataTablesWrapper .dataTables_info{color:var(--ui-muted)!important;font-size:12px!important}
.wpDataTablesWrapper .dataTables_length label,.wpDataTablesWrapper .dataTables_filter label{color:var(--ui-text-2)!important;font-size:13px!important}
.wpDataTablesWrapper .dataTables_filter input,.wpDataTablesWrapper .dataTables_length select,.wpDataTablesWrapper .bootstrap-select .btn,
.wpDataTablesWrapper tfoot input,.wpDataTablesWrapper .wpdt-filter input{background:var(--ui-surface)!important;color:var(--ui-text)!important;border:1px solid var(--ui-border-strong)!important;border-radius:8px!important;box-shadow:none!important}
.wpDataTablesWrapper .dropdown-menu,.wpdt-c .dropdown-menu{background:var(--ui-surface)!important;border:1px solid var(--ui-border)!important}
.wpDataTablesWrapper .dropdown-menu a,.wpdt-c .dropdown-menu a{color:var(--ui-text-2)!important}
.wpDataTablesWrapper h2,.wpdt-c h2.wpdt-table-title,.wpDataTablesWrapper .wpdt-c h2{font-size:1.15rem!important;color:var(--ui-text)!important}
.wpDataTablesWrapper .wpdt-c .wpdt-table-description,.wpDataTablesWrapper .wpdt-table-description{color:var(--ui-muted)!important}
.sc-heat-cell{font-weight:600}

/* ---------- Charts ---------- */
.sc-chart-wrap,.wpdt-c .wpDataTablesChartWrapper{background:var(--ui-surface)!important;border:1px solid var(--ui-border)!important;border-radius:var(--ui-radius)!important}
.highcharts-background{fill:transparent}
.highcharts-container{font-family:var(--ui-font)!important}

/* ---------- Ads, share bar, footer ---------- */
.google-auto-placed{margin:24px auto!important;clear:both}
.a2a_floating_style.a2a_vertical_style{display:none!important}  /* vertical share bar covered table columns; the inline bar stays */
.ct-footer{background:var(--ui-surface)!important;border-top:1px solid var(--ui-border);color:var(--ui-muted)}
.ct-footer [data-row]{background:transparent!important}
.sc-risk-notice{max-width:1200px;margin:40px auto 0;padding:18px 20px;border-top:1px solid var(--ui-border);font-size:13px;line-height:1.6;color:var(--ui-muted)}
.sc-risk-notice p{margin:0 0 6px}.sc-risk-notice strong{color:var(--ui-text)}
.sc-risk-notice a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.sc-risk-notice__links{font-size:12px}
@media (max-width:600px){.sc-risk-notice{padding:14px 16px;font-size:12.5px}}

/* ---------- Seasonality page template: its colour variables are defined on .sc-data-group,
   so they are re-pointed at the tokens here (otherwise dark mode stops at the template). ---------- */
html .sc-data-group,html .sm-stock-wrap{
  --sc-bg-page:var(--ui-bg); --sc-bg-card:var(--ui-surface); --sc-bg-panel:var(--ui-surface); --sc-bg-inset:var(--ui-surface-2);
  --sc-border-dim:var(--ui-border); --sc-border-mid:var(--ui-border-strong); --sc-border-accent:var(--ui-accent);
  --sc-text-primary:var(--ui-text); --sc-text-secondary:var(--ui-text-2); --sc-text-muted:var(--ui-muted);
  --sc-accent:var(--ui-accent); --sc-accent-soft:var(--ui-accent-soft); --sc-positive:var(--ui-pos); --sc-negative:var(--ui-neg);
  --sc-shadow:var(--ui-shadow); --sc-font-body:var(--ui-font); --sc-font-display:var(--ui-font); --sc-font-mono:var(--ui-mono);
  animation:none!important;
}
.sc-ticker-dot{animation:sc-pulse 2.6s ease-in-out infinite}
.sc-section-bar{background:var(--ui-surface-2)!important;border-bottom:1px solid var(--ui-border)!important}
.sc-data-section,.sc-method-description,.sc-today-bar,.sc-faq details{background:var(--ui-surface)!important;border-color:var(--ui-border)!important}
.sc-chart-btn{background:var(--ui-surface)!important;color:var(--ui-text-2)!important;border-color:var(--ui-border-strong)!important}
.sc-chart-btn.is-active{background:var(--ui-text)!important;border-color:var(--ui-text)!important;color:var(--ui-bg)!important}
.sc-hero-note{margin:10px 0 18px;padding:10px 14px;border-radius:10px;background:var(--ui-surface-2);border:1px solid var(--ui-border);font-size:13.5px;line-height:1.55;color:var(--ui-text-2)}
.sc-hero-note strong{color:var(--ui-text)}
.sc-hero-note a{color:var(--ui-accent);text-decoration:underline;text-underline-offset:2px}
.wpdt-c .wpdt-table-title,.wpdt-c h2,.wpDataTablesWrapper ~ h2{color:var(--ui-text)!important}
.wpdt-c .wpdt-table-description,.wpdt-c p{color:var(--ui-text-2)!important}

/* ---------- Insight statements and comparison charts ---------- */
.sc-insight{margin:18px 0 4px;padding:16px 18px;border:1px solid var(--ui-border);border-left:3px solid var(--ui-accent);border-radius:10px;background:var(--ui-surface);color:var(--ui-text-2);font-size:15px;line-height:1.65}
.sc-insight p{margin:0 0 10px}.sc-insight p:last-child{margin-bottom:0}
.sc-insight__title{font-size:12px!important;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ui-accent)!important}
.sc-insight__title span{color:var(--ui-muted);font-weight:500;letter-spacing:0;text-transform:none}
.sc-insight strong{color:var(--ui-text)}
.sc-insight .sc-up{color:var(--ui-pos)}.sc-insight .sc-down{color:var(--ui-neg)}
.sc-insight__note{font-size:12.5px!important;color:var(--ui-muted)!important;border-top:1px solid var(--ui-border);padding-top:10px;margin-top:12px!important}
.sc-xchart{min-height:380px}
.sc-numbers{margin-top:12px}
.sc-numbers summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--ui-accent)}
.sc-numbers table{width:100%;margin-top:10px;border-collapse:collapse;font-size:13px;font-family:var(--ui-mono)}
.sc-numbers caption{caption-side:top;text-align:left;font-family:var(--ui-font);font-size:12px;color:var(--ui-muted);padding-bottom:6px}
.sc-numbers th,.sc-numbers td{padding:6px 10px;border-bottom:1px solid var(--ui-border);text-align:right}
.sc-numbers th:first-child{text-align:left;color:var(--ui-text)}
.sc-numbers thead th{background:var(--ui-surface-2);color:var(--ui-text);font-family:var(--ui-font);font-weight:650}
.sc-numbers td.sc-gap-pos{background:color-mix(in srgb,var(--heat-pos) 16%,var(--ui-surface));color:var(--ui-text)}
.sc-numbers td.sc-gap-neg{background:color-mix(in srgb,var(--heat-neg) 16%,var(--ui-surface));color:var(--ui-text)}

/* footer: copyright and risk notice centred (owner, 14 Nov 2026) */
.sc-risk-notice,.sc-risk-notice p{text-align:center}
.sc-risk-notice{max-width:860px}
.ct-footer [data-row],.ct-footer [data-column],.ct-footer .ct-footer-copyright{justify-content:center!important;text-align:center!important}
.ct-footer .ct-footer-copyright{width:100%;font-size:13px;color:var(--ui-muted)}

/* ---------- Brand lockup in the header: mark + "Seasonality" + teal "Charts" ---------- */
.ct-header .site-branding{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important}
.ct-header .site-logo-container img{width:36px!important;height:36px!important;max-height:none!important;border-radius:9px}
.ct-header .site-title{font-size:20px!important;line-height:1!important;margin:0!important}
.ct-header .site-title a{color:var(--ui-text)!important;text-decoration:none}
.ct-header .site-title .sc-wm-accent{color:var(--ui-accent)}
@media (max-width:600px){.ct-header .site-logo-container img{width:32px!important;height:32px!important}.ct-header .site-title{font-size:18px!important}}

/* ==========================================================================
   Homepage (14 Nov 2026): hero, outlook cards, screener, how-to, articles
   ========================================================================== */
body.home .entry-content > *{max-width:min(1200px,calc(100vw - 32px));margin-left:auto!important;margin-right:auto!important}
body.home .hero-section{display:none}
.sc-sec-head{max-width:760px;margin:0 0 20px}
.sc-sec-head h2{font-size:clamp(22px,2.4vw,28px);margin:0 0 8px;letter-spacing:-.02em}
.sc-sec-head p{margin:0;color:var(--ui-muted);font-size:15px;line-height:1.6}
.sc-up{color:var(--ui-pos)}.sc-down{color:var(--ui-neg)}

/* hero */
.sc-hero{position:relative;margin:28px auto 44px;padding:clamp(28px,5vw,64px) clamp(20px,4vw,56px);border:1px solid var(--ui-border);border-radius:20px;overflow:hidden;
  background:radial-gradient(1200px 400px at 85% -10%,var(--ui-accent-soft),transparent 60%),linear-gradient(180deg,var(--ui-surface),var(--ui-bg));box-shadow:var(--ui-shadow)}
.sc-hero::after{content:"";position:absolute;right:-40px;bottom:-30px;width:520px;height:260px;opacity:.55;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 520 260'%3E%3Cpath d='M10 170c50 0 70 60 130 60 80 0 90-130 170-130 50 0 60 34 100 34 44 0 70-95 100-130' fill='none' stroke='%2335c9a5' stroke-width='5' stroke-linecap='round' opacity='.55'/%3E%3C/svg%3E") no-repeat right bottom/contain}
.sc-hero__eyebrow{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-accent)}
.sc-hero__title{margin:0;font-size:clamp(30px,4.6vw,54px)!important;line-height:1.06;letter-spacing:-.03em!important;max-width:820px;font-weight:800!important}
.sc-hero__title span{color:var(--ui-accent)}
.sc-hero__lead{max-width:720px;margin:18px 0 26px;font-size:clamp(16px,1.5vw,18px);line-height:1.6;color:var(--ui-text-2)}
.sc-hero__search{position:relative;max-width:620px;margin:0 0 18px}
.sc-hero__search svg{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--ui-muted)}
.sc-hero__search input{width:100%;height:56px;padding:0 18px 0 48px;font-size:17px;border-radius:14px;border:1px solid var(--ui-border-strong);background:var(--ui-surface);color:var(--ui-text);box-shadow:var(--ui-shadow);box-sizing:border-box}
.sc-hero__search input:focus{outline:none;border-color:var(--ui-accent);box-shadow:0 0 0 4px var(--ui-focus)}
.sc-hero__stats{display:flex;flex-wrap:wrap;gap:8px 22px;margin:0 0 22px;padding:0;list-style:none;font-size:14px;color:var(--ui-muted)}
.sc-hero__stats strong{color:var(--ui-text);font-weight:700}
.sc-hero__cta{display:flex;flex-wrap:wrap;gap:10px;margin:0}

/* outlook cards */
.sc-outlook{margin:0 auto 52px}
.sc-outlook__cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.sc-outlook__h{font-size:14px!important;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin:0 0 10px}
.sc-ocards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sc-ocard{display:flex;flex-direction:column;gap:2px;padding:14px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);text-decoration:none!important;color:var(--ui-text-2);transition:border-color .15s,transform .15s,box-shadow .15s}
.sc-ocard:hover{border-color:var(--ui-accent);transform:translateY(-1px);box-shadow:var(--ui-shadow)}
.sc-ocard__sym{font-family:var(--ui-mono);font-weight:600;font-size:15px;color:var(--ui-text)}
.sc-ocard__name{font-size:12px;color:var(--ui-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-ocard__val{font-family:var(--ui-mono);font-size:20px;font-weight:600;margin-top:6px}
.sc-ocard__meta{font-size:12px;color:var(--ui-muted)}
.sc-ocard .sc-spark{margin-top:8px;width:100%;height:30px}

/* sparklines */
.sc-spark line{stroke:var(--ui-border-strong);stroke-width:1;stroke-dasharray:2 3}
.sc-spark polyline{fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sc-spark.is-up polyline{stroke:var(--ui-pos)}.sc-spark.is-down polyline{stroke:var(--ui-neg)}

/* screener */
.sc-screener{margin:0 auto 56px}
.sc-screener__tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 14px}
.sc-screener__search input{height:42px;width:280px;max-width:100%;padding:0 14px;border-radius:10px;border:1px solid var(--ui-border-strong);background:var(--ui-surface);color:var(--ui-text);box-sizing:border-box}
.sc-screener__search input:focus{outline:none;border-color:var(--ui-accent);box-shadow:0 0 0 3px var(--ui-focus)}
.sc-chips{display:flex;flex-wrap:wrap;gap:6px}
.sc-chip{height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text-2);font-size:13px;font-weight:550;cursor:pointer}
.sc-chip span{color:var(--ui-muted);font-weight:500;margin-left:2px}
.sc-chip:hover{border-color:var(--ui-border-strong)}
.sc-chip.is-active{background:var(--ui-text);border-color:var(--ui-text);color:var(--ui-bg)}
.sc-chip.is-active span{color:inherit;opacity:.7}
.sc-screener__wrap{max-height:680px;overflow:auto;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);box-shadow:var(--ui-shadow)}
.sc-scr{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}
.sc-scr thead th{position:sticky;top:0;z-index:2;background:var(--ui-surface-2);border-bottom:1px solid var(--ui-border-strong);padding:0;text-align:right;font-size:12px;font-weight:650;color:var(--ui-text);white-space:nowrap}
.sc-scr thead th:first-child,.sc-scr thead th:nth-child(2){text-align:left}
.sc-scr thead th button{all:unset;cursor:pointer;display:block;padding:11px 12px;width:100%;box-sizing:border-box}
.sc-scr thead th:last-child{padding:11px 12px}
.sc-scr thead th[aria-sort] button::after{content:" ▾";color:var(--ui-accent)}
.sc-scr thead th[aria-sort="ascending"] button::after{content:" ▴"}
.sc-scr thead th button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:-2px}
.sc-scr tbody th,.sc-scr tbody td{padding:9px 12px;border-bottom:1px solid var(--ui-border);text-align:right;font-family:var(--ui-mono);font-size:13px;color:var(--ui-text-2);white-space:nowrap;vertical-align:middle}
.sc-scr tbody th{text-align:left;font-family:var(--ui-font)}
.sc-scr tbody tr:hover th,.sc-scr tbody tr:hover td{background:var(--ui-surface-2)}
.sc-scr tbody th a{display:flex;flex-direction:column;text-decoration:none!important}
.sc-scr__sym{font-family:var(--ui-mono);font-weight:600;color:var(--ui-text);font-size:13.5px}
.sc-scr__name{font-size:12px;color:var(--ui-muted);max-width:220px;overflow:hidden;text-overflow:ellipsis}
.sc-scr__cat{text-align:left!important;font-family:var(--ui-font)!important;font-size:12.5px!important;color:var(--ui-muted)!important}
.sc-scr td small{display:block;font-size:11px;color:var(--ui-muted);font-family:var(--ui-font)}
.sc-scr td.sc-up{color:var(--ui-pos)}.sc-scr td.sc-down{color:var(--ui-neg)}
.sc-scr__spark{padding-top:4px!important;padding-bottom:4px!important}
.sc-screener__empty{padding:24px;text-align:center;color:var(--ui-muted)}

/* how-to + articles */
.sc-how{margin:0 auto 52px}
.sc-how__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sc-how__grid article{padding:22px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface)}
.sc-how__n{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:var(--ui-accent-soft);color:var(--ui-accent);font-weight:700;font-family:var(--ui-mono)}
.sc-how__grid h3{font-size:17px!important;margin:12px 0 6px}
.sc-how__grid p{margin:0;font-size:14.5px;line-height:1.6;color:var(--ui-text-2)}
.sc-how__more{margin:16px 0 0;font-size:14.5px;color:var(--ui-muted)}
.sc-posts{margin:0 auto 52px}
.sc-posts__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sc-post a{display:block;height:100%;padding:18px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);text-decoration:none!important;color:var(--ui-text-2);transition:border-color .15s}
.sc-post a:hover{border-color:var(--ui-accent)}
.sc-post img{width:100%;height:auto;border-radius:10px;margin-bottom:12px;aspect-ratio:16/9;object-fit:cover}
.sc-post h3{font-size:17px!important;margin:0 0 6px;color:var(--ui-text)}
.sc-post p{margin:0 0 10px;font-size:14px;line-height:1.55}
.sc-post__more{font-size:13px;font-weight:650;color:var(--ui-accent)}
.sc-home-note{max-width:820px;margin:0 auto 40px;text-align:center;font-size:13px;color:var(--ui-muted)}

@media (max-width:900px){
  .sc-outlook__cols{grid-template-columns:1fr}.sc-how__grid,.sc-posts__grid{grid-template-columns:1fr}
  .sc-ocards{grid-template-columns:repeat(2,1fr)}
  .sc-hero::after{width:300px;height:150px;opacity:.35}
}
@media (max-width:600px){
  .sc-scr thead th:nth-child(2),.sc-scr tbody td:nth-child(2),.sc-scr thead th:nth-child(6),.sc-scr tbody td:nth-child(6),.sc-scr thead th:nth-child(7),.sc-scr tbody td:nth-child(7){display:none}
  .sc-screener__wrap{max-height:560px}.sc-hero{margin-top:16px;border-radius:16px}
}
.sc-post p{color:var(--ui-text-2)!important}
/* cards must be able to shrink below their text width (long fund names) */
.sc-ocards{grid-template-columns:repeat(3,minmax(0,1fr))}
.sc-ocard{min-width:0}
.sc-ocard__meta{white-space:normal}
@media (max-width:900px){.sc-ocards{grid-template-columns:repeat(2,minmax(0,1fr))}}
