:root{--bg:#f7f3ea;--ink:#1f2a24;--muted:#5b665f;--brand:#2f4a3a;--acc:#b5652b;--card:#fffdf8;--line:#e3dccb;font-family:ui-serif,Georgia,"Iowan Old Style",serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.65;font-size:1.0625rem}
.wrap{max-width:62rem;margin:0 auto;padding:0 1.25rem}a{color:var(--brand);text-underline-offset:.18em}a:hover{color:var(--acc)}
:focus-visible{outline:3px solid var(--acc);outline-offset:2px}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:9}
header.site{border-bottom:1px solid var(--line);background:var(--card)}.bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding-top:.7rem;padding-bottom:.7rem}
.logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--ink);font-size:1.4rem;letter-spacing:.01em}.logo b{color:var(--acc);font-weight:700}
nav a{margin-left:1rem;text-decoration:none;font-family:system-ui,sans-serif;font-size:.95rem}nav a[aria-current]{text-decoration:underline}
h1,h2,h3{line-height:1.2;color:var(--brand)}h1{font-size:clamp(2rem,5vw,3.2rem);margin:.6em 0 .3em}.lead{font-size:1.2rem;color:var(--muted);max-width:44rem}
.hero{padding:2.5rem 0 1rem}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font:600 .8rem system-ui,sans-serif;color:var(--acc);margin:0}
.btn{display:inline-block;background:var(--brand);color:#fff;padding:.65rem 1.1rem;border-radius:.5rem;text-decoration:none;font:600 1rem system-ui,sans-serif;margin:.3rem .4rem .3rem 0}.btn:hover{background:var(--acc);color:#fff}.btn.ghost{background:transparent;color:var(--brand);border:2px solid var(--brand)}
.grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.9rem}.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:.8rem;padding:1rem 1.1rem;text-decoration:none;transition:transform .15s}.card:hover{transform:translateY(-2px);border-color:var(--acc)}
.card .k{display:block;font-size:1.2rem;color:var(--ink)}.card .spec{font:.88rem system-ui,sans-serif;color:var(--muted)}
.three{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.5rem;margin:2rem 0}.aside,.more,.pair,.fix{background:var(--card);border:1px solid var(--line);border-radius:.8rem;padding:1rem 1.3rem;margin:1.5rem 0}
.pair .tea{font-weight:600;margin:.2rem 0}.crumbs{font:.9rem system-ui,sans-serif;color:var(--muted);margin-top:1.2rem}
.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;background:var(--card);font-family:system-ui,sans-serif;font-size:.95rem}caption{text-align:left;padding:.5rem 0;color:var(--muted)}th,td{border-bottom:1px solid var(--line);padding:.6rem;text-align:left}
.specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.8rem;margin:1.5rem 0}.specs div{background:var(--brand);color:#fff;border-radius:.8rem;padding:.9rem}.specs dt{font:600 .75rem system-ui,sans-serif;text-transform:uppercase;letter-spacing:.12em;opacity:.85}.specs dd{margin:0;font-size:1.5rem}.specs small{display:block;font-size:.85rem;opacity:.85}
.calc{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem;background:var(--card);border:1px solid var(--line);border-radius:.8rem;padding:1.2rem}.calc label{display:flex;flex-direction:column;font:600 .9rem system-ui,sans-serif;gap:.3rem}.calc input,.calc select{font:1.1rem system-ui,sans-serif;padding:.5rem;border:1px solid #b9b19c;border-radius:.4rem;background:#fff}
.result{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.8rem;margin:1rem 0}.result span{background:var(--brand);color:#fff;border-radius:.8rem;padding:1rem;font-family:system-ui,sans-serif}.result b{font-size:1.4rem;display:block}
footer.site{margin-top:3rem;border-top:1px solid var(--line);padding:1.5rem 0;color:var(--muted);font-size:.95rem}.small{font-size:.85rem;color:var(--muted)}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}@media (max-width:40rem){nav a{margin:0 .8rem 0 0}}
nav a.lang{border:1px solid var(--brand);border-radius:.3rem;padding:.05rem .4rem;font-weight:600;font-size:.8rem}
.answer{font-size:1.15rem;background:var(--card);border-left:4px solid var(--brand);border-radius:.4rem;padding:.9rem 1.2rem;margin:1rem 0 1.5rem;max-width:46rem}.byline{color:var(--muted);font-size:.9rem;margin:0}
.faq h3{font-size:1.1rem;margin:1.2em 0 .3em}.faq{border-top:1px solid var(--line);margin-top:2rem}.guides li{margin:.45rem 0}.more ul{margin:.3rem 0;padding-left:1.2rem}
