/* Base (from the design's <helmet> styles) */
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:#fff;color:#1c2a36;font-family:'Source Sans 3',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{color:#1f5d2b;text-decoration:none}
a:hover{color:#174a22}
h1,h2,h3,h4{margin:0;text-wrap:balance}
p{margin:0;text-wrap:pretty}
input,textarea,select,button{font:inherit}
[hidden]{display:none!important}

/* Hover states (replace the design's style-hover attributes) */
.hv-primary:hover{background:#174a22!important;color:#fff!important}
.hv-outline:hover{background:#eef5ec!important;color:#0f2a44!important}
.hv-outline2:hover{background:#f6faf5!important;color:#0f2a44!important}
.hv-card:hover{border-color:#1f5d2b!important;color:#1c2a36!important}
.hv-item:hover{background:#eef5ec!important;color:#1f5d2b!important}
.hv-side:hover{background:#f6faf5!important;color:#1f5d2b!important}
.hv-text:hover{color:#1f5d2b!important}

/* Desktop / mobile switch (design breakpoint: 1100px) */
@media (max-width:1099.98px){.only-desktop{display:none!important}}
@media (min-width:1100px){.only-mobile{display:none!important}}
.hero-inner{padding:56px clamp(16px,4vw,60px) 110px}
@media (max-width:1099.98px){.hero-inner{padding:32px clamp(16px,4vw,60px) 28px}}

/* Client logo marquee */
@keyframes logoLTR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
[data-marquee]:hover{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){[data-marquee]{animation:none!important}}

/* Form errors */
.field-error{grid-column:1/-1;font-size:14px;color:#b3261e}
