:root{--bg: #f3f0ea;--ink: #1a1f1c;--muted: #5a635c;--accent: #0b5f4b;--line: #c9c2b6;--card: #fffcf7;--critical: #7a1f1f;--critical-bg: #f8e8e6;font-family:"Source Sans 3",Segoe UI,system-ui,sans-serif;color:var(--ink);background:radial-gradient(ellipse at 10% 0%,#dfe8e2 0%,transparent 50%),radial-gradient(ellipse at 90% 10%,#e8e0d4 0%,transparent 45%),var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh}.app{max-width:1180px;margin:0 auto;padding:1.25rem 1.5rem 3rem}.top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:.75rem}.brand{font-size:1.35rem;font-weight:700;color:var(--accent);text-decoration:none;letter-spacing:-.02em}nav{display:flex;flex-wrap:wrap;gap:.85rem}nav a{color:var(--muted);text-decoration:none;font-size:.95rem}nav a:hover{color:var(--accent)}.disclaimer{margin:1rem 0 1.5rem;padding:.75rem 1rem;background:var(--card);border-left:3px solid var(--accent);color:var(--muted);font-size:.92rem}.page h1{margin:0 0 .35rem;font-size:1.75rem;letter-spacing:-.03em}.lede{color:var(--muted);margin-top:0}.side-links{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:baseline;margin:1rem 0;font-size:.95rem}.side-links p{margin:0;color:var(--muted)}.side-links a{color:var(--accent)}fieldset{border:1px solid var(--line);background:var(--card);margin:1.25rem 0;padding:1rem 1.1rem 1.25rem}legend{font-weight:650;padding:0 .35rem}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.35rem 1rem}label{display:flex;flex-direction:column;gap:.25rem;margin:.55rem 0;font-size:.9rem}input,select{font:inherit;padding:.4rem .5rem;border:1px solid var(--line);background:#fff;max-width:100%}.hint{color:var(--muted);font-size:.8rem}.derived ul{margin:.25rem 0 0;padding-left:1.1rem}.cta{display:inline-block;margin-top:.5rem;padding:.65rem 1.1rem;background:var(--accent);color:#fff;text-decoration:none;font-weight:600}.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:1rem}.product-col{background:var(--card);border:1px solid var(--line);padding:1rem}.product-head{margin-bottom:.5rem}.enable{flex-direction:row;align-items:center;gap:.5rem;font-weight:650;margin:0}.enable input{width:auto}.muted{color:var(--muted);font-size:.85rem}.results{width:100%;border-collapse:collapse;font-size:.8rem;margin:.75rem 0}.results th,.results td{border-bottom:1px solid var(--line);padding:.35rem .25rem;text-align:left;vertical-align:top}.results th{color:var(--muted);font-weight:600}.results tr.critical td{background:var(--critical-bg);color:var(--critical);font-weight:600}.product-actions{margin:.5rem 0 0;font-size:.9rem}.product-actions a{color:var(--accent)}.footnote{margin-top:1.5rem}footer{margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}footer a{color:var(--accent)}.summary-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:flex-start}.summary-actions{display:flex;gap:.75rem;align-items:center}.summary-actions button{font:inherit;padding:.5rem .85rem;border:1px solid var(--line);background:#fff;cursor:pointer}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.quote-form .cta{border:none;cursor:pointer}.status{margin-top:1rem;padding:.75rem 1rem;border-left:3px solid var(--accent);background:var(--card)}.status.err{border-left-color:var(--critical);color:var(--critical);background:var(--critical-bg)}.status.ok{border-left-color:var(--accent)}.content-list{line-height:1.45}.faq-list{display:grid;gap:.65rem}.faq-item{background:var(--card);border:1px solid var(--line);padding:.65rem .85rem}.faq-item summary{cursor:pointer;font-weight:650}.faq-item p{margin:.65rem 0 .25rem;color:var(--muted)}.table-wrap{overflow-x:auto;margin:.75rem 0 1.25rem}.aci-table{width:100%;border-collapse:collapse;font-size:.82rem;background:var(--card)}.aci-table th,.aci-table td{border:1px solid var(--line);padding:.4rem .45rem;text-align:left}.notes{color:var(--muted);font-size:.9rem}.content-page h2{margin-top:1.75rem;font-size:1.15rem}@media print{.no-print,.disclaimer,.top,footer{display:none!important}.app{max-width:none;padding:0}body{background:#fff}}@media(max-width:640px){.app{padding:1rem}.page h1{font-size:1.4rem}}
