.elementor-kit-6{--e-global-color-primary:#0B1F1B;--e-global-color-secondary:#4BF2B0;--e-global-color-text:#0B1F1B;--e-global-color-accent:#0F6B4F;--e-global-color-ag_deep:#071512;--e-global-color-ag_raised:#12302A;--e-global-color-ag_paper:#F5F7F5;--e-global-color-ag_paper_article:#ECF3EE;--e-global-color-ag_paper_warm:#F4F3EE;--e-global-color-ag_paper_callout:#E1EBE5;--e-global-color-ag_paper_input:#F7FAF8;--e-global-color-ag_ink2:#45605A;--e-global-color-ag_ink3:#7A8F88;--e-global-color-ag_text_dark:#F1F6F3;--e-global-color-ag_text_dark2:#9DB5AC;--e-global-color-ag_mint2:#3EE3A4;--e-global-color-ag_forest2:#143A30;--e-global-color-ag_up:#3B7D0C;--e-global-color-ag_down:#C2311F;--e-global-color-ag_up_dark:#9BE15D;--e-global-color-ag_down_dark:#FF7A5C;--e-global-color-ag_sec_policy:#7A2E3B;--e-global-color-ag_sec_business:#2C5E73;--e-global-color-ag_sec_markets:#7A5A1E;--e-global-color-ag_sec_food:#9A4A2B;--e-global-color-ag_sec_env:#3F6B3A;--e-global-color-ag_sec_farming:#6B6A2A;--e-global-color-ag_sec_machinery:#5A4E6E;--e-global-color-ag_hair:#0B1F1B24;--e-global-color-ag_hair_dark:#F1F6F31F;--e-global-typography-primary-font-family:"Archivo";--e-global-typography-primary-font-size:44px;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.02em;--e-global-typography-primary-letter-spacing:-0.032em;--e-global-typography-secondary-font-family:"Newsreader";--e-global-typography-secondary-font-size:22px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:1.4em;--e-global-typography-text-font-family:"Newsreader";--e-global-typography-text-font-size:19px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Archivo";--e-global-typography-accent-font-size:14px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-line-height:1.4em;--e-global-typography-ag_display-font-family:"Archivo";--e-global-typography-ag_display-font-size:58px;--e-global-typography-ag_display-font-weight:700;--e-global-typography-ag_display-line-height:0.98em;--e-global-typography-ag_display-letter-spacing:-0.036em;--e-global-typography-ag_h2-font-family:"Archivo";--e-global-typography-ag_h2-font-size:28px;--e-global-typography-ag_h2-font-weight:700;--e-global-typography-ag_h2-line-height:1.08em;--e-global-typography-ag_h2-letter-spacing:-0.028em;--e-global-typography-ag_h3-font-family:"Archivo";--e-global-typography-ag_h3-font-size:18px;--e-global-typography-ag_h3-font-weight:600;--e-global-typography-ag_h3-line-height:1.2em;--e-global-typography-ag_h3-letter-spacing:-0.02em;--e-global-typography-ag_list-font-family:"Archivo";--e-global-typography-ag_list-font-size:15px;--e-global-typography-ag_list-font-weight:600;--e-global-typography-ag_list-line-height:1.3em;--e-global-typography-ag_list-letter-spacing:-0.015em;--e-global-typography-ag_kicker-font-family:"Archivo";--e-global-typography-ag_kicker-font-size:11px;--e-global-typography-ag_kicker-font-weight:600;--e-global-typography-ag_kicker-text-transform:uppercase;--e-global-typography-ag_kicker-line-height:1em;--e-global-typography-ag_kicker-letter-spacing:0.08em;--e-global-typography-ag_nav-font-family:"Archivo";--e-global-typography-ag_nav-font-size:12px;--e-global-typography-ag_nav-font-weight:600;--e-global-typography-ag_nav-text-transform:uppercase;--e-global-typography-ag_nav-line-height:1em;--e-global-typography-ag_nav-letter-spacing:0.06em;--e-global-typography-ag_button-font-family:"Archivo";--e-global-typography-ag_button-font-size:13px;--e-global-typography-ag_button-font-weight:700;--e-global-typography-ag_button-line-height:1em;--e-global-typography-ag_wordmark-font-family:"Archivo";--e-global-typography-ag_wordmark-font-size:26px;--e-global-typography-ag_wordmark-font-weight:800;--e-global-typography-ag_wordmark-text-transform:uppercase;--e-global-typography-ag_wordmark-line-height:1em;--e-global-typography-ag_wordmark-letter-spacing:-0.05em;--e-global-typography-ag_data-font-family:"IBM Plex Mono";--e-global-typography-ag_data-font-size:13px;--e-global-typography-ag_data-font-weight:600;--e-global-typography-ag_data-line-height:1.3em;--e-global-typography-ag_mono_label-font-family:"IBM Plex Mono";--e-global-typography-ag_mono_label-font-size:10.5px;--e-global-typography-ag_mono_label-font-weight:500;--e-global-typography-ag_mono_label-text-transform:uppercase;--e-global-typography-ag_mono_label-line-height:1em;--e-global-typography-ag_mono_label-letter-spacing:0.06em;--e-global-typography-ag_caption-font-family:"IBM Plex Mono";--e-global-typography-ag_caption-font-size:11.5px;--e-global-typography-ag_caption-font-weight:500;--e-global-typography-ag_caption-line-height:1.5em;--e-global-typography-ag_pullquote-font-family:"Archivo";--e-global-typography-ag_pullquote-font-size:30px;--e-global-typography-ag_pullquote-font-weight:700;--e-global-typography-ag_pullquote-line-height:1.12em;--e-global-typography-ag_pullquote-letter-spacing:-0.03em;--e-global-typography-ag_keystat-font-family:"IBM Plex Mono";--e-global-typography-ag_keystat-font-size:64px;--e-global-typography-ag_keystat-font-weight:600;--e-global-typography-ag_keystat-line-height:1em;--e-global-typography-ag_keystat-letter-spacing:-0.03em;color:#0B1F1B;font-family:"Newsreader", Sans-serif;font-size:19px;font-weight:400;line-height:1.6em;background-color:#F5F7F5;}.elementor-kit-6 p{margin-block-end:16px;}.elementor-kit-6 a{color:#0B1F1B;}.elementor-kit-6 a:hover{color:#0F6B4F;}.elementor-kit-6 h1{color:#0B1F1B;font-family:"Archivo", Sans-serif;font-size:44px;font-weight:700;line-height:1.02em;letter-spacing:-0.032em;}.elementor-kit-6 h2{color:#0B1F1B;font-family:"Archivo", Sans-serif;font-size:28px;font-weight:700;line-height:1.08em;letter-spacing:-0.028em;}.elementor-kit-6 h3{color:#0B1F1B;font-family:"Archivo", Sans-serif;font-size:18px;font-weight:600;line-height:1.2em;letter-spacing:-0.02em;}.elementor-kit-6 h4{color:#0B1F1B;font-family:"Archivo", Sans-serif;font-size:15px;font-weight:600;line-height:1.3em;letter-spacing:-0.015em;}.elementor-kit-6 h5{color:#0B1F1B;font-family:"Archivo", Sans-serif;font-size:13px;font-weight:600;line-height:1.3em;}.elementor-kit-6 h6{color:#0B1F1B;font-family:"Archivo", Sans-serif;font-size:11px;font-weight:600;text-transform:uppercase;line-height:1.2em;letter-spacing:0.08em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-family:"Archivo", Sans-serif;font-size:13px;font-weight:700;line-height:1em;color:#0B1F1B;background-color:#4BF2B0;border-radius:2px 2px 2px 2px;padding:10px 14px 10px 14px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{color:#0B1F1B;background-color:#3EE3A4;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-primary-font-size:26px;--e-global-typography-secondary-font-size:16px;--e-global-typography-text-font-size:17px;--e-global-typography-ag_display-font-size:36px;--e-global-typography-ag_h2-font-size:22px;--e-global-typography-ag_h3-font-size:17px;font-size:17px;}.elementor-kit-6 h1{font-size:26px;}.elementor-kit-6 h2{font-size:22px;}.elementor-kit-6 h3{font-size:17px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* Agrinews design tokens — v1.0
   Load first. Everything else (components.css, Elementor globals, theme.json) maps to these names. */

:root {
  /* Surfaces */
  --ag-forest: #0B1F1B;        /* hero shell, ink on paper */
  --ag-deep: #071512;          /* ticker band, The Close, icon tile */
  --ag-raised: #12302A;        /* panels on forest */
  --ag-paper: #F5F7F5;         /* homepage body */
  --ag-paper-article: #ECF3EE; /* article + edition paper (FT-style tint, green side) */
  --ag-paper-warm: #F4F3EE;    /* editions module, callouts on homepage */
  --ag-paper-callout: #E1EBE5; /* callouts on article paper */
  --ag-paper-input: #F7FAF8;   /* inputs, edition cards */

  /* Ink */
  --ag-ink: #0B1F1B;           /* 15.9:1 on paper */
  --ag-ink-2: #45605A;         /* 7.2:1 — standfirsts, secondary */
  --ag-ink-3: #7A8F88;         /* 3.6:1 — timestamps ≥ 11px bold only */
  --ag-text-on-dark: #F1F6F3;  /* 17.5:1 on forest */
  --ag-text-on-dark-2: #9DB5AC;/* 8.4:1 */
  --ag-text-on-dark-3: #6E8A80;/* footers only */

  /* Brand */
  --ag-mint: #4BF2B0;          /* 11.9:1 on forest. NEVER text on paper */
  --ag-mint-2: #3EE3A4;        /* NEWS in the wordmark on dark; G in the icon */
  --ag-mint-deep: #0F6B4F;     /* 6.0:1 on paper — text-safe brand colour */
  --ag-forest-2: #143A30;      /* NEWS in the wordmark on paper */

  /* Market movement (never mint, never a category hue) */
  --ag-up: #3B7D0C;            /* on paper 4.7:1 */
  --ag-down: #C2311F;          /* on paper 5.3:1 */
  --ag-up-dark: #9BE15D;       /* on forest 10.9:1 */
  --ag-down-dark: #FF7A5C;     /* on forest 6.7:1 */
  --ag-flat: var(--ag-ink-3);  /* unchanged: em dash */

  /* Section hues — paper set (kicker text + 2px rules only, never fills) */
  --ag-sec-policy: #7A2E3B;
  --ag-sec-business: #2C5E73;  /* also AgriBusiness */
  --ag-sec-markets: #7A5A1E;
  --ag-sec-food: #9A4A2B;
  --ag-sec-environment: #3F6B3A;
  --ag-sec-farming: #6B6A2A;
  --ag-sec-machinery: #5A4E6E; /* also AgriTech */
  /* Section hues — dark set */
  --ag-sec-policy-dark: #D98A97;
  --ag-sec-business-dark: #7FB6CC;
  --ag-sec-markets-dark: #D3AE5E;
  --ag-sec-food-dark: #E0906F;
  --ag-sec-environment-dark: #8FBF86;
  --ag-sec-farming-dark: #C3C170;
  --ag-sec-machinery-dark: #B3A5D0;

  /* Rules & hairlines */
  --ag-hair: rgba(11,31,27,.14);
  --ag-hair-strong: rgba(11,31,27,.25);
  --ag-hair-dark: rgba(241,246,243,.12);
  --ag-hair-dark-strong: rgba(241,246,243,.25);
  --ag-rule: 2px solid var(--ag-ink);        /* section heads */
  --ag-rule-heavy: 3px solid var(--ag-ink);  /* edition page title rows */
  --ag-rule-quote: 3px solid var(--ag-mint); /* pull quotes, end-of-article */

  /* Type */
  --ag-font-sans: "Archivo", Helvetica, Arial, sans-serif;
  --ag-font-serif: "Newsreader", Georgia, serif;
  --ag-font-mono: "IBM Plex Mono", "SF Mono", Menlo, monospace;
  --ag-track-display: -.036em;
  --ag-track-h1: -.032em;
  --ag-track-h2: -.028em;
  --ag-track-h3: -.02em;
  --ag-track-list: -.015em;
  --ag-track-kicker: .08em;
  --ag-track-mono-label: .06em;
  --ag-track-wordmark: -.05em;

  /* Type scale — desktop (mobile in parentheses, applied below 768px) */
  --ag-fs-display: 58px;   /* 36 */
  --ag-fs-h1: 44px;        /* 26 */
  --ag-fs-h2: 28px;        /* 22 */
  --ag-fs-h3: 18px;        /* 17 */
  --ag-fs-list: 15px;
  --ag-fs-standfirst: 22px;/* 16 */
  --ag-fs-body: 19px;      /* 17 */
  --ag-fs-ui: 14px;
  --ag-fs-kicker: 11px;
  --ag-fs-caption: 11.5px;
  --ag-fs-data: 13px;
  --ag-lh-display: .98; --ag-lh-h1: 1.02; --ag-lh-h2: 1.08; --ag-lh-h3: 1.2; --ag-lh-list: 1.3;
  --ag-lh-standfirst: 1.4; --ag-lh-body: 1.6; --ag-lh-ui: 1.4; --ag-lh-caption: 1.5;
  --ag-measure: 640px;     /* body copy max width */

  /* Spacing */
  --ag-s1: 4px; --ag-s2: 8px; --ag-s3: 12px; --ag-s4: 16px; --ag-s5: 24px;
  --ag-s6: 32px; --ag-s7: 48px; --ag-s8: 64px; --ag-s9: 96px;
  --ag-gutter: 24px; --ag-content: 1280px; --ag-margin-desktop: 80px; --ag-margin-mobile: 20px;

  /* Radius — 0 everywhere except buttons/inputs (2px) and dots/avatars (50%) */
  --ag-r0: 0; --ag-r1: 2px; --ag-r-full: 50%;

  /* Elevation — there is no card shadow */
  --ag-e3: 0 24px 48px -24px rgba(11,31,27,.35); /* dialogs + glass Briefing module only */

  /* Glass — four recipes, no fifth */
  --ag-glass-masthead-bg: rgba(11,31,27,.72);
  --ag-glass-masthead-blur: blur(14px) saturate(140%);
  --ag-glass-masthead-fallback: rgba(11,31,27,.97);
  --ag-glass-ticker-bg: rgba(7,21,18,.84);
  --ag-glass-ticker-blur: blur(12px) saturate(140%);
  --ag-glass-ticker-fallback: #071512;
  --ag-glass-scrim-bg: rgba(11,31,27,.62);
  --ag-glass-scrim-blur: blur(18px) saturate(120%);
  --ag-glass-scrim-fallback: rgba(11,31,27,.86);
  --ag-glass-module-bg: rgba(245,247,245,.82);
  --ag-glass-module-blur: blur(20px);
  --ag-glass-module-fallback: rgba(245,247,245,.97);

  /* Surface gradients — "subtle" set, dark surfaces and mint fills only. Paper stays flat. */
  --ag-g-forest: linear-gradient(180deg,#10302A 0%,#0B1F1B 46%,#0A1B18 100%);
  --ag-g-cast: radial-gradient(60% 40% at 18% 0%,rgba(75,242,176,.07),transparent 70%);
  --ag-g-deep: linear-gradient(180deg,rgba(10,29,25,.9),rgba(7,21,18,.84));
  --ag-g-raised: linear-gradient(160deg,#173C33,#12302A);
  --ag-g-mint: linear-gradient(180deg,#66F7C2,#4BF2B0);
  --ag-g-scrim: linear-gradient(180deg,rgba(11,31,27,.5),rgba(11,31,27,.74));

  /* Photography */
  --ag-photo-grade: saturate(.75) contrast(1.05);   /* reporting photos on paper */
  --ag-photo-duotone-base: grayscale(1) contrast(1.05); /* + multiply mint + lighten forest */

  /* Motion — only three things move */
  --ag-t-hover: 120ms ease-out;
  --ag-t-masthead: 200ms ease-out;
  --ag-t-flash: 400ms;
  --ag-marquee: 36s;
}

@media (max-width: 767px) {
  :root {
    --ag-fs-display: 36px; --ag-fs-h1: 26px; --ag-fs-h2: 22px; --ag-fs-h3: 17px;
    --ag-fs-standfirst: 16px; --ag-fs-body: 17px; --ag-lh-display: 1.02; --ag-lh-h1: 1.06;
    --ag-track-display: -.032em; --ag-track-h1: -.03em; --ag-track-h2: -.026em;
  }
}

/* Agrinews components — v1.0. Requires tokens.css + fonts.css.
   Class prefix ag-. Every rule here is the literal recipe from the design files; port to Elementor
   as global classes (Elementor Pro ≥ 3.x "Classes") or paste into a Custom Code snippet. */

/* ---------- Base ---------- */
body.ag { margin: 0; background: var(--ag-paper); color: var(--ag-ink); font: 400 var(--ag-fs-ui)/var(--ag-lh-ui) var(--ag-font-sans); -webkit-font-smoothing: antialiased; }
body.ag--article { background: var(--ag-paper-article); }
.ag a { color: var(--ag-ink); text-decoration: underline; text-decoration-color: var(--ag-mint); text-decoration-thickness: 2px; text-underline-offset: 3px; transition: text-decoration-color var(--ag-t-hover); }
.ag a:hover { text-decoration-color: var(--ag-mint-deep); }
.ag--dark, .ag-dark { background: var(--ag-forest); color: var(--ag-text-on-dark); }
.ag--dark a, .ag-dark a { color: var(--ag-text-on-dark); }
.ag-container { width: min(var(--ag-content), 100% - 2 * var(--ag-margin-mobile)); margin: 0 auto; }
@media (min-width: 1440px) { .ag-container { width: min(var(--ag-content), 100% - 2 * var(--ag-margin-desktop)); } }
.ag-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--ag-gutter); }
@media (max-width: 767px) { .ag-grid { grid-template-columns: minmax(0, 1fr); } .ag-grid > * { grid-column: 1 / -1 !important; } }
.ag-surface--subtle { background: var(--ag-g-cast), var(--ag-g-forest); } /* optional gradient on the hero shell */

/* ---------- Type ---------- */
.ag-display { font: 700 var(--ag-fs-display)/var(--ag-lh-display) var(--ag-font-sans); letter-spacing: var(--ag-track-display); text-wrap: pretty; margin: 0; }
.ag-h1 { font: 700 var(--ag-fs-h1)/var(--ag-lh-h1) var(--ag-font-sans); letter-spacing: var(--ag-track-h1); text-wrap: pretty; margin: 0; }
.ag-h2 { font: 700 var(--ag-fs-h2)/var(--ag-lh-h2) var(--ag-font-sans); letter-spacing: var(--ag-track-h2); text-wrap: pretty; margin: 0; }
.ag-h3 { font: 600 var(--ag-fs-h3)/var(--ag-lh-h3) var(--ag-font-sans); letter-spacing: var(--ag-track-h3); text-wrap: pretty; margin: 0; }
.ag-list-title { font: 600 var(--ag-fs-list)/var(--ag-lh-list) var(--ag-font-sans); letter-spacing: var(--ag-track-list); text-wrap: pretty; margin: 0; }
.ag-standfirst { font: 400 var(--ag-fs-standfirst)/var(--ag-lh-standfirst) var(--ag-font-serif); color: var(--ag-ink-2); text-wrap: pretty; margin: 0; }
.ag-body { font: 400 var(--ag-fs-body)/var(--ag-lh-body) var(--ag-font-serif); max-width: var(--ag-measure); text-wrap: pretty; }
.ag-body p { margin: 0 0 22px; }
.ag-body h2 { font: 700 26px/1.12 var(--ag-font-sans); letter-spacing: var(--ag-track-h2); margin: 0 0 14px; }
.ag-dropcap::first-letter { float: left; font: 700 64px/.82 var(--ag-font-sans); letter-spacing: -.04em; margin: 6px 10px 0 0; }
.ag-caption { font: 500 var(--ag-fs-caption)/var(--ag-lh-caption) var(--ag-font-mono); color: var(--ag-ink-3); }
.ag-mono { font-family: var(--ag-font-mono); font-variant-numeric: tabular-nums; }
.ag-mono-label { font: 500 10.5px/1 var(--ag-font-mono); letter-spacing: var(--ag-track-mono-label); text-transform: uppercase; color: var(--ag-ink-3); }
.ag-dark .ag-mono-label, .ag--dark .ag-mono-label { color: var(--ag-text-on-dark-2); }

/* ---------- Wordmark (two-tone, just-noticeable) ---------- */
.ag-wordmark { font: 800 26px/1 var(--ag-font-sans); font-stretch: 105%; letter-spacing: var(--ag-track-wordmark); text-transform: uppercase; color: var(--ag-ink); text-decoration: none !important; white-space: nowrap; }
.ag-wordmark span { color: var(--ag-forest-2); }              /* NEWS on paper */
.ag-dark .ag-wordmark, .ag--dark .ag-wordmark { color: var(--ag-mint); }
.ag-dark .ag-wordmark span, .ag--dark .ag-wordmark span { color: var(--ag-mint-2); } /* NEWS on dark */
.ag-wordmark--sm { font-size: 21px; } .ag-wordmark--lg { font-size: 64px; }
/* Vertical marks: <span class="ag-vertical"><b>Agri</b>Business</span> — prefix takes brand colour, suffix takes surface text */
.ag-vertical { font: 800 26px/1 var(--ag-font-sans); font-stretch: 105%; letter-spacing: var(--ag-track-wordmark); text-transform: uppercase; }
.ag-vertical b { font-weight: inherit; color: var(--ag-mint-deep); }
.ag-dark .ag-vertical b, .ag--dark .ag-vertical b { color: var(--ag-mint); }

/* ---------- Masthead ---------- */
.ag-masthead { background: var(--ag-forest); color: var(--ag-text-on-dark); }
.ag-masthead__row { display: flex; align-items: center; height: 68px; gap: 28px; border-bottom: 1px solid var(--ag-hair-dark); }
.ag-masthead__nav { display: flex; gap: 22px; margin-left: 12px; font: 600 12px/1 var(--ag-font-sans); letter-spacing: .06em; text-transform: uppercase; }
.ag-masthead__nav a { text-decoration: none; color: var(--ag-text-on-dark); }
.ag-masthead__nav a[aria-current="page"], .ag-masthead__nav a:hover { color: var(--ag-mint); }
.ag-masthead__nav .ag-vertical-nav b { color: var(--ag-mint); font-weight: inherit; } /* AgriBusiness / AgriTech lead the nav */
.ag-masthead__tools { margin-left: auto; display: flex; align-items: center; gap: 22px; font: 500 13px/1 var(--ag-font-sans); color: var(--ag-text-on-dark-2); }
.ag-masthead__edition { display: flex; align-items: center; height: 34px; gap: 14px; font: 500 11px/1 var(--ag-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ag-text-on-dark-2); }
.ag-masthead__edition .live { margin-left: auto; color: var(--ag-mint); display: flex; align-items: center; gap: 7px; }
/* Scrolled state — glass recipe 1. Add .is-scrolled via JS after 120px. */
.ag-masthead.is-scrolled { position: sticky; top: 0; z-index: 50; background: var(--ag-glass-masthead-fallback); border-bottom: 1px solid var(--ag-hair-dark); transition: background var(--ag-t-masthead); }
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .ag-masthead.is-scrolled { background: var(--ag-glass-masthead-bg); backdrop-filter: var(--ag-glass-masthead-blur); -webkit-backdrop-filter: var(--ag-glass-masthead-blur); } }
.ag-masthead.is-scrolled .ag-masthead__row { height: 56px; } .ag-masthead.is-scrolled .ag-masthead__edition { display: none; }
.ag-masthead.is-scrolled .ag-ticker__row { height: 32px; font-size: 11.5px; }

/* ---------- Divider (never a middle dot) ---------- */
.ag-divider { display: inline-block; width: 1px; height: 11px; background: var(--ag-hair-strong); vertical-align: middle; }
.ag-dark .ag-divider, .ag--dark .ag-divider { background: var(--ag-hair-dark-strong); }

/* ---------- Ticker — THE signature device (glass recipe 2) ---------- */
.ag-ticker { background: var(--ag-glass-ticker-fallback); color: var(--ag-text-on-dark); border-top: 1px solid rgba(241,246,243,.08); border-bottom: 1px solid rgba(241,246,243,.08); }
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .ag-ticker.is-sticky { background: var(--ag-glass-ticker-bg); backdrop-filter: var(--ag-glass-ticker-blur); -webkit-backdrop-filter: var(--ag-glass-ticker-blur); } }
.ag-ticker__row { display: flex; align-items: stretch; height: 44px; overflow: hidden; font: 500 12.5px/1 var(--ag-font-mono); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ag-ticker__label { flex: none; display: flex; align-items: center; gap: 8px; padding-right: 20px; color: var(--ag-mint); letter-spacing: .08em; font-size: 11px; border-right: 1px solid var(--ag-hair-dark); }
.ag-ticker__track { display: flex; align-items: stretch; min-width: 0; flex: 1; overflow: hidden; }
.ag-ticker__item { display: flex; align-items: center; gap: 8px; padding: 0 14px; border-right: 1px solid var(--ag-hair-dark); }
.ag-ticker__name { color: var(--ag-text-on-dark-2); font-size: 11px; letter-spacing: .06em; }
.ag-ticker__price { color: var(--ag-text-on-dark); transition: color var(--ag-t-flash); }
.ag-ticker__price.is-updated { color: var(--ag-mint); }
.ag-ticker__move { display: inline-flex; align-items: center; gap: 5px; }
.ag-ticker__move.up { color: var(--ag-up-dark); } .ag-ticker__move.down { color: var(--ag-down-dark); } .ag-ticker__move.flat { color: var(--ag-text-on-dark-2); }
.ag-tri { width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; }
.up .ag-tri { border-bottom: 6px solid currentColor; } .down .ag-tri { border-top: 6px solid currentColor; }
.ag-ticker__meta { flex: none; margin-left: auto; display: flex; align-items: center; gap: 18px; padding-left: 14px; color: var(--ag-text-on-dark-2); font-size: 11px; letter-spacing: .06em; }
.ag-ticker__meta a { color: var(--ag-mint); text-decoration: none; }
/* Overflow → marquee (mobile). ticker.js adds .is-overflowing and duplicates the items. */
@keyframes ag-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.ag-ticker__track.is-overflowing .ag-ticker__inner { display: inline-flex; animation: ag-marquee var(--ag-marquee) linear infinite; will-change: transform; }
.ag-ticker__track.is-overflowing:hover .ag-ticker__inner, .ag-ticker__track.is-overflowing.is-paused .ag-ticker__inner { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .ag-ticker__inner { animation: none !important; } .ag-ticker__track.is-overflowing { overflow-x: auto; } }
@media (max-width: 767px) { .ag-ticker__row { height: 40px; font-size: 11.5px; } .ag-ticker__meta { display: none; } }

/* ---------- Live dot ---------- */
.ag-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--ag-mint); }
.ag-live { display: inline-flex; align-items: center; gap: 6px; font: 700 10.5px/1 var(--ag-font-sans); letter-spacing: .08em; color: var(--ag-mint-deep); }
.ag-dark .ag-live, .ag--dark .ag-live { color: var(--ag-mint); }

