/*!
 * Amdi Farm - Brand CSS v1.0.0
 * Colours sampled from the Amdi Farm logo. Fonts are companions chosen to suit the logo (the logo lettering itself is artwork).
 * Usage: <body class="amdi"> ; switch palette with data-amdi-mode="harvest|field|auto"
 */
:root {
  --amdi-cream: #FAF1E0;
  --amdi-parchment: #F4E7CE;
  --amdi-linen: #FFFBF2;
  --amdi-kraft: #D1B286;
  --amdi-sand: #E3D3B3;
  --amdi-wood: #A57E53;
  --amdi-bark: #59351A;
  --amdi-bark-deep: #2B1A0E;
  --amdi-forest: #424C31;
  --amdi-forest-deep: #303A22;
  --amdi-forest-night: #1F2718;
  --amdi-sage: #71814D;
  --amdi-leaf: #5E7A3A;
  --amdi-tomato: #C96032;
  --amdi-tomato-deep: #9C3F19;
  --amdi-pumpkin: #EB8B2D;
  --amdi-sun: #E0AC5F;
}

/* Modes. Harvest (light, cream) is the default; Field is the dark forest mode. */
:root, [data-amdi-mode="harvest"], .amdi-mode-harvest {
  --amdi-bg-canvas: #FAF1E0;
  --amdi-bg-surface: #F4E7CE;
  --amdi-bg-elevated: #FFFBF2;
  --amdi-bg-inverse: #303A22;
  --amdi-text-primary: #2B1A0E;
  --amdi-text-secondary: #5F4A38;
  --amdi-text-inverse: #FAF1E0;
  --amdi-text-accent: #9C3F19;
  --amdi-text-serif: #59351A;
  --amdi-text-on-accent: #FFFBF2;
  --amdi-accent-primary: #424C31;
  --amdi-accent-secondary: #9C3F19;
  --amdi-accent-signal: #5E7A3A;
  --amdi-accent-warm: #EB8B2D;
  --amdi-border-subtle: #E3D3B3;
  --amdi-border-strong: #8A6B4A;
  --amdi-state-focus: #C96032;
  --amdi-state-error: #B42318;
  --amdi-state-success: #3E6B2A;
  --amdi-effect-shadow: rgba(43,26,14,.18);
  --amdi-effect-shadow-soft: rgba(43,26,14,.08);
  --amdi-effect-highlight: rgba(255,255,255,.70);
  --amdi-effect-glow: rgba(66,76,49,.28);
  --amdi-atmosphere: radial-gradient(60% 70% at 0% 0%, rgba(224,172,95,.28), transparent 70%);
}

[data-amdi-mode="field"], .amdi-mode-field {
  --amdi-bg-canvas: #1F2718;
  --amdi-bg-surface: #283221;
  --amdi-bg-elevated: #303A22;
  --amdi-bg-inverse: #FAF1E0;
  --amdi-text-primary: #FAF1E0;
  --amdi-text-secondary: #CBBF9F;
  --amdi-text-inverse: #2B1A0E;
  --amdi-text-accent: #E0AC5F;
  --amdi-text-serif: #E0AC5F;
  --amdi-text-on-accent: #2B1A0E;
  --amdi-accent-primary: #E0AC5F;
  --amdi-accent-secondary: #9DB36B;
  --amdi-accent-signal: #9DB36B;
  --amdi-accent-warm: #EB8B2D;
  --amdi-border-subtle: #3A4730;
  --amdi-border-strong: #71814D;
  --amdi-state-focus: #E0AC5F;
  --amdi-state-error: #F08A6A;
  --amdi-state-success: #9DB36B;
  --amdi-effect-shadow: rgba(0,0,0,.50);
  --amdi-effect-shadow-soft: rgba(0,0,0,.30);
  --amdi-effect-highlight: rgba(250,241,224,.06);
  --amdi-effect-glow: rgba(224,172,95,.30);
  --amdi-atmosphere: radial-gradient(60% 70% at 100% 0%, rgba(113,129,77,.30), transparent 70%);
}

