html { scroll-behavior: smooth; }

body.agrista-site {
  margin: 0;
  background: var(--ag-canvas);
  color: var(--ag-text);
  font-family: var(--ag-font);
  font-size: 16px;
  line-height: 1.8;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.agrista-site * { box-sizing: border-box; }
body.agrista-site img { max-width: 100%; height: auto; }
body.agrista-site button,
body.agrista-site input,
body.agrista-site textarea,
body.agrista-site select { font: inherit; }

body.agrista-site a { color: inherit; }
body.agrista-site p { margin-block: 0 1em; }
body.agrista-site h1,
body.agrista-site h2,
body.agrista-site h3,
body.agrista-site h4,
body.agrista-site h5,
body.agrista-site h6 { font-family: var(--ag-font); }

[hidden] { display: none !important; }

.ag-container {
  width: min(var(--ag-container), calc(100% - 96px));
  margin-inline: auto;
}

.ag-container--wide {
  width: min(var(--ag-container-wide), calc(100% - 96px));
  margin-inline: auto;
}

.ag-section { padding-block: 88px 96px; }
.ag-section--important { padding-block: 104px 120px; }
.ag-section--compact { padding-block: 64px 72px; }

.ag-eyebrow {
  color: var(--ag-primary);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  margin-block-end: 12px;
}

.ag-h1,.ag-h2,.ag-h3 {
  color: var(--ag-text);
  margin: 0;
  text-wrap: balance;
}
.ag-h1 { font-size: clamp(46px,4.4vw,66px); line-height: 1.13; font-weight: 700; letter-spacing: -.015em; }
.ag-h2 { font-size: clamp(33px,3vw,46px); line-height: 1.22; font-weight: 700; letter-spacing: -.01em; }
.ag-h3 { font-size: 24px; line-height: 1.4; font-weight: 650; }
.ag-copy { max-width: 650px; color: var(--ag-muted); }
.ag-intro { max-width: 650px; font-size: 18px; line-height: 1.75; color: var(--ag-muted); }

[data-ag-reveal] {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition: opacity var(--ag-motion-reveal) var(--ag-ease-premium), transform var(--ag-motion-reveal) var(--ag-ease-premium);
}
.agrista-js [data-ag-reveal].is-visible { opacity: 1; transform: none; }
.no-js [data-ag-reveal] { opacity: 1; transform: none; }

:focus-visible { outline: 3px solid rgba(var(--ag-primary-rgb),.26); outline-offset: 3px; }

@media (max-width:1199px) {
  .ag-container,.ag-container--wide { width: calc(100% - 64px); }
}
@media (max-width:900px) {
  .ag-container,.ag-container--wide { width: calc(100% - 40px); }
  .ag-section,.ag-section--important { padding-block: 64px 72px; }
}
@media (max-width:767px) {
  .ag-container,.ag-container--wide { width: calc(100% - 32px); }
  .ag-section,.ag-section--important { padding-block: 48px 56px; }
  .ag-section--compact { padding-block: 40px 44px; }
  .ag-h1 { font-size: clamp(29px,8.2vw,35px); line-height: 1.32; }
  .ag-h2 { font-size: 25px; line-height: 1.35; }
  .ag-h3 { font-size: 20px; line-height: 1.45; }
  .ag-intro { font-size: 16px; }
}
@media (max-width:375px) {
  .ag-container,.ag-container--wide { width: calc(100% - 24px); }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  [data-ag-reveal] { opacity: 1 !important; transform: none !important; }
}
