@font-face { font-family: "Cormorant Garamond"; src: url("fonts/cormorant-garamond-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Cormorant Garamond"; src: url("fonts/cormorant-garamond-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Cormorant Garamond"; src: url("fonts/cormorant-garamond-latin-400-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Nunito"; src: url("fonts/nunito-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; }
:root { --paper: #fbf9f4; --ink: #2b2b28; --sage: #6b7a63; --line: #d9d4c7; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper) url("lov.svg?v=2") repeat top left / 600px 600px; color: var(--ink); font-family: "Nunito", system-ui, sans-serif; font-size: 1.05rem; line-height: 1.75; }
h1, h2, .lead, .dropcap::first-letter { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 500; }
.logo { width: 9rem; height: 9rem; margin: 0 auto 1.25rem; }
.top { text-align: center; padding: 3rem 1.25rem 2rem; }
.kicker { text-transform: uppercase; letter-spacing: .3em; font-size: .75rem; color: var(--sage); margin: 0 0 1rem; }
h1 { font-size: clamp(2.4rem, 8vw, 4.2rem); line-height: 1.05; margin: 0; letter-spacing: .02em; }
.lead { font-style: italic; font-weight: 400; font-size: 1.5rem; color: var(--sage); margin: .75rem 0 0; }
figure { margin: 0; }
img { display: block; width: 100%; height: auto; }
.full img { max-height: 28rem; object-fit: cover; }
.inset { max-width: 60rem; margin: 3rem auto; padding: 0 1.25rem; }
main { padding-bottom: 3rem; }
.intro, .narrow, .contact { max-width: 36rem; margin: 0 auto; padding: 0 1.25rem; }
.intro { padding-top: 3rem; }
.dropcap::first-letter { float: left; font-size: 4.2rem; line-height: .8; padding: .35rem .6rem 0 0; color: var(--sage); }
.dropcap { font-size: 1.2rem; }
.cols { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; align-items: center; max-width: 60rem; margin: 3.5rem auto; padding: 0 1.25rem; }
.reverse > div { order: -1; }
h2 { font-size: 2rem; margin: 0 0 .75rem; }
ul { list-style: none; padding: 0; margin: 0; }
li { padding: .4rem 0; border-bottom: 1px solid var(--line); }
.contact { text-align: center; margin-top: 4rem; padding-top: 2.5rem; border-top: 1px solid var(--line); }
a { color: var(--ink); text-underline-offset: .2em; }
@media (max-width: 640px) { .cols { grid-template-columns: 1fr; gap: 1.25rem; } .reverse > div { order: 0; } }
.kontakt-form { text-align: left; margin-top: 1.5rem; display: grid; gap: .9rem; }
.kontakt-form label { display: grid; gap: .25rem; font-size: .95rem; }
.kontakt-form input, .kontakt-form textarea { font: inherit; padding: .6rem .75rem; border: 1px solid var(--line); background: rgba(255,255,255,.85); color: var(--ink); border-radius: 2px; }
.kontakt-form button { font: inherit; font-weight: 700; padding: .7rem 1.5rem; background: var(--sage); color: #fff; border: 0; border-radius: 2px; cursor: pointer; justify-self: start; }
.honung { position: absolute; left: -9999px; }