@media (prefers-color-scheme: dark) {
  [data-amdi-mode="auto"] {
    --amdi-bg-canvas: #1F2718;
    --amdi-bg-surface: #283221;
    --amdi-bg-elevated: #303A22;
    --amdi-bg-inverse: #FAF1E0;
    --amdi-text-primary: #FAF1E0;
    --amdi-text-secondary: #CBBF9F;
    --amdi-text-inverse: #2B1A0E;
    --amdi-text-accent: #E0AC5F;
    --amdi-text-serif: #E0AC5F;
    --amdi-text-on-accent: #2B1A0E;
    --amdi-accent-primary: #E0AC5F;
    --amdi-accent-secondary: #9DB36B;
    --amdi-accent-signal: #9DB36B;
    --amdi-accent-warm: #EB8B2D;
    --amdi-border-subtle: #3A4730;
    --amdi-border-strong: #71814D;
    --amdi-state-focus: #E0AC5F;
    --amdi-state-error: #F08A6A;
    --amdi-state-success: #9DB36B;
    --amdi-effect-shadow: rgba(0,0,0,.50);
    --amdi-effect-shadow-soft: rgba(0,0,0,.30);
    --amdi-effect-highlight: rgba(250,241,224,.06);
    --amdi-effect-glow: rgba(224,172,95,.30);
    --amdi-atmosphere: radial-gradient(60% 70% at 100% 0%, rgba(113,129,77,.30), transparent 70%);
}
}

:root {
  --amdi-font-sans: "Nunito Sans", ui-sans-serif, system-ui, sans-serif;
  --amdi-font-mono: "Nunito Sans", ui-sans-serif, system-ui, sans-serif; /* label face: used in caps with wide tracking */
  --amdi-font-serif: "Zilla Slab", Georgia, serif;
  --amdi-text-display-xl: clamp(3.5rem, 1.8286rem + 6.8571vw, 8rem);
  --amdi-text-display-lg: clamp(3rem, 1.8857rem + 4.5714vw, 6rem);
  --amdi-text-h1: clamp(2.5rem, 1.7571rem + 3.0476vw, 4.5rem);
  --amdi-text-h2: clamp(2.125rem, 1.7071rem + 1.7143vw, 3.25rem);
  --amdi-text-h3: clamp(1.5rem, 1.3143rem + 0.7619vw, 2rem);
  --amdi-text-h4: clamp(1.1875rem, 1.1179rem + 0.2857vw, 1.375rem);
  --amdi-text-serif-xl: clamp(3.25rem, 1.8571rem + 5.7143vw, 7rem);
  --amdi-text-serif-lg: clamp(2.125rem, 1.6143rem + 2.0952vw, 3.5rem);
  --amdi-text-stat: clamp(3rem, 2.0714rem + 3.8095vw, 5.5rem);
  --amdi-text-body-lg: clamp(1.125rem, 1.0786rem + 0.1905vw, 1.25rem);
  --amdi-text-body-md: clamp(1rem, 0.9768rem + 0.0952vw, 1.0625rem);
  --amdi-text-body-sm: clamp(0.875rem, 0.8518rem + 0.0952vw, 0.9375rem);
  --amdi-text-label: clamp(0.75rem, 0.7268rem + 0.0952vw, 0.8125rem);
  --amdi-text-mono: clamp(0.6875rem, 0.6643rem + 0.0952vw, 0.75rem);
  --amdi-space-3xs: 0.125rem;
  --amdi-space-2xs: 0.25rem;
  --amdi-space-xs: 0.5rem;
  --amdi-space-sm: 0.75rem;
  --amdi-space-md: 1rem;
  --amdi-space-lg: 1.5rem;
  --amdi-space-xl: 2rem;
  --amdi-space-2xl: 2.5rem;
  --amdi-space-3xl: 3rem;
  --amdi-space-4xl: 4rem;
  --amdi-space-5xl: 5rem;
  --amdi-space-6xl: 6rem;
  --amdi-space-7xl: 7.5rem;
  --amdi-space-8xl: 10rem;
  --amdi-section-space: clamp(64px, 9vw, 140px);
  --amdi-gutter: clamp(1rem, 0.814rem + 0.762vw, 1.5rem);
  --amdi-page-pad: clamp(1.25rem, 0.321rem + 3.81vw, 5rem);
  --amdi-radius: 10px; --amdi-radius-btn: 999px; --amdi-radius-sm: 6px;
  --amdi-width-reading: 720px; --amdi-width-editorial: 960px; --amdi-width-grid: 1120px; --amdi-width-boxed: 1280px;
  --amdi-header-h: 76px;
  --amdi-motion-fast: 150ms; --amdi-motion-base: 300ms; --amdi-motion-slow: 600ms; --amdi-motion-signal-loop: 2400ms;
  --amdi-ease: cubic-bezier(.2, .7, .2, 1); --amdi-ease-reveal: cubic-bezier(.2, .75, .2, 1);
  --amdi-focus-width: 2px; --amdi-focus-offset: 3px; --amdi-target-min: 44px;
}