/* ---------- Kicker (one per story, above the headline, information-bearing) ---------- */
.ag-kicker { display: flex; align-items: center; gap: 10px; font: 600 var(--ag-fs-kicker)/1 var(--ag-font-sans); letter-spacing: var(--ag-track-kicker); text-transform: uppercase; }
.ag-kicker .type { color: var(--ag-ink-3); } .ag-dark .ag-kicker .type { color: var(--ag-text-on-dark-2); }
.ag-kicker--policy, .ag-sec--policy { color: var(--ag-sec-policy); }
.ag-kicker--business, .ag-sec--business, .ag-kicker--agribusiness { color: var(--ag-sec-business); }
.ag-kicker--markets, .ag-sec--markets { color: var(--ag-sec-markets); }
.ag-kicker--food, .ag-sec--food { color: var(--ag-sec-food); }
.ag-kicker--environment, .ag-sec--environment { color: var(--ag-sec-environment); }
.ag-kicker--farming, .ag-sec--farming { color: var(--ag-sec-farming); }
.ag-kicker--machinery, .ag-sec--machinery, .ag-kicker--agritech { color: var(--ag-sec-machinery); }
.ag-dark .ag-kicker--policy { color: var(--ag-sec-policy-dark); } .ag-dark .ag-kicker--business, .ag-dark .ag-kicker--agribusiness { color: var(--ag-sec-business-dark); }
.ag-dark .ag-kicker--markets { color: var(--ag-sec-markets-dark); } .ag-dark .ag-kicker--food { color: var(--ag-sec-food-dark); }
.ag-dark .ag-kicker--environment { color: var(--ag-sec-environment-dark); } .ag-dark .ag-kicker--farming { color: var(--ag-sec-farming-dark); }
.ag-dark .ag-kicker--machinery, .ag-dark .ag-kicker--agritech { color: var(--ag-sec-machinery-dark); }

