/* ==========================================================================
   DREIMAUS design system v1.0 — Adler Nutrition JSC.
   Build of dreimaus-ui: tokens.css + base.css + patterns.css + components.css,
   concatenated verbatim in import order. DO NOT EDIT BY HAND.
   To update, re-copy from the dreimaus-ui source repo.
   Site-specific styles belong in styles.css, never here.
   ========================================================================== */

/* DREIMAUS — design tokens. Source of truth. v1.0 */
@import url('https://fonts.googleapis.com/css2?family=Archivo:ital,wdth,wght@0,62..125,100..900;1,62..125,100..900&family=JetBrains+Mono:wght@400;500;700&display=swap');

:root {
  /* core */
  --dm-ink:#0B0B0B;
  --dm-paper:#FFFFFF;

  /* brand */
  --dm-peach:#FF7A45;
  --dm-peach-deep:#E4551D;
  --dm-peach-pale:#FFD8C6;
  --dm-lime:#C7FF1F;

  /* flavour + pattern set */
  --dm-orange:#FF6A00;   /* Kumquat   */
  --dm-pink:#FF2D8A;     /* Cherry    */
  --dm-cobalt:#2340FF;   /* Blueberry */
  --dm-cyan:#16E0F5;     /* reserve   */
  --dm-purple:#6A1FC7;   /* reserve   */
  --dm-yellow:#EBFF00;   /* reserve   */
  --dm-navy:#0A1A4F;     /* deep field */

  /* semantic */
  --dm-bg:var(--dm-ink);
  --dm-fg:var(--dm-paper);
  --dm-muted:#8C8C8C;
  --dm-line:#262626;
  --dm-action:var(--dm-lime);
  --dm-action-fg:var(--dm-ink);
  --dm-focus:var(--dm-lime);
  --dm-success:#17D07B;
  --dm-danger:#FF2D3D;

  /* type */
  --dm-font-display:'Archivo','Helvetica Neue',Arial,sans-serif;
  --dm-font-body:'Archivo','Helvetica Neue',Arial,sans-serif;
  --dm-font-mono:'JetBrains Mono',ui-monospace,'Courier New',monospace;

  --dm-wdth-display:118;
  --dm-wdth-ui:112;
  --dm-wdth-body:100;

  --dm-text-hero:clamp(3.25rem,9vw,8.75rem);
  --dm-text-d1:clamp(2.5rem,6vw,5rem);
  --dm-text-d2:clamp(1.9rem,4vw,3rem);
  --dm-text-d3:clamp(1.4rem,2.6vw,2rem);
  --dm-text-lead:clamp(1.05rem,1.6vw,1.375rem);
  --dm-text-body:1rem;
  --dm-text-small:0.875rem;
  --dm-text-label:0.75rem;

  --dm-track-display:0.04em;
  --dm-track-ui:0.06em;
  --dm-track-label:0.18em;
  --dm-track-mark:0.12em;
  --dm-leading-display:0.92;
  --dm-leading-body:1.55;

  /* space */
  --dm-s1:4px;  --dm-s2:8px;   --dm-s3:16px;  --dm-s4:24px;
  --dm-s5:40px; --dm-s6:64px;  --dm-s7:104px; --dm-s8:168px;

  /* structure */
  --dm-radius:0;
  --dm-border:2px;
  --dm-border-heavy:4px;
  --dm-hairline:1px;
  --dm-shadow:none;
  --dm-max:1240px;
  --dm-gutter:clamp(18px,4vw,48px);

  /* motion */
  --dm-tempo:300ms;
  --dm-cut:0ms;
  --dm-snap:90ms;
  --dm-ease-cut:steps(1,end);
  --dm-ease-ui:cubic-bezier(.2,0,0,1);
}

[data-variant="peach"]{
  --dm-bg:var(--dm-peach);
  --dm-fg:var(--dm-ink);
  --dm-muted:#7A3A1E;
  --dm-line:rgba(11,11,11,.25);
  --dm-action:var(--dm-ink);
  --dm-action-fg:var(--dm-paper);
}

[data-variant="still"]{
  --dm-bg:var(--dm-paper);
  --dm-fg:var(--dm-ink);
  --dm-muted:#6B6B6B;
  --dm-line:#E2E2E2;
  --dm-action:var(--dm-ink);
  --dm-action-fg:var(--dm-paper);
}

/* DREIMAUS base layer. Import after tokens.css. */

*,*::before,*::after{box-sizing:border-box}