/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body.amdi, .amdi-root {
  margin: 0; background: var(--amdi-bg-canvas); color: var(--amdi-text-primary);
  font-family: var(--amdi-font-sans); font-size: var(--amdi-text-body-md); line-height: 1.6;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
.amdi h1, .amdi h2, .amdi h3, .amdi h4, .amdi-h1, .amdi-h2, .amdi-h3, .amdi-h4 { margin: 0 0 var(--amdi-space-md); font-weight: 600; letter-spacing: -0.02em; text-wrap: balance; }
.amdi h1, .amdi-h1 { font-size: var(--amdi-text-h1); line-height: 1.05; letter-spacing: -0.035em; }
.amdi h2, .amdi-h2 { font-size: var(--amdi-text-h2); line-height: 1.1; letter-spacing: -0.03em; }
.amdi h3, .amdi-h3 { font-size: var(--amdi-text-h3); line-height: 1.2; }
.amdi h4, .amdi-h4 { font-size: var(--amdi-text-h4); line-height: 1.3; }
.amdi p { margin: 0 0 var(--amdi-space-md); }
.amdi a { color: var(--amdi-text-accent); text-underline-offset: 3px; }
.amdi a:hover { text-decoration-thickness: 2px; }
.amdi img, .amdi svg { max-width: 100%; height: auto; }
.amdi ::selection { background: var(--amdi-accent-primary); color: var(--amdi-text-on-accent); }
.amdi :focus-visible, .amdi-focusable:focus-visible { outline: var(--amdi-focus-width) solid var(--amdi-state-focus); outline-offset: var(--amdi-focus-offset); }
.amdi-skip { position: absolute; left: -9999px; top: 0; z-index: 100; padding: var(--amdi-space-sm) var(--amdi-space-md); background: var(--amdi-accent-primary); color: var(--amdi-text-on-accent); font-weight: 600; }
.amdi-skip:focus { left: var(--amdi-space-md); top: var(--amdi-space-md); }
.amdi-sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Typography helpers ---------- */
.amdi-display-xl { font-size: var(--amdi-text-display-xl); line-height: .95; letter-spacing: -0.045em; font-weight: 600; }
.amdi-display-lg { font-size: var(--amdi-text-display-lg); line-height: 1; letter-spacing: -0.04em; font-weight: 600; }
.amdi-serif, .amdi em.amdi-serif { font-family: var(--amdi-font-serif); font-style: italic; font-weight: 400; color: var(--amdi-text-serif); letter-spacing: -0.01em; }
.amdi-serif-xl { font-family: var(--amdi-font-serif); font-style: italic; font-size: var(--amdi-text-serif-xl); line-height: 1; }
.amdi-lead { font-size: var(--amdi-text-body-lg); color: var(--amdi-text-secondary); max-width: 60ch; }
.amdi-small { font-size: var(--amdi-text-body-sm); }
.amdi-eyebrow, .amdi-label { font-family: var(--amdi-font-mono); font-size: var(--amdi-text-label); letter-spacing: .14em; text-transform: uppercase; color: var(--amdi-text-accent); }
.amdi-mono { font-family: var(--amdi-font-mono); font-size: var(--amdi-text-mono); letter-spacing: .04em; }
.amdi-stat { font-size: var(--amdi-text-stat); line-height: 1; font-weight: 500; letter-spacing: -0.04em; font-variant-numeric: tabular-nums; }
.amdi-muted { color: var(--amdi-text-secondary); }
.amdi-icon { font-family: "Material Symbols Rounded"; font-weight: 400; font-style: normal; font-size: 24px; line-height: 1; display: inline-block; vertical-align: middle; letter-spacing: normal; text-transform: none; white-space: nowrap; font-feature-settings: "liga"; -webkit-font-feature-settings: "liga"; }

/* ---------- Layout ---------- */
.amdi-container { width: min(100% - 2 * var(--amdi-page-pad), var(--amdi-width-boxed)); margin-inline: auto; }
.amdi-container--grid { width: min(100% - 2 * var(--amdi-page-pad), var(--amdi-width-grid)); margin-inline: auto; }
.amdi-container--editorial { width: min(100% - 2 * var(--amdi-page-pad), var(--amdi-width-editorial)); margin-inline: auto; }
.amdi-container--reading { width: min(100% - 2 * var(--amdi-page-pad), var(--amdi-width-reading)); margin-inline: auto; }
.amdi-section { padding-block: var(--amdi-section-space); position: relative; background: var(--amdi-bg-canvas); color: var(--amdi-text-primary); }
.amdi-section--surface { background: var(--amdi-bg-surface); }
.amdi-section--atmosphere::before { content: ""; position: absolute; inset: 0; background: var(--amdi-atmosphere); pointer-events: none; }
.amdi-section > * { position: relative; }
.amdi-grid { display: grid; gap: var(--amdi-gutter); grid-template-columns: repeat(var(--amdi-cols, 3), minmax(0, 1fr)); }
.amdi-grid--2 { --amdi-cols: 2; } .amdi-grid--4 { --amdi-cols: 4; }
@media (max-width: 900px) { .amdi-grid, .amdi-grid--4 { --amdi-cols: 2; } }
@media (max-width: 600px) { .amdi-grid, .amdi-grid--2, .amdi-grid--4 { --amdi-cols: 1; } }
.amdi-stack > * + * { margin-top: var(--amdi-space-md); }
.amdi-cluster { display: flex; flex-wrap: wrap; gap: var(--amdi-space-sm); align-items: center; }

/* ---------- Buttons (sharp, 44px target) ---------- */
.amdi-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--amdi-space-xs);
  min-height: var(--amdi-target-min); padding: .75rem 1.5rem; border: 1px solid transparent; border-radius: var(--amdi-radius);
  font: 600 var(--amdi-text-body-md)/1.2 var(--amdi-font-sans); letter-spacing: -0.005em; text-decoration: none; cursor: pointer;
  background: var(--amdi-accent-primary); color: var(--amdi-text-on-accent);
  transition: transform var(--amdi-motion-fast) var(--amdi-ease), box-shadow var(--amdi-motion-base) var(--amdi-ease), background-color var(--amdi-motion-fast), color var(--amdi-motion-fast), border-color var(--amdi-motion-fast);
}
.amdi-btn:hover { transform: translateY(-1px); box-shadow: 0 8px 24px -8px var(--amdi-effect-glow); }
.amdi-btn:active { transform: translateY(0); box-shadow: none; }
.amdi-btn--secondary { background: transparent; color: var(--amdi-text-primary); border-color: var(--amdi-border-strong); }
.amdi-btn--secondary:hover { border-color: var(--amdi-accent-primary); box-shadow: none; }
.amdi-btn--ghost { background: transparent; color: var(--amdi-text-accent); padding-inline: var(--amdi-space-sm); }
.amdi-btn--ghost:hover { box-shadow: none; text-decoration: underline; text-underline-offset: 4px; }
.amdi-btn--inverse { background: var(--amdi-bg-inverse); color: var(--amdi-text-inverse); }
.amdi-btn--sm { min-height: 36px; padding: .5rem 1rem; font-size: var(--amdi-text-body-sm); }
.amdi-btn--lg { min-height: 52px; padding: 1rem 2rem; font-size: var(--amdi-text-body-lg); }
.amdi-btn[disabled], .amdi-btn[aria-disabled="true"] { opacity: .45; pointer-events: none; }
.amdi-btn .amdi-icon { font-size: 20px; transition: transform var(--amdi-motion-base) var(--amdi-ease); }
.amdi-btn:hover .amdi-icon { transform: translateX(3px); }