/* ---------- Section heads & rivers ---------- */
.ag-section-head { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 10px; border-bottom: var(--ag-rule); }
.ag-section-head__title { font: 700 12px/1 var(--ag-font-sans); letter-spacing: .08em; text-transform: uppercase; }
.ag-section-head__meta { font: 500 11px/1 var(--ag-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ag-ink-3); }
.ag-block-head { display: flex; justify-content: space-between; align-items: baseline; padding-top: 8px; border-top: 2px solid currentColor; } /* section blocks: colour = section hue */
.ag-block-head__title { font: 700 12px/1 var(--ag-font-sans); letter-spacing: .08em; text-transform: uppercase; }
.ag-river > * { padding: 14px 0; border-bottom: 1px solid var(--ag-hair); }
.ag-river > *:last-child { border-bottom: 0; }
.ag-river__meta { display: flex; justify-content: space-between; align-items: center; }
.ag-river__time { font: 500 10.5px/1 var(--ag-font-mono); color: var(--ag-ink-3); }
.ag-river .ag-h3 { margin-top: 7px; font-size: 17px; line-height: 1.22; }
.ag-dark .ag-river > * { border-color: var(--ag-hair-dark); } .ag-dark .ag-river__time { color: var(--ag-text-on-dark-2); }
.ag-dark .ag-section-head { border-color: var(--ag-text-on-dark); }