body{
  margin:0;
  background:var(--dm-bg);
  color:var(--dm-fg);
  font-family:var(--dm-font-body);
  font-size:var(--dm-text-body);
  line-height:var(--dm-leading-body);
  font-variation-settings:'wdth' 100;
  -webkit-font-smoothing:antialiased;
}

/* ---- type ---- */
.dm-display{
  font-family:var(--dm-font-display);
  font-weight:900;
  font-variation-settings:'wdth' 118;
  letter-spacing:var(--dm-track-display);
  line-height:var(--dm-leading-display);
  text-transform:uppercase;
  margin:0;
}
.dm-hero{font-size:var(--dm-text-hero)}
.dm-d1{font-size:var(--dm-text-d1)}
.dm-d2{font-size:var(--dm-text-d2)}
.dm-d3{font-size:var(--dm-text-d3);font-weight:800;font-variation-settings:'wdth' 110}
.dm-lead{font-size:var(--dm-text-lead);max-width:62ch}
.dm-label{
  font-family:var(--dm-font-mono);
  font-size:var(--dm-text-label);
  letter-spacing:var(--dm-track-label);
  text-transform:uppercase;
  font-weight:500;
}
.dm-mark{
  font-family:var(--dm-font-display);
  font-weight:900;
  font-variation-settings:'wdth' 125;
  letter-spacing:var(--dm-track-mark);
  text-transform:uppercase;
}
.dm-num{font-family:var(--dm-font-mono);font-variant-numeric:tabular-nums}

/* ---- layout ---- */
.dm-wrap{max-width:var(--dm-max);margin-inline:auto;padding-inline:var(--dm-gutter)}
.dm-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--dm-s4)}
@media(max-width:800px){.dm-grid{grid-template-columns:repeat(4,1fr)}}
.dm-block{padding-block:var(--dm-s7)}
@media(max-width:800px){.dm-block{padding-block:var(--dm-s6)}}
.dm-rule{border:0;border-top:var(--dm-border) solid var(--dm-fg);margin:0}

/* ---- accessibility floor ---- */
:focus-visible{outline:4px solid var(--dm-focus);outline-offset:3px}
[data-variant="peach"] :focus-visible,[data-variant="still"] :focus-visible{outline-color:var(--dm-ink)}

.dm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* DREIMAUS pattern library — covers all 27 frames of the logo animation.
   Pure CSS, hard colour stops only. Never a soft blend.
   Set --p (pattern) and --b (base) per instance. */

.dm-pat{--p:var(--dm-ink);--b:var(--dm-peach);background-color:var(--b)}

.dm-pat--stripe-diag{background-image:repeating-linear-gradient(45deg,var(--p) 0 28px,transparent 28px 56px)}
.dm-pat--stripe-vert{background-image:repeating-linear-gradient(90deg,var(--p) 0 18px,transparent 18px 36px)}
.dm-pat--speedline{background-image:repeating-linear-gradient(0deg,var(--p) 0 10px,transparent 10px 34px)}
.dm-pat--bands{background-image:repeating-linear-gradient(0deg,var(--p) 0 46px,transparent 46px 92px)}
.dm-pat--checker{background-image:conic-gradient(var(--p) 0 25%,transparent 0 50%,var(--p) 0 75%,transparent 0);background-size:64px 64px}
.dm-pat--checker-sm{background-image:conic-gradient(var(--p) 0 25%,transparent 0 50%,var(--p) 0 75%,transparent 0);background-size:20px 20px}
.dm-pat--dots{background-image:radial-gradient(var(--p) 30%,transparent 31%);background-size:22px 22px}
.dm-pat--dots-lg{background-image:radial-gradient(var(--p) 34%,transparent 35%);background-size:76px 76px}
.dm-pat--halftone{background-image:radial-gradient(var(--p) 42%,transparent 43%);background-size:12px 12px}
.dm-pat--grid{background-image:linear-gradient(var(--p) 3px,transparent 3px),linear-gradient(90deg,var(--p) 3px,transparent 3px);background-size:72px 72px}
.dm-pat--concentric{background-image:repeating-radial-gradient(circle at 50% 50%,var(--p) 0 22px,transparent 22px 66px)}
.dm-pat--sunburst{background-image:repeating-conic-gradient(from 0deg at 50% 50%,var(--p) 0deg 9deg,transparent 9deg 18deg)}

/* Text on a pattern always sits on a solid plate. */
.dm-plate{background:var(--dm-bg);color:var(--dm-fg);padding:var(--dm-s5)}

/* DREIMAUS components. Import after tokens.css + base.css. */