/* ---------- Header / nav / footer ---------- */
.amdi-header { position: sticky; top: 0; z-index: 50; min-height: var(--amdi-header-h); display: flex; align-items: center; background: color-mix(in srgb, var(--amdi-bg-canvas) 86%, transparent); backdrop-filter: blur(14px) saturate(1.4); -webkit-backdrop-filter: blur(14px) saturate(1.4); border-bottom: 1px solid var(--amdi-border-subtle); transition: box-shadow var(--amdi-motion-base); }
.amdi-header.is-stuck { box-shadow: 0 10px 30px -18px var(--amdi-effect-shadow); }
.amdi-header__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--amdi-space-lg); width: 100%; }
.amdi-header__logo img, .amdi-header__logo svg { height: 36px; width: auto; display: block; }
.amdi-nav { display: flex; gap: var(--amdi-space-lg); list-style: none; margin: 0; padding: 0; }
.amdi-nav a { display: inline-flex; align-items: center; min-height: var(--amdi-target-min); color: var(--amdi-text-secondary); text-decoration: none; font-size: var(--amdi-text-body-sm); font-weight: 500; position: relative; transition: color var(--amdi-motion-fast); }
.amdi-nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 8px; height: 2px; background: var(--amdi-accent-primary); transform: scaleX(0); transform-origin: left; transition: transform var(--amdi-motion-base) var(--amdi-ease); }
.amdi-nav a:hover, .amdi-nav a[aria-current] { color: var(--amdi-text-primary); }
.amdi-nav a:hover::after, .amdi-nav a[aria-current]::after { transform: scaleX(1); }
.amdi-menu-toggle { display: none; min-width: var(--amdi-target-min); min-height: var(--amdi-target-min); background: transparent; border: 1px solid var(--amdi-border-strong); color: var(--amdi-text-primary); cursor: pointer; }
@media (max-width: 860px) {
  .amdi-menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .amdi-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; gap: 0; padding: var(--amdi-space-md) var(--amdi-page-pad); background: var(--amdi-bg-canvas); border-bottom: 1px solid var(--amdi-border-subtle); }
  .amdi-nav.is-open { display: flex; }
}
.amdi-footer { background: var(--amdi-bg-surface); color: var(--amdi-text-secondary); padding-block: var(--amdi-space-5xl) var(--amdi-space-xl); border-top: 1px solid var(--amdi-border-subtle); font-size: var(--amdi-text-body-sm); }
.amdi-footer a { color: var(--amdi-text-secondary); text-decoration: none; } .amdi-footer a:hover { color: var(--amdi-text-primary); text-decoration: underline; }
.amdi-footer__legal { margin-top: var(--amdi-space-3xl); padding-top: var(--amdi-space-lg); border-top: 1px solid var(--amdi-border-subtle); font-family: var(--amdi-font-mono); font-size: var(--amdi-text-mono); letter-spacing: .06em; }

