/* Schriften: Halant (Serife, Titel, Vorbild hussnhof.de) + Newsreader (Serife, Text) + JetBrains Mono (Meta-Label). Alle OFL, selbst gehostet. */
@font-face{font-family:'Halant';src:url('fonts/halant-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Halant';src:url('fonts/halant-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Newsreader';src:url('fonts/newsreader-var.woff2') format('woff2');font-weight:400 600;font-style:normal;font-display:swap}
@font-face{font-family:'Newsreader';src:url('fonts/newsreader-400i.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('fonts/jbmono-var.woff2') format('woff2');font-weight:500 600;font-style:normal;font-display:swap}
:root{
  --papier:#f2efe7;        /* warmes Papier (Vorbild-Palette), nicht Reinweiß */
  --tinte:#2c2a24;
  --moos:#43602f;          /* Hof-Grün: erdig, betriebsbezogen */
  --moos-dunkel:#37501f;
  --nacht:#23281d;         /* dunkle Sektionen: Tannengrün-Schwarz */
  --sand:#e7e2d4;
  --stein:#6b675c;
  --serif:'Halant',Georgia,serif;
  --sans:'Newsreader',Georgia,serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-family:var(--sans);font-weight:300;color:var(--tinte);background:var(--papier);font-size:1.04rem;line-height:1.75}
img{max-width:100%;display:block}
a{color:var(--moos);text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible{outline:3px solid var(--moos);outline-offset:3px}
strong{font-weight:500}
.wrap{max-width:1160px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}

h1,h2{font-family:var(--serif);font-weight:600;line-height:1.25}
.klein-titel{font-family:var(--mono);font-weight:500;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--moos)}

.btn{display:inline-block;font-family:var(--sans);font-weight:500;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;padding:16px 32px;background:var(--moos);color:#fff;border:1px solid var(--moos)}
.btn:hover{background:var(--moos-dunkel);text-decoration:none}
.btn.hell{background:transparent;color:#fff;border-color:rgba(255,255,255,.75)}
.btn.hell:hover{background:rgba(255,255,255,.14)}

/* ---------- Einstieg wie beim Vorbild: Vollbild-Foto, Wortmarke mittig, fast kein Text ---------- */
.auftakt{position:relative;min-height:100vh;display:flex;flex-direction:column;color:#fff}
.auftakt img.foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.auftakt .schleier{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(20,24,16,.55) 0%,rgba(20,24,16,.1) 28%,rgba(20,24,16,.15) 55%,rgba(20,24,16,.82) 100%)}
.auftakt-kopf{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;padding:26px clamp(20px,4vw,48px) 0;gap:16px}
.auftakt-kopf nav{display:flex;gap:24px;padding-top:16px;justify-content:flex-end}
.auftakt-kopf nav.rechts{justify-content:flex-end}
.auftakt-kopf nav a{font-size:.74rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.55)}
.auftakt-kopf nav a:hover{text-decoration:none;border-bottom:1px solid #fff}
.wortmarke{text-align:center;text-shadow:0 2px 14px rgba(0,0,0,.45)}
.wortmarke .name{font-family:var(--serif);font-weight:600;font-size:clamp(1.5rem,3vw,2.1rem);color:#fff;letter-spacing:.04em}
.wortmarke .zusatz{font-size:.72rem;font-weight:400;letter-spacing:.34em;text-transform:uppercase;color:#e9e6da;margin-top:2px}
.auftakt-zeile{position:relative;z-index:2;margin-top:auto;padding:0 clamp(20px,4vw,48px) clamp(60px,9vh,110px)}
.auftakt-zeile p{font-weight:300;font-size:clamp(1.25rem,2.6vw,1.9rem);line-height:1.4;max-width:18em;text-shadow:0 2px 12px rgba(0,0,0,.55)}
.runter{position:absolute;z-index:2;left:50%;transform:translateX(-50%);bottom:26px;color:#fff;font-size:1.5rem;text-shadow:0 1px 8px rgba(0,0,0,.5);opacity:.85}
.runter:hover{text-decoration:none}

/* ---------- Willkommen: mittig, Serifen-Titel mit Unterzeile (Vorbild-Struktur) ---------- */
.willkommen{padding:clamp(80px,12vw,140px) 0 clamp(60px,9vw,100px);text-align:center}
.willkommen h1{font-size:clamp(1.8rem,4vw,2.9rem);max-width:22em;margin:18px auto 22px}
.willkommen p{max-width:44em;margin:0 auto;color:var(--stein);font-size:1.08rem}

/* ---------- Themen-Sektionen: grosses Foto + ruhiger Text, abwechselnd ---------- */
.thema{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(30px,6vw,90px);padding:clamp(40px,6vw,72px) 0}
.thema.getauscht{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.thema.getauscht figure{order:2}
.thema figure{margin:0}
/* Duotone: vereinheitlicht Bildqualitaet ueber alle Fotos in der Hof-Gruen-Palette */
.duoton{filter:sepia(.16) saturate(1.08) hue-rotate(6deg) contrast(1.04) brightness(.98)}
.thema img{width:100%;aspect-ratio:4/3;object-fit:cover}
#veranstaltungen img{aspect-ratio:3/2}
.thema figcaption{font-size:.82rem;color:var(--stein);padding-top:10px}
.thema h2{font-size:clamp(1.6rem,3vw,2.3rem);margin:16px 0 18px}
.thema p{color:#4a463c;max-width:38em}
.thema p+p{margin-top:16px}
.thema .mehr{display:inline-block;margin-top:24px;font-weight:500;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid var(--moos);padding-bottom:3px}
.thema .mehr:hover{text-decoration:none;color:var(--moos-dunkel)}
@media(max-width:820px){
  .thema,.thema.getauscht{grid-template-columns:minmax(0,1fr)}
  .thema.getauscht figure{order:0}
}

/* ---------- Partner: schmale Textnotiz, bewusst anders als die Themen-Bloecke ---------- */
.partner{padding:clamp(40px,6vw,56px) 0;border-top:1px solid var(--sand);border-bottom:1px solid var(--sand)}
.partner .wrap{max-width:640px;text-align:center}
.partner-text{color:var(--stein);font-size:.98rem;margin-top:8px}

/* ---------- Kontakt ---------- */
.kontakt{padding:clamp(70px,10vw,110px) 0;text-align:center}
.kontakt h2{font-size:clamp(1.7rem,3.4vw,2.5rem);margin:16px 0 14px}
.kontakt .adresse{color:var(--stein);margin-bottom:32px;font-style:normal}
.kontakt .ruf-primaer{font-size:1.05rem;padding:20px 40px;margin-bottom:16px}
.kontakt .ruf-neben{font-size:.9rem;color:var(--stein)}
.kontakt .ruf-neben a{color:var(--stein);text-decoration:underline;text-underline-offset:2px}
.kontakt .ruf-neben a:hover{color:var(--moos)}

/* ---------- Fusszeile ---------- */
footer{background:var(--nacht);color:#c6c3b4;font-size:.92rem}
.fuss-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:clamp(26px,4vw,56px);padding:clamp(48px,7vw,72px) 0 34px}
footer h3{font-family:var(--sans);font-weight:500;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:#8fa172;margin-bottom:16px}
footer .marke{font-family:var(--serif);font-weight:600;font-size:1.2rem;color:#fff;margin-bottom:8px}
footer ul{list-style:none}
footer li{padding:3px 0}
footer a{color:#c6c3b4}
footer a:hover{color:#fff}
.fuss-unten{border-top:1px solid rgba(231,226,212,.16);padding:24px 0;display:flex;flex-wrap:wrap;gap:8px 32px;justify-content:space-between;font-size:.8rem;color:#98957f}
.fuss-unten a{color:#98957f;text-decoration:underline}
@media(max-width:820px){.fuss-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.fuss-grid{grid-template-columns:1fr}}

@media(max-width:760px){
  .auftakt-kopf{grid-template-columns:1fr;justify-items:center;gap:16px}
  .auftakt-kopf .wortmarke{order:1}
  .auftakt-kopf nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;order:3}
  .auftakt-kopf nav.rechts{order:2;display:flex;justify-content:center;padding-top:0}
  .auftakt-kopf nav.rechts a{display:none}
  .auftakt-kopf nav.rechts a.ruf{display:inline-block;border:1px solid rgba(255,255,255,.8);padding:8px 16px;letter-spacing:.12em}
}

/* ---------- Formular-Unterseite (Kontakt/Reservierung) ---------- */
.formular-sektion{padding:clamp(70px,10vw,110px) 0;max-width:640px;margin:0 auto}
.formular-sektion h1{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:14px}
.formular-sektion .formular-intro{color:var(--stein);margin-bottom:36px}
.formular{display:flex;flex-direction:column;gap:20px}
.feld{display:flex;flex-direction:column;gap:6px}
.feld label{font-family:var(--mono);font-weight:500;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--stein)}
.feld input,.feld textarea{font-family:var(--sans);font-size:1rem;padding:14px 16px;border:1px solid var(--sand);background:#fff;color:var(--tinte)}
.feld input:focus,.feld textarea:focus{outline:3px solid var(--moos);outline-offset:1px}
.feld textarea{resize:vertical;min-height:120px}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.formular .btn{align-self:flex-start;border:none;cursor:pointer;font-size:.82rem}
.danke-sektion{padding:clamp(110px,16vw,160px) 0;text-align:center}
.danke-sektion h1{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:14px}
.danke-sektion p{color:var(--stein)}
