:root{--green:#88b640;--ink:#3c4448;--line:#e4e8df}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:17px/1.6 Arial,sans-serif}a{color:#527d24;text-underline-offset:3px}header{border-bottom:1px solid var(--line)}.header-inner{max-width:1200px;margin:auto;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:32px}.logo img{width:190px}nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}nav a{text-decoration:none}nav form{margin:0}main{max-width:1150px;min-height:65vh;margin:auto;padding:32px 24px 64px}h1,h2,h3{line-height:1.2;font-weight:500}h1{font-size:clamp(32px,4vw,54px)}h2{font-size:30px}h3{font-size:22px}.hero{display:grid;grid-template-columns:1fr 300px;gap:80px;align-items:center;padding:40px 0 64px}.eyebrow{font-size:13px;letter-spacing:2px;color:#6e8c42}.sample-label{max-width:240px;max-height:350px;object-fit:contain;justify-self:center}section{padding:25px 0;scroll-margin-top:24px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cards article,.content-card{padding:24px;border:1px solid var(--line);background:#fafbf8;border-radius:4px}.pricing{grid-template-columns:repeat(4,1fr)}.price{font-size:32px}button,input[type=submit],.button{display:inline-block;border:0;border-radius:3px;background:var(--green);color:white;padding:12px 20px;text-decoration:none;font:inherit;cursor:pointer}form{max-width:520px}label{display:block;margin:18px 0 5px}input:not([type=checkbox]):not([type=submit]),select,textarea{display:block;width:100%;padding:12px;border:1px solid #bcc4b6;font:inherit}input[type=submit]{margin-top:24px}.flash,[role=alert]{padding:16px;margin:16px 0;border:1px solid #d7e4c7;background:#f3f8ec}.alert,[role=alert]{background:#fff1ee;border-color:#e8c6bc}iframe{width:min(100%,650px);height:365px;border:0}footer{padding:36px 24px;background:#f5f6f2;border-top:1px solid var(--line)}footer>div,footer>p{max-width:1100px;margin:12px auto}footer a{margin-right:22px}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid var(--line);padding:14px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media(max-width:850px){.header-inner{align-items:flex-start;flex-direction:column;gap:18px}nav{gap:14px;font-size:15px}.hero{grid-template-columns:1fr;gap:30px}.cards,.pricing{grid-template-columns:1fr 1fr}}@media(max-width:480px){.cards,.pricing{grid-template-columns:1fr}.hero{padding-top:8px}main{padding:24px 18px}iframe{height:210px}}

/* Shared form errors and flash messages, including logged-out Devise forms. */
.flash.alert,.flash.error,.flash.warning,.validation-summary,[role=alert] { background:#f2dede;color:#a94442;border:1px solid #ebccd1;border-radius:4px;padding:14px 18px;margin:16px 0; }
.flash.notice,.flash.success { background:#dff0d8;border-color:#d6e9c6;color:#3c763d; }
.flash.info { background:#d9edf7;border-color:#bce8f1;color:#31708f; }
.validation-summary ul { margin:6px 0 0;padding-left:22px; }.validation-summary strong { font-weight:700; }
input.invalid-field,select.invalid-field,textarea.invalid-field,input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true] { border:1px solid #a94442 !important;box-shadow:inset 0 0 0 1px #a94442;background-color:#fff8f8; }
.field-error { display:block;color:#a94442;font-size:14px;font-weight:600;margin:5px 0 12px;line-height:1.4; }
.invalid-field:focus,[aria-invalid=true]:focus { outline:2px solid #a94442;outline-offset:2px; }
.formula-results a { text-decoration:none; }.formula-results a:hover { color:#365d17; }

.field-validation { display:block;min-width:0; }.serving-input > .field-validation { flex:1;width:100%; }

.serving-input { align-items:flex-start; }
.serving-input > input:not([type=submit]),.serving-input > select,.serving-input > .field-validation { flex:1 1 0;min-width:0;width:100%; }
.auth-page { font-size:14px;line-height:1.55; }.auth-page main { max-width:1170px; }.auth-page main form { max-width:420px; }.auth-page h1 { font-size:30px; }.auth-page h2 { font-size:24px; }
.auth-page label { margin-top:12px; }.auth-page input:not([type=checkbox]):not([type=submit]),.auth-page select { padding:6px 10px;font-size:14px;line-height:20px;height:34px; }
.auth-page .field p { margin:6px 0; }.auth-page input[type=submit] { padding:8px 18px;margin-top:16px; }