/* ---------- Cards, stats, chips ---------- */
.amdi-card { position: relative; padding: var(--amdi-space-xl); background: var(--amdi-bg-elevated); border: 1px solid var(--amdi-border-subtle); border-radius: var(--amdi-radius); box-shadow: 0 1px 0 var(--amdi-effect-highlight) inset, 0 12px 32px -22px var(--amdi-effect-shadow-soft); transition: transform var(--amdi-motion-base) var(--amdi-ease), border-color var(--amdi-motion-base), box-shadow var(--amdi-motion-base); overflow: hidden; }
.amdi-card--link:hover, .amdi-card.is-interactive:hover { transform: translateY(-3px); border-color: var(--amdi-accent-primary); box-shadow: 0 18px 40px -20px var(--amdi-effect-shadow); }
.amdi-card--surface { background: var(--amdi-bg-surface); }
.amdi-card__kicker { margin-bottom: var(--amdi-space-sm); }
.amdi-card[data-amdi-spotlight]::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; background: radial-gradient(320px circle at var(--amdi-mx, 50%) var(--amdi-my, 50%), var(--amdi-effect-glow), transparent 70%); transition: opacity var(--amdi-motion-base); }
.amdi-card[data-amdi-spotlight]:hover::before { opacity: 1; }
.amdi-stat-block { border-top: 2px solid var(--amdi-accent-primary); padding-top: var(--amdi-space-md); }
.amdi-stat-block .amdi-mono { color: var(--amdi-text-secondary); text-transform: uppercase; }
.amdi-chip { display: inline-flex; align-items: center; gap: var(--amdi-space-2xs); min-height: 28px; padding: .25rem .75rem; border: 1px solid var(--amdi-border-strong); font-family: var(--amdi-font-mono); font-size: var(--amdi-text-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--amdi-text-secondary); background: transparent; }
.amdi-chip--accent { border-color: var(--amdi-accent-primary); color: var(--amdi-text-accent); }
.amdi-chip--live::before { content: ""; width: 6px; height: 6px; background: var(--amdi-accent-signal); animation: amdi-signal var(--amdi-motion-signal-loop) ease-in-out infinite; }
@keyframes amdi-signal { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(.6); } }
.amdi-toggle-group { display: inline-flex; border: 1px solid var(--amdi-border-strong); }
.amdi-toggle-group button { min-height: var(--amdi-target-min); padding: 0 1.25rem; background: transparent; color: var(--amdi-text-secondary); border: 0; border-right: 1px solid var(--amdi-border-strong); font: 500 var(--amdi-text-body-sm) var(--amdi-font-sans); cursor: pointer; }
.amdi-toggle-group button:last-child { border-right: 0; }
.amdi-toggle-group button[aria-pressed="true"], .amdi-toggle-group button[aria-selected="true"] { background: var(--amdi-accent-primary); color: var(--amdi-text-on-accent); }

