@import url('https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@400;600;700&family=Libre+Caslon+Text:wght@400;700&display=swap');
:root{--bg:#f7f1ea;--ink:#2c2620;--accent:#a67c5d;--alt:#ebe2d7;--line:#d6c9b8}
body{font-family:"Libre Franklin",sans-serif}h1,h2,h3,.hf-name{font-family:"Libre Caslon Text",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)}


.hf-shelf{{padding:1.2rem 4%;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:40}}.hf-shelf-in{{display:flex;align-items:center;justify-content:space-between;max-width:1060px;margin:0 auto}}.hf-name{{font-size:1.35rem;text-decoration:none;color:var(--ink)}}.hf-open{{display:none;border:1px solid var(--line);background:#fff;padding:.4rem .55rem}}
.hf-room-hero{{display:grid;grid-template-columns:1fr 1.2fr;gap:0;min-height:70vh;align-items:stretch}}.hf-room-copy{{padding:4rem;display:flex;flex-direction:column;justify-content:center}}.hf-kicker{{color:var(--accent);font-weight:700;text-transform:uppercase;font-size:.72rem}}.hf-room-img{{width:100%;height:100%;min-height:320px;object-fit:cover}}.hf-sm{{min-height:auto;grid-template-columns:1fr;padding:2rem 4%}}
.hf-materials{{padding:3.5rem 4%}}.hf-mat-grid{{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}}.hf-mat-grid article{{background:var(--alt);padding:1.3rem;border-bottom:3px solid var(--accent)}}
.hf-light{{padding:3rem 4%;background:var(--alt)}}.hf-light-wrap{{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;max-width:1060px;margin:0 auto}}.hf-light-wrap img{{width:100%;min-height:220px;object-fit:cover}}
.hf-texture{{padding:3rem 4%;text-align:center;max-width:36rem;margin:0 auto}}.hf-quote{{padding:3rem 4%;text-align:center;font-family:"Libre Caslon Text",serif;font-size:1.25rem;background:var(--alt)}}.hf-cta{{padding:3rem 4%;text-align:center}}.hf-base{{padding:2rem 4%;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:2rem}}.hf-base a{{margin-left:1rem;color:var(--accent)}}
@media(max-width:860px){{.hf-open{{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}}.hf-shelf{{position:relative}}.hf-room-hero,.hf-mat-grid,.hf-light-wrap{{grid-template-columns:1fr}}}}


.heimatform-contact-hero,.heimatform-legal-hero{padding:clamp(2.5rem,7vw,5rem) 4% 1.5rem}
.heimatform-contact-form,.heimatform-contact-hours,.heimatform-contact-topics,.heimatform-contact-legal,.heimatform-contact-alt,.heimatform-legal-1,.heimatform-legal-2,.heimatform-legal-3,.heimatform-legal-4,.heimatform-legal-5{padding:2.25rem 4%}
.heimatform-contact-hours,.heimatform-legal-2,.heimatform-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}}

