/* GENT & LIT — production stylesheet (self-contained) */
/* Cormorant Garamond lokal gehostet (SIL OFL 1.1) — kein Abruf bei Google, keine
   IP-Uebertragung an Dritte. Variable Font: eine Datei deckt Gewicht 300-700 ab. */
@font-face{font-family:'Cormorant Garamond';src:url('../fonts/cormorant-garamond-normal-latin.woff2') format('woff2');font-weight:300 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Cormorant Garamond';src:url('../fonts/cormorant-garamond-normal-latin-ext.woff2') format('woff2');font-weight:300 700;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';src:url('../fonts/cormorant-garamond-italic-latin.woff2') format('woff2');font-weight:300 700;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Cormorant Garamond';src:url('../fonts/cormorant-garamond-italic-latin-ext.woff2') format('woff2');font-weight:300 700;font-style:italic;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Vollkorn GL Export';src:url('../fonts/Vollkorn-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Vollkorn GL Export';src:url('../fonts/Vollkorn-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:'Vollkorn GL Export';src:url('../fonts/Vollkorn-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Vollkorn GL Export';src:url('../fonts/Vollkorn-BoldItalic.ttf') format('truetype');font-weight:700;font-style:italic;font-display:swap;}

:root{
  --gold:#DAA520;--gold-bright:#E9C158;--gold-deep:#9C7815;--gold-soft:rgba(218,165,32,.14);
  --ink:#0D0C09;--ink-2:#18150E;--charcoal:#241F14;--ink-line:rgba(243,236,221,.12);
  --cream:#F4EEE0;--fg-1:#F4EEE0;--fg-2:#C9BCA0;--fg-3:#978A6F;
  --wine:#6E2B2B;--forest:#3C5138;
  --font-display:'Cormorant Garamond',Georgia,serif;--font-body:'Vollkorn GL Export',Georgia,serif;
  --r-sm:2px;--r-md:3px;--r-lg:5px;
  --shadow-md:0 8px 28px rgba(0,0,0,.45);--shadow-lg:0 24px 64px rgba(0,0,0,.55);
  --glow-gold:0 0 0 1px rgba(218,165,32,.38),0 8px 30px rgba(218,165,32,.14);
  --ease:cubic-bezier(.22,.61,.36,1); /* @kind other */
  --dur:320ms; /* @kind other */
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink) url('../assets/damask-tile.png') repeat;background-size:220px auto;color:var(--fg-1);font-family:var(--font-body);font-size:18px;line-height:1.62}
a{color:var(--gold);text-decoration:none}
a:hover{color:var(--gold-bright);text-decoration:underline}
img{max-width:100%;display:block}
::selection{background:var(--gold-soft);color:var(--gold-bright)}

.eyebrow{font-family:var(--font-body);font-weight:700;font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.rule{width:56px;height:1px;background:var(--gold);opacity:.85;border:0}
.rule.center{margin:0 auto}
h1,h2,h3{font-family:var(--font-display);font-weight:600;color:var(--cream);margin:0}
h1{font-size:54px;line-height:1.06}
h2{font-size:38px;line-height:1.12}
h3{font-size:27px;line-height:1.2}
.lead{font-family:var(--font-body);font-style:italic;font-size:22px;line-height:1.5;color:var(--fg-2);margin:0}
.small{font-size:15px;color:var(--fg-3)}
.measure{max-width:660px;margin:0 auto;padding:0 24px}

.page{width:min(1180px, calc(100% - 48px));margin:36px auto;background:var(--ink);box-shadow:var(--shadow-lg);border:1px solid var(--ink-line)}
@media (max-width:680px){.page{margin:0;width:100%;border-width:0 0 1px}}

/* nav */
.nav{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;
  padding:18px 40px;background:rgba(13,12,9,.86);backdrop-filter:blur(8px);border-bottom:1px solid var(--ink-line)}
.nav .wordmark{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:22px;
  color:var(--gold);font-weight:600;letter-spacing:.03em}
.nav .wordmark img{height:42px;width:auto;display:block}
.nav nav{display:flex;gap:26px;flex-wrap:wrap;justify-content:flex-end}
.nav nav a{font-family:var(--font-body);font-size:14px;letter-spacing:.05em;color:var(--fg-2);
  text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px;transition:color var(--dur) var(--ease)}
.nav nav a:hover,.nav nav a.active{color:var(--gold-bright);border-bottom-color:var(--gold)}
.nav-toggle{display:none}
.nav-burger{display:none}

/* buttons */
.btn{display:inline-block;font-family:var(--font-body);font-weight:700;font-size:15px;letter-spacing:.16em;
  text-transform:uppercase;padding:14px 30px;border-radius:var(--r-sm);cursor:pointer;
  transition:all var(--dur) var(--ease);border:1px solid var(--gold);color:var(--gold);background:transparent}
.btn:hover{background:var(--gold-soft);color:var(--gold-bright);border-color:var(--gold-bright);text-decoration:none}
.btn:active{border-color:var(--gold-deep);color:var(--gold-deep);transform:translateY(1px)}
.btn.ghost{border:0;border-radius:0;padding:14px 4px;color:var(--fg-1);border-bottom:1px solid transparent}
.btn.ghost:hover{color:var(--gold-bright);border-bottom-color:var(--gold);background:none}

/* forms */
label{display:block;font-family:var(--font-body);font-weight:700;font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold);margin-bottom:8px}
input,textarea{font-family:var(--font-body);font-size:17px;color:var(--cream);background:var(--charcoal);
  border:1px solid var(--ink-line);border-radius:var(--r-sm);padding:12px 14px;width:100%;outline:none;
  transition:all var(--dur) var(--ease)}
input:focus,textarea:focus{border-color:var(--gold);box-shadow:var(--glow-gold)}
input::placeholder,textarea::placeholder{color:var(--fg-3)}
.field{margin-bottom:22px}

/* image placeholder (swap with real photography — see IMAGE_PROMPTS.md) */
.img-placeholder{background:repeating-linear-gradient(135deg,var(--ink-2),var(--ink-2) 12px,var(--charcoal) 12px,var(--charcoal) 24px);
  border:1px dashed var(--ink-line);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;
  text-align:center;color:var(--fg-3);font-size:13px;letter-spacing:.04em;padding:20px}

/* footer */
/* slider */
.slider{position:relative;width:100%;height:100%;overflow:hidden;background:var(--ink)}
.slider .slide{position:absolute;inset:0;opacity:0;transition:opacity 1200ms var(--ease)}
.slider .slide.active{opacity:1}
.slider .slide img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 500ms var(--ease)}
.slider .slide img.loaded{opacity:1}
@media (prefers-reduced-motion: reduce){.slider .slide{transition:none}}

/* footer */
footer{text-align:center;padding:64px 24px 56px;border-top:1px solid var(--ink-line)}
footer img{width:132px;margin:0 auto;opacity:.95}
footer nav{display:flex;gap:26px;justify-content:center;margin-top:28px;flex-wrap:wrap}
footer nav a{font-family:var(--font-body);font-size:13px;color:var(--fg-3);text-decoration:none}
footer nav a:hover{color:var(--gold)}
footer .copy{font-size:12px;color:var(--fg-3);margin-top:26px;letter-spacing:.04em}

/* animation */
.rise{animation:rise var(--dur) var(--ease) both}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.rise{animation:none}}

@media (max-width: 720px){
  .nav{padding:14px 20px;gap:12px}
  h1{font-size:38px}h2{font-size:29px}h3{font-size:22px}
  .lead{font-size:19px}

  .nav-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;
    width:32px;height:32px;padding:4px;cursor:pointer;z-index:31}
  .nav-burger span{display:block;width:100%;height:2px;background:var(--gold);
    transition:transform var(--dur) var(--ease),opacity var(--dur) var(--ease)}
  .nav-toggle:checked ~ .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle:checked ~ .nav-burger span:nth-child(2){opacity:0}
  .nav-toggle:checked ~ .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .nav nav{display:flex;flex-direction:column;align-items:stretch;gap:0;
    position:absolute;top:100%;left:0;right:0;
    background:rgba(13,12,9,.97);backdrop-filter:blur(8px);
    border-bottom:1px solid var(--ink-line);
    opacity:0;visibility:hidden;transform:translateY(-6px);pointer-events:none;
    transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),visibility 0s var(--dur)}
  .nav nav a{padding:16px 20px;border-bottom:1px solid var(--ink-line);text-align:right}
  .nav-toggle:checked ~ nav{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;
    transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),visibility 0s}
}