/* ---------- Forms ---------- */
.amdi-field { display: grid; gap: var(--amdi-space-2xs); margin-bottom: var(--amdi-space-lg); }
.amdi-field label, .amdi-label-text { font-size: var(--amdi-text-body-sm); font-weight: 600; }
.amdi-field .amdi-hint { font-size: var(--amdi-text-body-sm); color: var(--amdi-text-secondary); }
.amdi-input, .amdi-select, .amdi-textarea {
  width: 100%; min-height: var(--amdi-target-min); padding: .65rem .9rem; font: inherit; color: var(--amdi-text-primary);
  background: var(--amdi-bg-surface); border: 1px solid var(--amdi-border-strong); border-radius: var(--amdi-radius);
  transition: border-color var(--amdi-motion-fast), box-shadow var(--amdi-motion-fast);
}
.amdi-textarea { min-height: 140px; resize: vertical; }
.amdi-input::placeholder, .amdi-textarea::placeholder { color: var(--amdi-text-secondary); opacity: .7; }
.amdi-input:hover, .amdi-select:hover, .amdi-textarea:hover { border-color: var(--amdi-accent-primary); }
.amdi-input:focus-visible, .amdi-select:focus-visible, .amdi-textarea:focus-visible { outline: var(--amdi-focus-width) solid var(--amdi-state-focus); outline-offset: 1px; }
.amdi-field.is-invalid .amdi-input, .amdi-field.is-invalid .amdi-textarea, .amdi-field.is-invalid .amdi-select, .amdi-input[aria-invalid="true"] { border-color: var(--amdi-state-error); }
.amdi-field .amdi-error { color: var(--amdi-state-error); font-size: var(--amdi-text-body-sm); font-weight: 500; }
.amdi-field.is-valid .amdi-input { border-color: var(--amdi-state-success); }
.amdi-check { display: flex; gap: var(--amdi-space-xs); align-items: flex-start; min-height: var(--amdi-target-min); }
.amdi-check input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--amdi-accent-primary); }
.amdi-form-status { padding: var(--amdi-space-md); border-left: 3px solid var(--amdi-state-success); background: var(--amdi-bg-surface); }
.amdi-form-status--error { border-left-color: var(--amdi-state-error); }

