/* Selbst gehostete Schriften (OFL) — kein Datentransfer zu Google */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/cormorant-garamond-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/cormorant-garamond-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('assets/fonts/cormorant-garamond-latin-400-italic.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('assets/fonts/cormorant-garamond-latin-500-italic.woff2') format('woff2');}
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url('assets/fonts/jost-latin-300-normal.woff2') format('woff2');}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/jost-latin-400-normal.woff2') format('woff2');}

:root{
  --bg:#0a0a0e; --flaeche:#101018; --flaeche2:#0e0e14;
  --linie:#1e1e26; --linie2:#2a2a32;
  --gold:#c9a45c; --gold-hell:#e3c78a;
  --text:#f5f2ea; --muted:#8a877e;
  --ok:#7da87b; --knapp:#c9a45c; --aus:#a05252;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost',Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-weight:300;line-height:1.7;}
img{max-width:100%;display:block;}
a{color:var(--gold);}
[hidden]{display:none !important;}

.eyebrow{font-size:11px;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold);font-weight:400;}
.serif{font-family:var(--serif);}
.gold-kursiv{font-style:italic;color:var(--gold);}
.section{padding:6rem 6vw;}
.section-titel{font-family:var(--serif);font-size:clamp(30px,4.5vw,52px);font-weight:500;letter-spacing:0.5px;line-height:1.1;margin:0.4rem 0 2.5rem;}
.hairline{height:1px;background:var(--linie2);border:none;}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;
  padding:0 4vw;height:64px;transition:background 0.2s,border-color 0.2s;border-bottom:1px solid transparent;}
.nav.fest{background:rgba(10,10,14,0.92);backdrop-filter:blur(10px);border-bottom-color:var(--linie);}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);}
.nav-logo .wortmarke{font-family:var(--serif);font-size:20px;letter-spacing:4px;}
.nav-links{display:flex;gap:2.2rem;align-items:center;}
.nav-links a{font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);text-decoration:none;
  padding-bottom:3px;border-bottom:1px solid transparent;transition:color 0.2s,border-color 0.2s;font-weight:400;}
.nav-links a:hover,.nav-links a.aktiv{color:var(--gold);border-bottom-color:var(--gold);}
.nav-links a.silvester-link{display:none;color:var(--gold-hell);}
body.silvester-an .nav-links a.silvester-link{display:inline-block;}
@media(max-width:760px){
  .nav{position:static;height:auto;min-height:56px;flex-wrap:wrap;padding:10px 4vw;row-gap:6px;background:var(--bg);border-bottom:1px solid var(--linie);}
  .nav-links{gap:0.9rem;flex-wrap:wrap;}
  .nav-links a{font-size:10px;letter-spacing:0.12em;white-space:nowrap;}
}

/* BUTTONS */
.btn{display:inline-block;font-family:var(--sans);font-weight:400;font-size:12px;letter-spacing:0.22em;
  text-transform:uppercase;padding:14px 34px;cursor:pointer;text-decoration:none;text-align:center;
  transition:background 0.2s,color 0.2s,border-color 0.2s;}
.btn-gold{background:transparent;border:1px solid var(--gold);color:var(--gold);}
.btn-gold:hover{background:rgba(201,164,92,0.12);color:var(--gold-hell);}
.btn-voll{background:var(--gold);border:1px solid var(--gold);color:var(--bg);}
.btn-voll:hover{background:var(--gold-hell);border-color:var(--gold-hell);}
.btn-leise{background:transparent;border:1px solid transparent;color:var(--muted);}
.btn-leise:hover{color:var(--text);}

/* FORMULARE */
.feld{margin-bottom:1.4rem;}
.feld label{display:block;font-size:10px;letter-spacing:0.24em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-weight:400;}
.feld input,.feld select,.feld textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--linie2);
  color:var(--text);font-family:var(--sans);font-weight:300;font-size:15px;padding:8px 2px;outline:none;border-radius:0;
  transition:border-color 0.2s;}
.feld input:focus,.feld select:focus,.feld textarea:focus{border-bottom-color:var(--gold);}
.feld select option{background:#14141c;color:var(--text);}
.feld textarea{resize:vertical;min-height:90px;}
.feld-zeile{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;}
@media(max-width:600px){.feld-zeile{grid-template-columns:1fr;}}
.form-hinweis{font-size:12px;color:var(--muted);}
.form-fehler{color:var(--aus);font-size:13px;margin-top:0.8rem;min-height:1.2em;}
.form-erfolg{border:1px solid var(--gold);padding:2rem;text-align:center;}
.form-erfolg h3{font-family:var(--serif);font-size:26px;font-weight:500;color:var(--gold);margin-bottom:0.6rem;}

/* BADGES */
.badge{font-size:10px;letter-spacing:0.18em;text-transform:uppercase;font-weight:400;}
.badge-ok{color:var(--ok);}
.badge-knapp{color:var(--knapp);}
.badge-aus{color:var(--aus);}

/* FOOTER */
.footer{border-top:1px solid var(--linie);padding:4rem 6vw 2rem;display:grid;
  grid-template-columns:1.4fr 1fr 1fr;gap:3rem;}
@media(max-width:720px){.footer{grid-template-columns:1fr;}}
.footer h5{font-size:10px;letter-spacing:0.24em;text-transform:uppercase;color:var(--muted);margin-bottom:1.1rem;font-weight:400;}
.footer a{display:block;color:var(--muted);text-decoration:none;font-size:14px;margin-bottom:0.5rem;transition:color 0.2s;}
.footer a:hover{color:var(--gold);}
.footer p{font-size:14px;color:var(--muted);}
.footer-unten{border-top:1px solid var(--linie);padding:1.2rem 6vw;display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:8px;font-size:11px;color:var(--muted);letter-spacing:0.06em;}

/* NEWSLETTER-BLOCK */
.newsletter-block{border-top:1px solid var(--linie);border-bottom:1px solid var(--linie);
  padding:4rem 6vw;text-align:center;}
.newsletter-form{display:flex;gap:0;max-width:440px;margin:1.6rem auto 0.8rem;}
.newsletter-form input{flex:1;background:transparent;border:1px solid var(--linie2);border-right:none;color:var(--text);
  font-family:var(--sans);font-weight:300;font-size:14px;padding:13px 16px;outline:none;}
.newsletter-form input:focus{border-color:var(--gold);}
.newsletter-form button{white-space:nowrap;}