/* ---------- Byline + timestamp (signals a live newsroom) ---------- */
.ag-byline { display: flex; align-items: center; gap: 12px; font: 500 12.5px/1 var(--ag-font-sans); flex-wrap: wrap; }
.ag-byline .name { font-weight: 600; } .ag-byline .role { color: var(--ag-ink-2); }
.ag-byline .time { font: 500 11.5px/1 var(--ag-font-mono); color: var(--ag-ink-3); letter-spacing: .04em; text-transform: uppercase; }
.ag-dark .ag-byline .role, .ag-dark .ag-byline .time { color: var(--ag-text-on-dark-2); }
.ag-byline-block { display: flex; align-items: center; justify-content: space-between; padding: 16px 0; border-top: 1px solid var(--ag-hair); border-bottom: 1px solid var(--ag-hair); }
.ag-avatar { width: 44px; height: 44px; border-radius: 50%; overflow: hidden; background: #DCE3DF; filter: saturate(.75); }

/* ---------- Pull quote & key stat ---------- */
.ag-pullquote { margin: 34px 0; padding-top: 18px; border-top: var(--ag-rule-quote); }
.ag-pullquote__text { font: 700 30px/1.12 var(--ag-font-sans); letter-spacing: -.03em; text-wrap: pretty; margin: 0; }
.ag-pullquote__attr { margin-top: 14px; display: flex; align-items: center; gap: 10px; font: 500 11.5px/1 var(--ag-font-mono); letter-spacing: .04em; text-transform: uppercase; color: var(--ag-ink-3); }
.ag-pullquote__attr .who { color: var(--ag-ink); }
.ag-keystat { margin: 30px 0; padding: 24px 26px; background: var(--ag-paper-callout); display: grid; grid-template-columns: auto minmax(0,1fr); gap: 26px; align-items: center; }
.ag-keystat__figure { font: 600 64px/1 var(--ag-font-mono); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.ag-keystat__label { font: 600 15px/1.35 var(--ag-font-sans); letter-spacing: -.01em; }
.ag-keystat__source { margin-top: 8px; font: 500 10.5px/1 var(--ag-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ag-ink-3); }
.ag-keynumbers { padding: 18px 18px 20px; background: var(--ag-forest); color: var(--ag-text-on-dark); } /* rail version: mint figures */
.ag-keynumbers__item { padding: 12px 0; border-bottom: 1px solid var(--ag-hair-dark); } .ag-keynumbers__item:last-child { border-bottom: 0; }
.ag-keynumbers__figure { font: 600 30px/1 var(--ag-font-mono); color: var(--ag-mint); letter-spacing: -.02em; }
.ag-keynumbers__label { margin-top: 6px; font: 400 12.5px/1.35 var(--ag-font-sans); color: var(--ag-text-on-dark-2); }

/* ---------- Markets rail ---------- */
.ag-market-row { display: grid; grid-template-columns: minmax(0,1fr) auto 64px; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--ag-hair); font: 500 12px/1 var(--ag-font-mono); font-variant-numeric: tabular-nums; }
.ag-market-row__name { color: var(--ag-ink-3); font-size: 10px; letter-spacing: .06em; }
.ag-market-row__price { margin-top: 5px; font-size: 14px; font-weight: 600; }
.ag-market-row .up { color: var(--ag-up); } .ag-market-row .down { color: var(--ag-down); } .ag-market-row .flat { color: var(--ag-flat); }
.ag-market-tile { border: 1px solid var(--ag-hair); padding: 10px 12px; font: 500 11px/1.3 var(--ag-font-mono); font-variant-numeric: tabular-nums; background: var(--ag-paper-input); }
.ag-market-tile__price { font-size: 16px; margin: 6px 0 4px; font-weight: 600; }

/* ---------- Lockups: Briefing, editions, tags ---------- */
.ag-lockup { display: inline-block; background: var(--ag-mint); color: var(--ag-forest); font: 800 11px/1 var(--ag-font-sans); letter-spacing: .06em; text-transform: uppercase; padding: 7px 8px; white-space: nowrap; }
.ag-lockup--sm { font-size: 10px; padding: 6px 7px; }
.ag-lockup--close { background: var(--ag-text-on-dark); color: var(--ag-deep); }
.ag-lockup--weekend { background: transparent; color: var(--ag-ink); border: 1px solid var(--ag-ink); padding: 5px 6px; }
.ag-dark .ag-lockup--weekend { color: var(--ag-text-on-dark); border-color: var(--ag-text-on-dark); }
.ag-lockup--gradient { background: var(--ag-g-mint); }
.ag-sponsor { display: flex; align-items: center; gap: 10px; font: 500 10px/1 var(--ag-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ag-ink-3); }
.ag-sponsor__logo { height: 22px; max-width: 120px; object-fit: contain; }
.ag-tag { display: inline-block; padding: 7px 10px; border: 1px solid var(--ag-hair-strong); border-radius: var(--ag-r1); font: 500 11.5px/1 var(--ag-font-sans); text-decoration: none !important; }

/* ---------- Buttons & inputs (the only rounded things: 2px) ---------- */
.ag-btn { display: inline-flex; align-items: center; justify-content: center; padding: 12px 18px; border-radius: var(--ag-r1); font: 700 13px/1 var(--ag-font-sans); text-decoration: none !important; border: 0; cursor: pointer; }
.ag-btn--mint { background: var(--ag-mint); color: var(--ag-forest); } .ag-btn--mint:hover { background: var(--ag-mint-2); }
.ag-btn--forest { background: var(--ag-forest); color: var(--ag-text-on-dark); } .ag-btn--forest:hover { background: var(--ag-raised); }
.ag-btn--ghost { background: transparent; color: inherit; border: 1px solid var(--ag-hair-strong); padding: 9px 12px; font-weight: 500; font-size: 12.5px; }
.ag-input { width: 100%; box-sizing: border-box; border: 1px solid var(--ag-hair-strong); background: var(--ag-paper-input); padding: 12px; font: 400 14px/1 var(--ag-font-sans); color: var(--ag-ink); border-radius: var(--ag-r1); }
.ag-input::placeholder { color: var(--ag-ink-3); } .ag-input:focus { outline: 2px solid var(--ag-mint); outline-offset: 1px; }

/* ---------- Briefing signup — inline, end-of-article, glass (recipe 4) ---------- */
.ag-signup { display: flex; gap: 8px; }
.ag-signup-inline { padding: 16px 20px; background: var(--ag-paper-warm); border: 1px solid rgba(11,31,27,.1); display: flex; align-items: center; gap: 16px; }
.ag-signup-end { padding: 22px 24px; border-top: var(--ag-rule-quote); border-bottom: 1px solid var(--ag-hair); }
.ag-band { position: relative; height: 360px; background: var(--ag-forest); overflow: hidden; } /* duotone photo band */
.ag-glass-module { padding: 28px 32px 26px; background: var(--ag-glass-module-fallback); border: 1px solid var(--ag-hair); box-shadow: var(--ag-e3); color: var(--ag-ink); }
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .ag-glass-module { background: var(--ag-glass-module-bg); backdrop-filter: var(--ag-glass-module-blur); -webkit-backdrop-filter: var(--ag-glass-module-blur); } }