/* ---------- Tabs ---------- */
.amdi-tabs [role="tablist"] { display: flex; gap: var(--amdi-space-xs); border-bottom: 1px solid var(--amdi-border-subtle); overflow-x: auto; }
.amdi-tabs [role="tab"] { min-height: var(--amdi-target-min); padding: 0 var(--amdi-space-lg); background: transparent; border: 0; border-bottom: 2px solid transparent; color: var(--amdi-text-secondary); font: 500 var(--amdi-text-body-md) var(--amdi-font-sans); cursor: pointer; white-space: nowrap; margin-bottom: -1px; }
.amdi-tabs [role="tab"]:hover { color: var(--amdi-text-primary); }
.amdi-tabs [role="tab"][aria-selected="true"] { color: var(--amdi-text-primary); border-bottom-color: var(--amdi-accent-primary); }
.amdi-tabs [role="tabpanel"] { padding-top: var(--amdi-space-lg); }
.amdi-tabs [role="tabpanel"][hidden] { display: none; }

/* ---------- Table ---------- */
.amdi-table-wrap { overflow-x: auto; border: 1px solid var(--amdi-border-subtle); }
.amdi-table { width: 100%; border-collapse: collapse; font-size: var(--amdi-text-body-sm); }
.amdi-table th { text-align: left; font-family: var(--amdi-font-mono); font-size: var(--amdi-text-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--amdi-text-secondary); font-weight: 500; padding: var(--amdi-space-sm) var(--amdi-space-md); background: var(--amdi-bg-surface); border-bottom: 1px solid var(--amdi-border-strong); }
.amdi-table td { padding: var(--amdi-space-md); border-bottom: 1px solid var(--amdi-border-subtle); vertical-align: top; }
.amdi-table tbody tr:hover { background: color-mix(in srgb, var(--amdi-accent-primary) 6%, transparent); }

/* ---------- Console / code ---------- */
.amdi-console { background: var(--amdi-forest-night); color: var(--amdi-cream); border: 1px solid var(--amdi-forest-deep); font-family: var(--amdi-font-mono); font-size: var(--amdi-text-mono); line-height: 1.8; }
.amdi-console__bar { display: flex; gap: var(--amdi-space-xs); align-items: center; padding: var(--amdi-space-xs) var(--amdi-space-md); border-bottom: 1px solid var(--amdi-forest-deep); color: var(--amdi-kraft); letter-spacing: .1em; text-transform: uppercase; }
.amdi-console__body { padding: var(--amdi-space-md); margin: 0; overflow-x: auto; }
.amdi-console .ok { color: var(--amdi-sun); } .amdi-console .info { color: var(--amdi-cream); } .amdi-console .warn { color: var(--amdi-pumpkin); }
.amdi-code, .amdi code { font-family: var(--amdi-font-mono); font-size: .875em; }
.amdi :not(pre) > code { padding: .1em .4em; background: var(--amdi-bg-surface); border: 1px solid var(--amdi-border-subtle); }

