/* Phase 2B food-safety propagation: shared warm, food-first system with tool-specific hierarchy. */
.safety-page{background:linear-gradient(180deg,var(--cream) 0,var(--paper) 29rem)}
.tool-page{width:min(76rem,calc(100% - 2rem));margin:0 auto;padding:0 0 var(--space-6)}
.tool-page .crumbs{display:flex;gap:.45rem;align-items:center}
.tool-intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(16rem,.65fr);gap:clamp(1.5rem,5vw,4rem);align-items:end;margin:clamp(1.5rem,5vw,4rem) 0 var(--space-5)}
.tool-intro h1{max-width:13ch;margin:.15rem 0 .8rem;color:var(--leaf-dark);font-family:var(--display-font);font-size:clamp(2.6rem,7vw,5.35rem);font-weight:700;letter-spacing:-.045em;line-height:1.02}
.tool-intro .lede{max-width:46rem;margin:0;color:var(--muted);font-size:clamp(1.05rem,2vw,1.2rem)}
.safety-promise{display:flex;gap:.8rem;align-items:flex-start;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-card)}
.safety-promise-mark{display:grid;flex:0 0 2.35rem;width:2.35rem;height:2.35rem;place-items:center;border-radius:50%;background:var(--leaf);color:#fff;font-weight:900}
.safety-promise div{display:grid;gap:.15rem}.safety-promise strong{color:var(--leaf-dark);line-height:1.35}.safety-promise div span{color:var(--muted);font-size:.82rem;line-height:1.45}
.tool-panel,.tool-notes,.tool-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}
.tool-panel{padding:clamp(1.25rem,4vw,2.4rem);box-shadow:var(--shadow-card)}
.safety-workspace{position:relative;overflow:hidden}
.safety-workspace::before{position:absolute;inset:0 auto 0 0;width:.35rem;background:var(--coral);content:""}
.tool-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem}
.tool-panel label{display:grid;gap:.45rem;color:var(--leaf-dark);font-weight:800}
.tool-panel select,.tool-panel input{width:100%;min-height:3rem;border:1px solid #8f8174;border-radius:var(--radius-sm);background:#fff;color:var(--ink);font:inherit;padding:.65rem .8rem}
.tool-result{display:grid;gap:.4rem;margin-top:1.25rem;padding:1.2rem 1.25rem;border:1px solid #b9dcc8;border-left:.35rem solid var(--leaf);border-radius:var(--radius-md);background:#edf7f1}
.tool-result[data-state="caution"]{border-color:#e2bd76;border-left-color:#9d6400;background:#fff7e6}
.tool-result[data-state="stop"]{border-color:#e7aaaa;border-left-color:#ad2f2f;background:#fff0f0}
.tool-result strong{color:var(--leaf-dark);font-size:clamp(1.2rem,3vw,1.55rem);line-height:1.25}
.tool-result[data-state="stop"] strong{color:#802222}.tool-result span{line-height:1.6}
.tool-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin:0 0 var(--space-5)}
.tool-card{position:relative;display:flex;min-width:0;min-height:100%;flex-direction:column;overflow:hidden;padding:clamp(1.25rem,3vw,1.65rem);box-shadow:var(--shadow-card)}
.tool-card::after{position:absolute;right:-1.4rem;bottom:-2.2rem;width:7rem;height:7rem;border-radius:50%;background:var(--cream);content:"";z-index:0}
.tool-card>*{position:relative;z-index:1}.tool-card-number{align-self:flex-start;padding:.25rem .55rem;border-radius:999px;background:var(--leaf);color:#fff;font-size:.75rem;font-weight:900;letter-spacing:.08em}
.tool-card-kicker{margin:1rem 0 .15rem!important;color:var(--coral)!important;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.tool-card h2{margin:.2rem 0 .75rem;color:var(--leaf-dark);font-family:Georgia,serif;font-size:1.55rem;line-height:1.2}
.tool-card h2 a{color:inherit;text-decoration-thickness:.08em}.tool-card p{margin:.2rem 0 .9rem;color:var(--muted);line-height:1.6}
.tool-card .tool-intent{padding-top:.85rem;border-top:1px solid var(--line);color:var(--ink);font-size:.9rem;font-weight:700}
.tool-card-link{align-self:flex-start;margin-top:auto;font-weight:850}
.safety-values{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0 0 var(--space-5);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--line);box-shadow:var(--shadow-card)}
.safety-values div{display:grid;gap:.2rem;padding:1.2rem;background:var(--leaf-dark);color:#fff}
.safety-values strong{font-family:Georgia,serif;font-size:1.05rem}.safety-values span{color:#f1eae3;font-size:.82rem;line-height:1.45}
.tool-notes{margin-top:var(--space-5);padding:clamp(1.25rem,4vw,2.25rem);background:var(--warm)}
.tool-notes h2{margin:.2rem 0 .65rem;color:var(--leaf-dark);font-family:var(--display-font);font-size:clamp(1.75rem,4vw,2.4rem);line-height:1.15}
.tool-notes>p:not(.eyebrow){max-width:58rem}.tool-notes .source{padding-left:1rem;border-left:.25rem solid var(--coral);font-size:.92rem}
.tool-note-links{display:flex;flex-wrap:wrap;gap:.65rem 1.25rem}.tool-note-links a{font-weight:800}
.tool-page a:focus-visible,.tool-page button:focus-visible,.tool-page input:focus-visible,.tool-page select:focus-visible{outline:.2rem solid var(--focus);outline-offset:.2rem}
.tool-card a,.tool-note-links a{min-height:2.75rem}.tool-card-link,.tool-note-links a{display:inline-flex;align-items:center}
@media(max-width:900px){.tool-intro{grid-template-columns:1fr}.safety-promise{max-width:34rem}.tool-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-card:last-child{grid-column:1/-1}.safety-values{grid-template-columns:1fr}}
@media(max-width:700px){.tool-page{width:min(100% - 1.25rem,76rem)}.tool-intro{margin-top:1rem}.tool-intro h1{font-size:clamp(2.5rem,13vw,4rem)}.tool-card-grid{grid-template-columns:1fr}.tool-card:last-child{grid-column:auto}.tool-panel,.tool-notes,.tool-card{border-radius:var(--radius-md)}}
@media(max-width:420px){.tool-fields{grid-template-columns:minmax(0,1fr)}.tool-panel{padding:1rem}.tool-result{padding:1rem}.safety-promise{box-shadow:none}}
@media(prefers-reduced-motion:reduce){.tool-card,.tool-result{scroll-behavior:auto}}
@media print{.safety-page{background:#fff}.tool-page>nav,.site-header,.site-footer,.safety-promise,.safety-values{display:none!important}.tool-page{width:100%;padding:0}.tool-intro{display:block;margin:0 0 1rem}.tool-intro h1{font-size:26pt}.tool-panel,.tool-notes,.tool-card{border:1px solid #999;box-shadow:none}.tool-card-grid{display:block}.tool-card{break-inside:avoid;margin-bottom:.75rem}.tool-result{break-inside:avoid;background:#fff!important}}