/* ---- button ---- */
.dm-btn{
  display:inline-flex;align-items:center;gap:var(--dm-s2);
  font-family:var(--dm-font-display);font-weight:800;
  font-variation-settings:'wdth' 112;
  letter-spacing:var(--dm-track-ui);text-transform:uppercase;
  font-size:.9375rem;padding:18px 32px;
  border:var(--dm-border) solid transparent;border-radius:var(--dm-radius);
  cursor:pointer;text-decoration:none;transition:none;
}
.dm-btn--primary{background:var(--dm-action);color:var(--dm-action-fg)}
.dm-btn--primary:hover{background:var(--dm-fg);color:var(--dm-bg)}
.dm-btn--secondary{background:transparent;color:var(--dm-fg);border-color:var(--dm-fg)}
.dm-btn--secondary:hover{background:var(--dm-fg);color:var(--dm-bg)}
.dm-btn--ghost{background:transparent;color:var(--dm-fg);padding-inline:0;border-bottom:var(--dm-border) solid currentColor}
.dm-btn--sm{padding:11px 18px;font-size:.78rem}
.dm-btn--block{width:100%;justify-content:center}
.dm-btn[disabled]{opacity:.4;cursor:not-allowed}

/* ---- chip ---- */
.dm-chip{
  display:inline-block;font-family:var(--dm-font-mono);
  font-size:var(--dm-text-label);letter-spacing:var(--dm-track-label);
  text-transform:uppercase;padding:7px 12px;
  border:var(--dm-border) solid currentColor;
}
.dm-chip--solid{background:var(--dm-flavor,var(--dm-peach));color:var(--dm-ink);border-color:transparent}
.dm-chip--solid.dm-chip--dark{color:var(--dm-paper)}

/* ---- card ---- */
.dm-card{border:var(--dm-border) solid var(--dm-fg);background:var(--dm-bg);padding:var(--dm-s5)}
.dm-card--flavor{border-width:var(--dm-border-heavy);border-color:var(--dm-flavor,var(--dm-peach))}

/* ---- input ---- */
.dm-field{display:block}
.dm-field__label{display:block;font-family:var(--dm-font-mono);font-size:var(--dm-text-label);letter-spacing:var(--dm-track-label);text-transform:uppercase;color:var(--dm-muted);margin-bottom:var(--dm-s2)}
.dm-input{
  width:100%;padding:16px;background:transparent;color:var(--dm-fg);
  border:var(--dm-border) solid var(--dm-line);border-radius:var(--dm-radius);
  font-family:var(--dm-font-body);font-size:1rem;
}
.dm-input:focus{outline:none;border-color:var(--dm-focus)}
.dm-input::placeholder{color:var(--dm-muted)}
.dm-input[aria-invalid="true"]{border-color:var(--dm-danger)}
.dm-field__error{color:var(--dm-danger);font-size:var(--dm-text-small);margin-top:var(--dm-s2)}

/* ---- table ---- */
.dm-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.dm-table th,.dm-table td{text-align:left;padding:14px 8px;border-bottom:var(--dm-hairline) solid var(--dm-line)}
.dm-table th{font-family:var(--dm-font-mono);font-size:var(--dm-text-label);letter-spacing:var(--dm-track-label);text-transform:uppercase}

/* ---- price / channel bar ---- */
.dm-pricebar{
  display:flex;align-items:center;justify-content:space-between;gap:var(--dm-s4);
  border:var(--dm-border) solid var(--dm-fg);padding:var(--dm-s3) var(--dm-s4);flex-wrap:wrap;
}
.dm-pricebar--sticky{position:sticky;bottom:0;background:var(--dm-bg);z-index:40}

/* ---- section header ---- */
.dm-sechead{display:flex;gap:var(--dm-s4);align-items:baseline;flex-wrap:wrap;margin-bottom:var(--dm-s5)}
.dm-sechead__eyebrow{font-family:var(--dm-font-mono);font-size:var(--dm-text-label);letter-spacing:var(--dm-track-label);text-transform:uppercase;color:var(--dm-muted)}

/* ---- cut field (hero) ---- */
.dm-field-cut{position:relative;display:grid;place-items:center;overflow:hidden;min-height:min(74vh,620px)}
.dm-field-cut__bg{position:absolute;inset:0}
.dm-field-cut__in{position:relative;text-align:center;padding:var(--dm-s5) var(--dm-gutter)}
.dm-field-cut__ctl{position:absolute;left:0;right:0;bottom:0;display:flex;gap:var(--dm-s2);justify-content:center;padding:var(--dm-s3);flex-wrap:wrap}