/* ---------- CTA band / FAQ ---------- */
.amdi-cta { padding: var(--amdi-space-5xl) var(--amdi-space-xl); background: var(--amdi-bg-inverse); color: var(--amdi-text-inverse); text-align: left; }
.amdi-cta .amdi-btn { background: var(--amdi-text-inverse); color: var(--amdi-bg-inverse); }
.amdi-faq details { border-bottom: 1px solid var(--amdi-border-subtle); }
.amdi-faq summary { display: flex; justify-content: space-between; align-items: center; gap: var(--amdi-space-md); min-height: 56px; cursor: pointer; font-weight: 600; list-style: none; }
.amdi-faq summary::-webkit-details-marker { display: none; }
.amdi-faq summary::after { content: "+"; font-family: var(--amdi-font-mono); font-size: 1.5rem; color: var(--amdi-text-accent); transition: transform var(--amdi-motion-base) var(--amdi-ease); }
.amdi-faq details[open] summary::after { transform: rotate(45deg); }
.amdi-faq details > :not(summary) { padding-bottom: var(--amdi-space-md); color: var(--amdi-text-secondary); }

/* ---------- Reveal / motion ---------- */
.amdi-js [data-amdi-reveal] { opacity: 0; transform: translateY(24px); transition: opacity var(--amdi-motion-slow) var(--amdi-ease-reveal), transform var(--amdi-motion-slow) var(--amdi-ease-reveal); transition-delay: calc(var(--amdi-stagger, 0) * 80ms); }
.amdi-js [data-amdi-reveal].is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .amdi *, .amdi *::before, .amdi *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; transition-delay: 0s !important; }
  .amdi-js [data-amdi-reveal] { opacity: 1; transform: none; }
}

/* ---------- Logo helpers ---------- */
.amdi-logo--on-dark { display: none; }
[data-amdi-mode="enterprise"] .amdi-logo--on-light, [data-amdi-mode="intelligence"] .amdi-logo--on-light { display: none; }
[data-amdi-mode="enterprise"] .amdi-logo--on-dark, [data-amdi-mode="intelligence"] .amdi-logo--on-dark { display: block; }
.amdi-logo-clear { padding: calc(var(--amdi-logo-h, 36px) * .5); }
@media print { .amdi-header, .amdi-menu-toggle { display: none; } .amdi-section { padding-block: 24px; } }

/* ---------- Amdi Farm identity ---------- */
.amdi h1, .amdi h2, .amdi h3, .amdi h4, .amdi-h1, .amdi-h2, .amdi-h3, .amdi-h4, .amdi-display-xl, .amdi-display-lg, .amdi-stat { font-family: var(--amdi-font-serif); font-weight: 700; letter-spacing: -0.01em; }
.amdi-eyebrow, .amdi-label, .amdi-chip, .amdi-mono, .amdi-table th, .amdi-footer__legal { font-weight: 700; }
.amdi-eyebrow { letter-spacing: .18em; }
.amdi-btn { border-radius: var(--amdi-radius-btn); }
.amdi-btn--sm { border-radius: var(--amdi-radius-btn); }
.amdi-chip, .amdi-toggle-group { border-radius: var(--amdi-radius-btn); overflow: hidden; }
.amdi-toggle-group button { border-radius: 0; }
.amdi-input, .amdi-select, .amdi-textarea, .amdi-table-wrap, .amdi-console { border-radius: var(--amdi-radius-sm); }
.amdi-stat-block { border-top: 3px solid var(--amdi-accent-warm); }
