@import url('https://fonts.googleapis.com/css2?family=Cabin:wght@400;600;700&family=Patua+One&display=swap');
:root{--bg:#f3ebe3;--ink:#2a1c14;--accent:#6f4e37;--alt:#e7dbcf;--line:#d2c2b2}
body{font-family:Cabin,sans-serif}h1,h2,h3,.kw-name{font-family:"Patua One",serif}

*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);line-height:1.55}
img{max-width:100%;display:block;height:auto;object-fit:cover;background:var(--alt)}
a{color:var(--accent)}
nav{display:flex;gap:1.2rem;flex-wrap:wrap}
nav a{color:var(--ink);font-weight:600;font-size:.92rem;text-decoration:none}
.btn{display:inline-block;background:var(--accent);color:var(--bg);padding:.8rem 1.2rem;font-weight:700;border:none;cursor:pointer;text-decoration:none}
.wrap{width:min(1120px,92%);margin:0 auto}
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--ink);color:var(--bg);padding:1rem 1.25rem}
.cookie-inner{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}
.cookie-banner a{color:var(--accent)}
.btn-cookie{cursor:pointer;font:inherit;padding:.55rem 1rem;border:none}
.btn-cookie.accept{background:var(--accent);color:var(--bg)}
.btn-cookie.reject{background:transparent;color:inherit;border:1px solid currentColor}
.contact-form{max-width:34rem;display:grid;gap:1rem}
.form-row{display:grid;gap:.35rem}
.form-row input,.form-row textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit}
.hp-field{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.field-error{color:#c62828;font-size:.875rem}
.form-success{padding:1.2rem;border:1px solid var(--accent);background:var(--alt)}


.kw-bar{{display:flex;align-items:center;justify-content:space-between;padding:1rem 4%;background:var(--alt);border-bottom:2px solid var(--accent);position:sticky;top:0;z-index:40}}.kw-name{{text-decoration:none;color:var(--ink);font-size:1.25rem}}.kw-toggle{{display:none;background:var(--accent);color:#fff;border:none;padding:.4rem .55rem;border-radius:50%}}
.kw-roast-hero{{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:4rem 4%;align-items:center}}.kw-tag{{color:var(--accent);font-weight:700;text-transform:uppercase;font-size:.72rem}}.kw-roast-hero img{{width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%}}.kw-sm{{grid-template-columns:1fr;padding:2rem 4%}}
.kw-brew{{padding:3rem 4%}}.kw-brew-grid{{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}}.kw-brew-grid article{{background:var(--alt);padding:1.2rem;text-align:center;border-radius:1rem}}
.kw-beans{{padding:3rem 4%;background:var(--alt);text-align:center}}.kw-ritual{{padding:3rem 4%}}.kw-ritual-box{{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}}.kw-ritual-box img{{width:100%;min-height:220px;object-fit:cover;border-radius:.5rem}}
.kw-quote{{padding:2.5rem 4%;text-align:center;font-family:"Patua One",serif;font-size:1.2rem}}.kw-cta{{padding:3rem 4%;text-align:center}}.kw-saucer{{padding:2rem 4%;border-top:2px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:2rem}}.kw-saucer a{{margin-left:1rem;color:var(--accent)}}
@media(max-width:860px){{.kw-toggle{{display:block}}nav{{display:none;position:absolute;right:4%;top:3.5rem;flex-direction:column;background:#fff;border:1px solid var(--line);padding:1rem}}nav.is-open{{display:flex}}.kw-bar{{position:relative}}.kw-roast-hero,.kw-brew-grid,.kw-ritual-box{{grid-template-columns:1fr}}}}


.kaffeewerk-contact-hero,.kaffeewerk-legal-hero{padding:clamp(2.5rem,7vw,5rem) 4% 1.5rem}
.kaffeewerk-contact-form,.kaffeewerk-contact-hours,.kaffeewerk-contact-topics,.kaffeewerk-contact-legal,.kaffeewerk-contact-alt,.kaffeewerk-legal-1,.kaffeewerk-legal-2,.kaffeewerk-legal-3,.kaffeewerk-legal-4,.kaffeewerk-legal-5{padding:2.25rem 4%}
.kaffeewerk-contact-hours,.kaffeewerk-legal-2,.kaffeewerk-legal-4{background:var(--alt)}
.contact-topics{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}
.contact-topics article{border:1px solid var(--line);padding:1rem;background:var(--alt)}
@media(max-width:860px){.contact-topics{grid-template-columns:1fr}}