/* ---------- Photography ---------- */
.ag-photo { background: #DCE3DF; overflow: hidden; }
.ag-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ag-photo--graded img { filter: var(--ag-photo-grade); }          /* reporting photos on paper — never tinted */
.ag-duotone { position: relative; background: var(--ag-raised); overflow: hidden; }  /* brand surfaces only */
.ag-duotone img { display: block; width: 100%; height: 100%; object-fit: cover; filter: var(--ag-photo-duotone-base); }
.ag-duotone::before { content: ""; position: absolute; inset: 0; background: var(--ag-mint); mix-blend-mode: multiply; pointer-events: none; }
.ag-duotone::after { content: ""; position: absolute; inset: 0; background: var(--ag-forest); mix-blend-mode: lighten; pointer-events: none; }
.ag-duotone > .ag-scrim { z-index: 1; }
/* Lead-story text scrim — glass recipe 3 */
.ag-scrim { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 28px 26px; color: var(--ag-text-on-dark); background: var(--ag-glass-scrim-fallback); border-top: 1px solid rgba(241,246,243,.14); }
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .ag-scrim { background: var(--ag-glass-scrim-bg); backdrop-filter: var(--ag-glass-scrim-blur); -webkit-backdrop-filter: var(--ag-glass-scrim-blur); } }
.ag-scrim .ag-h1 { color: var(--ag-text-on-dark); max-width: 740px; margin: 10px 0 12px; }
.ag-scrim .ag-standfirst { color: #C9D8D1; max-width: 640px; font-size: 18px; line-height: 1.45; }
@media (max-width: 767px) { .ag-scrim { padding: 14px 16px 16px; } .ag-scrim .ag-h1 { font-size: 25px; } .ag-scrim .ag-standfirst { display: none; } }

/* ---------- Edition components ---------- */
.ag-edition-strip { display: flex; align-items: center; height: 34px; gap: 14px; font: 500 11px/1 var(--ag-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ag-text-on-dark-2); background: var(--ag-forest); }
.ag-edition-module { padding: 26px 28px 24px; background: var(--ag-paper-warm); border: 1px solid rgba(11,31,27,.1); }
.ag-edition-item { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 12px; padding: 12px 0; border-top: 1px solid var(--ag-hair); }
.ag-edition-item__n { font: 600 13px/1.4 var(--ag-font-mono); color: var(--ag-mint-deep); }
.ag-edition-archive-row { display: grid; grid-template-columns: 150px 120px minmax(0,1fr) auto; gap: 20px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--ag-hair); }
/* Paged mobile edition (see spec/edition-pages.md) */
.ag-ed-page { width: 100%; height: 100dvh; background: var(--ag-paper-article); color: var(--ag-ink); display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: 48px minmax(0,1fr) 40px; overflow: hidden; }
.ag-ed-header { min-width: 0; background: rgba(11,31,27,.92); color: var(--ag-text-on-dark); border-top: 3px solid var(--ag-mint); display: flex; align-items: center; gap: 10px; padding: 0 14px; }
.ag-ed-header__label { flex: none; white-space: nowrap; font: 700 12px/1 var(--ag-font-sans); border-bottom: 2px solid var(--ag-mint); padding-bottom: 2px; }
.ag-ed-header__date { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 500 10px/1 var(--ag-font-mono); color: var(--ag-text-on-dark-2); letter-spacing: .04em; }
.ag-ed-header__counter { flex: none; margin-left: auto; font: 500 11px/1 var(--ag-font-mono); border: 1px solid rgba(241,246,243,.3); padding: 5px 8px; }
.ag-ed-footer { background: rgba(11,31,27,.92); display: flex; align-items: center; gap: 10px; padding: 0 14px; color: var(--ag-text-on-dark-2); }
.ag-ed-footer__btn { width: 34px; height: 26px; border: 1px solid rgba(241,246,243,.3); display: flex; align-items: center; justify-content: center; font: 500 13px/1 var(--ag-font-sans); }
.ag-ed-pager { margin: 0 auto; display: flex; gap: 5px; align-items: center; }
.ag-ed-pager i { display: block; width: 6px; height: 5px; background: rgba(241,246,243,.3); }
.ag-ed-pager i.visited { background: var(--ag-text-on-dark); } .ag-ed-pager i.current { width: 20px; background: var(--ag-mint); }
.ag-ed-card { background: var(--ag-paper-input); box-shadow: 0 0 0 1px var(--ag-hair); }
.ag-ed-title-row { display: flex; align-items: baseline; gap: 10px; border-bottom: var(--ag-rule-heavy); padding-bottom: 8px; }
.ag-ed-section-word { font: 800 118px/.84 var(--ag-font-sans); letter-spacing: -.07em; }

/* ---------- Charts (CSS bars) ---------- */
.ag-bars { display: flex; align-items: flex-end; gap: 10px; border-bottom: 1px solid rgba(241,246,243,.25); }
.ag-bars > i { flex: 1; display: block; background: rgba(75,242,176,.32); } .ag-bars > i.latest { background: var(--ag-mint); }
.ag-sparkline { display: block; width: 64px; height: 22px; } .ag-sparkline polyline { fill: none; stroke-width: 1.5; }

/* ---------- Footer ---------- */
.ag-footer { background: var(--ag-forest); color: var(--ag-text-on-dark); }
.ag-footer__cols { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 24px; padding: 36px 0 28px; border-bottom: 1px solid var(--ag-hair-dark); }
.ag-footer__legal { padding: 16px 0 24px; display: flex; align-items: center; gap: 14px; font: 500 10.5px/1 var(--ag-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ag-text-on-dark-3); }
@media (max-width: 767px) { .ag-footer__cols { grid-template-columns: 1fr; } }

/* ---------- Icons (Lucide, 2px stroke) ---------- */
.ag-icon { width: 20px; height: 20px; stroke: currentColor; stroke-width: 2; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.ag-icon--sm { width: 16px; height: 16px; } .ag-icon--lg { width: 24px; height: 24px; }


/* ---------- Build glue: Elementor + Feedzy ---------- */
.ag-feed .feedzy-rss ul, .ag-feed ul.feedzy-rss { list-style:none; margin:0; padding:0; }
.ag-feed .rss_item { padding:14px 0 !important; border-bottom:1px solid var(--ag-hair); margin:0 !important; }
.ag-feed .rss_item:last-child { border-bottom:0; }
.ag-feed .rss_item .title { display:block; font:600 17px/1.22 var(--ag-font-sans); letter-spacing:-.02em; }
.ag-feed .rss_item .title a { color:var(--ag-ink); text-decoration:none; }
.ag-feed .rss_item .title a:hover { text-decoration:underline; text-decoration-color:var(--ag-mint-deep); text-decoration-thickness:2px; text-underline-offset:3px; }
.ag-feed .rss_content { font:400 14px/1.45 var(--ag-font-serif); color:var(--ag-ink-2); margin-top:6px; }
.ag-feed .rss_content p { margin:0; }
.ag-feed small, .ag-feed .meta { display:block; margin-top:7px; font:500 10.5px/1 var(--ag-font-mono); letter-spacing:.04em; text-transform:uppercase; color:var(--ag-ink-3); }
.ag-feed--dark .rss_item { border-color:var(--ag-hair-dark); }
.ag-feed--dark .rss_item .title a { color:var(--ag-text-on-dark); }
.ag-feed--dark .rss_content { color:var(--ag-text-on-dark-2); }
.ag-feed--dark small, .ag-feed--dark .meta { color:var(--ag-text-on-dark-2); }
.ag-feed .feedzy-rss .rss_image, .ag-feed .feedzy-rss .rss_media { display:none; }
.ag-feed .feedzy-rss a.rss-title, .ag-feed .feedzy-rss .rss-title { font:600 17px/1.22 var(--ag-font-sans); color:var(--ag-ink); text-decoration:none; }

/* ---------- Build glue v2: layout utilities + Elementor mappings ---------- */
.e-con.ag-grid, .e-con.ag-grid > .e-con-inner { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: var(--ag-gutter); }
.ag-grid > .elementor-element { min-width: 0; }
.ag-c-1-8 { grid-column: 1/9; } .ag-c-9-13 { grid-column: 9/13; }
.ag-c-1-4 { grid-column: 1/5; } .ag-c-5-10 { grid-column: 5/10; } .ag-c-10-13 { grid-column: 10/13; }
.ag-c-2-8 { grid-column: 2/8; } .ag-c-1-13 { grid-column: 1/-1; }
.ag-c-s3 { grid-column: span 3; } .ag-c-s4 { grid-column: span 4; } .ag-c-s6 { grid-column: span 6; }
@media (max-width: 767px) { [class*="ag-c-"] { grid-column: 1/-1 !important; } }
@media (min-width: 768px) and (max-width: 1024px) {
  .ag-c-1-4, .ag-c-5-10, .ag-c-10-13 { grid-column: 1/-1; }
  .ag-c-1-8 { grid-column: 1/8; } .ag-c-9-13 { grid-column: 8/13; }
  .ag-c-s3 { grid-column: span 6; }
}
/* Elementor widget wrappers must not add spacing inside ag layouts */
.ag .elementor-widget { margin-bottom: 0; }
.ag .elementor-widget-container { line-height: inherit; }
.ag-masthead .e-con-inner, .ag-footer .e-con-inner { max-width: none; }
/* Masthead behaviours */
.ag-masthead { z-index: 60; }
.ag-masthead__row .elementor-widget-html:first-child { flex: none; }
.ag-masthead__navwrap { flex: 1; min-width: 0; }
.ag-masthead__nav { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
.ag-masthead__nav::-webkit-scrollbar { display: none; }
.ag-masthead__nav a { flex: none; }
.ag-masthead__nav a b { color: var(--ag-mint); font-weight: inherit; }
@media (max-width: 767px) {
  .ag-masthead__row { height: 56px; gap: 14px; }
  .ag-masthead__tools a:not(.ag-btn) { display: none; }
  .ag-masthead__edition .live { display: none; }
}
/* Sticky compaction (Elementor sticky effects at 120px) */
.elementor-sticky--effects.ag-masthead { background: var(--ag-glass-masthead-fallback) !important; }
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .elementor-sticky--effects.ag-masthead { background: var(--ag-glass-masthead-bg) !important; backdrop-filter: var(--ag-glass-masthead-blur); -webkit-backdrop-filter: var(--ag-glass-masthead-blur); }
}
.elementor-sticky--effects.ag-masthead .ag-masthead__row { height: 56px; transition: height var(--ag-t-masthead); }
.elementor-sticky--effects.ag-masthead .ag-masthead__edition { display: none; }
.elementor-sticky--effects.ag-masthead .ag-ticker__row { height: 32px; font-size: 11.5px; }
.ag-masthead .ag-btn { flex: none; }
/* Ticker without JS: keep usable */
.ag-ticker__track { overflow-x: auto; scrollbar-width: none; }
.ag-ticker__track::-webkit-scrollbar { display: none; }
/* Footer link lists */
.ag-footlinks { display: flex; flex-direction: column; gap: 9px; }
.ag-footlinks a { color: var(--ag-text-on-dark-2); text-decoration: none; font: 400 13px/1.4 var(--ag-font-sans); }
.ag-footlinks a:hover { color: var(--ag-mint); }
.ag-footer__legal a:hover { color: var(--ag-mint); }
/* Headings carried by classes */
.ag-h1 .elementor-heading-title, .elementor-heading-title.ag-h1 { font: 700 var(--ag-fs-h1)/var(--ag-lh-h1) var(--ag-font-sans); letter-spacing: var(--ag-track-h1); }
.ag-h2 .elementor-heading-title, .elementor-heading-title.ag-h2 { font: 700 var(--ag-fs-h2)/var(--ag-lh-h2) var(--ag-font-sans); letter-spacing: var(--ag-track-h2); }
.ag-on-dark .elementor-heading-title { color: var(--ag-text-on-dark); }
.ag-widget-h1 h1, .ag-sechead h1 { margin: 14px 0 12px; }
.ag-sechead { max-width: 860px; }
.ag-sechead .ag-kicker { margin-bottom: 4px; }
.ag-prose { max-width: 760px; }
.ag-prose h1 { margin: 14px 0 18px; max-width: 720px; }
.ag-prose .ag-body p { margin: 0 0 22px; }
.ag-hero-lead { position: relative; }
/* Pro form → design-system fields */
.ag-signup-form form { display: flex; flex-wrap: wrap; gap: 8px; align-items: stretch; }
.ag-signup-form .elementor-form-fields-wrapper { display: flex; flex: 1 1 auto; gap: 8px; width: 100%; }
.ag-signup-form .elementor-field-group { flex: 1 1 auto; padding: 0 !important; margin: 0 !important; }
.ag-signup-form .elementor-field-group.elementor-field-type-submit { flex: 0 0 auto; width: auto !important; }
.ag-signup-form .elementor-field-textual { width: 100%; box-sizing: border-box; border: 1px solid var(--ag-hair-strong); background: var(--ag-paper-input); padding: 12px; font: 400 14px/1.2 var(--ag-font-sans); color: var(--ag-ink); border-radius: var(--ag-r1); }
.ag-signup-form .elementor-field-textual:focus { outline: 2px solid var(--ag-mint); outline-offset: 1px; border-color: var(--ag-hair-strong); }
.ag-signup-form .elementor-button { background: var(--ag-mint); color: var(--ag-forest); border-radius: var(--ag-r1); font: 700 13px/1 var(--ag-font-sans); padding: 12px 18px; border: 0; }
.ag-signup-form .elementor-button:hover { background: var(--ag-mint-2); color: var(--ag-forest); }
.ag-contact-form .elementor-form-fields-wrapper { flex-wrap: wrap; }
.ag-contact-form .elementor-field-group { flex: 1 1 46%; }
.ag-contact-form .elementor-field-group.elementor-field-type-textarea { flex: 1 1 100%; }
.ag-glass-module .ag-h2 { margin: 12px 0 8px; }
/* Feedzy — river treatments */
.ag-feed .feedzy-rss { margin: 0; }
.ag-feed .feedzy-rss ul { list-style: none; margin: 0; padding: 0; }
.ag-feed li.rss_item { padding: 13px 0 !important; margin: 0 !important; border-bottom: 1px solid var(--ag-hair); }
.ag-feed li.rss_item:last-child { border-bottom: 0; }
.ag-feed .rss_item .title, .ag-feed .rss_item .title a { font: 600 17px/1.25 var(--ag-font-sans); letter-spacing: -.02em; color: var(--ag-ink); text-decoration: none; }
.ag-feed .rss_item .title a:hover { text-decoration: underline; text-decoration-color: var(--ag-mint-deep); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.ag-feed .rss_content, .ag-feed .rss_description { font: 400 14px/1.5 var(--ag-font-serif); color: var(--ag-ink-2); margin: 6px 0 0; }
.ag-feed .rss_content p { margin: 0; }
.ag-feed small, .ag-feed .rss-date, .ag-feed .meta { display: block; margin-top: 7px; font: 500 10.5px/1 var(--ag-font-mono); letter-spacing: .04em; text-transform: uppercase; color: var(--ag-ink-3); }
.ag-feed .rss_image { display: none; }
.ag-feed .feedzy-rss-link-icon::after, .ag-feed .external-icon { display: none !important; }
.ag-feed--dark li.rss_item { border-color: var(--ag-hair-dark); }
.ag-feed--dark .rss_item .title a, .ag-feed--dark .rss_item .title { color: var(--ag-text-on-dark); }
.ag-feed--dark .rss_content { color: var(--ag-text-on-dark-2); }
.ag-feed--dark small, .ag-feed--dark .rss-date { color: var(--ag-text-on-dark-2); }
/* Hero lead: one huge headline */
.ag-feed--lead li.rss_item { border: 0 !important; padding: 6px 0 0 !important; }
.ag-feed--lead .rss_item .title, .ag-feed--lead .rss_item .title a { font: 700 clamp(26px, 3.1vw, 44px)/1.04 var(--ag-font-sans); letter-spacing: var(--ag-track-h1); color: var(--ag-text-on-dark); text-wrap: pretty; }
.ag-feed--lead .rss_item .title a:hover { text-decoration-color: var(--ag-mint); }
.ag-feed--lead small, .ag-feed--lead .rss-date { display: none; }
/* Analysis / top treatments: image + bigger first title */
.ag-feed--media .rss_image { display: block; height: 292px; background: #DCE3DF; margin: 0 0 14px; overflow: hidden; }
.ag-feed--media .rss_image a, .ag-feed--media .rss_image span, .ag-feed--media .rss_image img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; background-size: cover !important; background-position: center !important; filter: var(--ag-photo-grade); }
.ag-feed--media li.rss_item:not(:first-child) .rss_image { display: none; }
.ag-feed--analysis .rss_item .title, .ag-feed--analysis .rss_item .title a { font: 700 26px/1.1 var(--ag-font-sans); letter-spacing: var(--ag-track-h2); }
.ag-feed--top li.rss_item:first-child .title, .ag-feed--top li.rss_item:first-child .title a { font: 700 24px/1.12 var(--ag-font-sans); letter-spacing: var(--ag-track-h2); }
.ag-feed--top .rss_image { height: 320px; }
.ag-feed--block li.rss_item:first-child .title, .ag-feed--block li.rss_item:first-child .title a { font: 600 20px/1.18 var(--ag-font-sans); }
.ag-feed--compact .rss_item .title, .ag-feed--compact .rss_item .title a { font: 600 15px/1.3 var(--ag-font-sans); letter-spacing: -.015em; }
.ag-feed--compact .rss_content { display: none; }
@media (max-width: 767px) { .ag-feed--media .rss_image, .ag-feed--top .rss_image { height: 210px; } .ag-feed--lead .rss_item .title, .ag-feed--lead .rss_item .title a { font-size: 27px; } }
/* Article template */
.ag-article-shell { background: var(--ag-paper-article); }
.ag-articlehead { max-width: 1000px; }
.ag-article-title h1 { margin: 12px 0 16px; }
.ag-article-meta { padding: 14px 0; border-top: 1px solid var(--ag-hair); border-bottom: 1px solid var(--ag-hair); margin: 8px 0 24px; }
.ag-article-meta .elementor-icon-list-items { display: flex; gap: 16px; flex-wrap: wrap; }
.ag-article-meta .elementor-icon-list-text { font: 500 11.5px/1 var(--ag-font-mono); letter-spacing: .04em; text-transform: uppercase; color: var(--ag-ink-3); }
.ag-article-hero { margin: 0 0 10px; }
.ag-article-hero img { width: 100%; height: auto; }
.ag-article-body { margin: 26px auto 0 0; }
.ag-article-body p:first-of-type::first-letter { float: left; font: 700 64px/.82 var(--ag-font-sans); letter-spacing: -.04em; margin: 6px 10px 0 0; }
.ag-signup-end { border-top: var(--ag-rule-quote); margin-top: 34px; }
/* Keynum tile */
.ag-keynum-tile { margin-top: 18px; }
/* Cookie banner harmony (CookieAdmin) */
#cookieadmin-banner, .cookieadmin-banner { font-family: var(--ag-font-sans) !important; }

/* ---------- QA fixes ---------- */
/* 404 heading must be light on the dark shell (heading widget default colour is ink) */
.ag-on-dark .elementor-heading-title, .ag-dark .ag-h1 .elementor-heading-title, .ag-dark .elementor-widget-heading .elementor-heading-title { color: var(--ag-text-on-dark); }
.ag-dark .ag-standfirst { color: var(--ag-text-on-dark-2); }/* End custom CSS */