/* Schriften liegen lokal auf dem eigenen Server.
   Keine Verbindung zu Google, keine Übertragung von IP-Adressen an Dritte. */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:300;font-display:swap;
  src:url("fonts/cormorant-300.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/cormorant-400.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:300;font-display:swap;
  src:url("fonts/cormorant-italic-300.woff2") format("woff2")}
@font-face{font-family:"EB Garamond";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/ebgaramond-400.woff2") format("woff2")}
@font-face{font-family:"EB Garamond";font-style:italic;font-weight:400;font-display:swap;
  src:url("fonts/ebgaramond-italic-400.woff2") format("woff2")}

:root{
  --verde:#0A3A30;
  --verde-tief:#062119;
  --avorio:#F4E9DB;
  --avorio-warm:#EADCC9;
  --ambra:#B9822F;
  --havana:#5A3520;
  --inchiostro:#141A16;
  --serif:"Cormorant Garamond",Georgia,serif;
  --text:"EB Garamond",Georgia,serif;
  --gutter:clamp(20px,5vw,80px)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--avorio);color:var(--verde);
  font-family:var(--text);font-weight:400;font-size:19px;line-height:1.72;
  -webkit-font-smoothing:antialiased
}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
:focus-visible{outline:1.5px solid var(--ambra);outline-offset:4px}

.wrap{max-width:1220px;margin:0 auto;padding:0 var(--gutter);position:relative}
.sec{padding:clamp(70px,10vw,140px) 0}

/* ---------- Navigation ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:40;transition:background .5s ease,border-color .5s ease;
     border-bottom:1px solid transparent}
.nav.solid{background:rgba(10,58,48,.96);border-bottom-color:rgba(244,233,219,.16);backdrop-filter:blur(6px)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:92px}
.mono{font-family:var(--serif);font-weight:300;font-size:clamp(22px,3vw,32px);
      letter-spacing:.46em;color:var(--avorio);padding-left:.46em;line-height:1}
.navlinks{display:flex;gap:clamp(18px,3vw,42px);font-family:var(--text);font-size:16px;
          letter-spacing:.11em;color:var(--avorio)}
.navlinks a{opacity:.8;transition:opacity .3s}
.navlinks a:hover{opacity:1}
@media(max-width:820px){.navlinks{display:none}}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;
      background:var(--verde-tief);overflow:hidden}
.hero-bg{position:absolute;inset:0;background:var(--img-hero) center/cover no-repeat}
.hero-veil{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(6,33,25,.80) 0%,rgba(6,33,25,.52) 45%,rgba(6,33,25,.92) 100%)}
.hero .wrap{text-align:center;padding-top:100px;padding-bottom:40px}
.wordmark{font-family:var(--serif);font-weight:300;color:var(--avorio);
  font-size:clamp(19px,3.9vw,54px);line-height:1.25;margin:0;
  letter-spacing:.24em;text-indent:.24em}
.wordmark span{display:block}
.hero-claim{font-family:var(--serif);font-style:italic;color:var(--avorio);opacity:.9;
  font-size:clamp(20px,2.4vw,30px);margin:34px 0 0;letter-spacing:.02em}
.hero-sub{color:var(--avorio);opacity:.68;font-size:17px;letter-spacing:.06em;
  max-width:48ch;margin:26px auto 0;line-height:1.95}
.hero-foot{position:absolute;left:0;right:0;bottom:26px;text-align:center;
  color:var(--avorio);opacity:.5;font-size:13px;letter-spacing:.24em}

@media (prefers-reduced-motion:no-preference){
  .wordmark{letter-spacing:.5em;opacity:0;animation:settle 1.9s cubic-bezier(.2,.7,.2,1) .25s forwards}
  .hero-claim{opacity:0;animation:rise 1.2s ease 1.35s forwards}
  .hero-sub{opacity:0;animation:riseSub 1.2s ease 1.55s forwards}
  @keyframes settle{to{letter-spacing:.24em;opacity:1}}
  @keyframes rise{from{transform:translateY(10px)}to{opacity:.9;transform:none}}
  @keyframes riseSub{from{transform:translateY(10px)}to{opacity:.68;transform:none}}
}

/* ---------- Typo-Bausteine ---------- */
.kicker{font-family:var(--serif);font-style:italic;font-size:clamp(21px,2.5vw,28px);
  color:var(--ambra);margin:0 0 26px;letter-spacing:.01em}
.h2{font-family:var(--serif);font-weight:300;font-size:clamp(32px,4.8vw,60px);
  line-height:1.12;margin:0 0 34px;max-width:19ch;letter-spacing:-.005em}
.h2.wide{max-width:26ch}
p{margin:0 0 22px;max-width:64ch}
.lead{font-size:21px;line-height:1.8}
.small{font-size:16px;letter-spacing:.03em;opacity:.78;line-height:1.85}

.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,6vw,90px);align-items:center}
.two.text-right{grid-template-columns:.95fr 1.05fr}
@media(max-width:860px){.two{grid-template-columns:1fr}}

.frame{position:relative;aspect-ratio:3/2;overflow:hidden}
.frame.tall{aspect-ratio:2/3}

/* Ateliers: ein hohes Bild links, zwei liegende rechts — bewusst ungleiche Formate,
   damit die drei Aufnahmen nicht wie Varianten desselben Bildes wirken */
.atelier{display:grid;grid-template-columns:.82fr 1.18fr;grid-template-rows:1fr 1fr;
  gap:2px;aspect-ratio:16/9;margin-top:clamp(38px,6vw,70px)}
.atelier>div{position:relative;overflow:hidden;min-height:0}
.atelier .a-tall{grid-row:1/3}
.atelier .flip{transform:scaleX(-1)}
@media(max-width:760px){
  .atelier{grid-template-columns:1fr;grid-template-rows:none;aspect-ratio:auto}
  .atelier>div{aspect-ratio:3/2}
  .atelier .a-tall{grid-row:auto;aspect-ratio:3/4}
}
.caption{font-family:var(--text);font-size:15px;letter-spacing:.13em;opacity:.65;margin:14px 0 0}

/* ---------- Material ---------- */
.material{background:var(--verde-tief);color:var(--avorio)}
.material .h2{color:var(--avorio)}
.mat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:clamp(40px,6vw,74px)}
@media(max-width:760px){.mat-grid{grid-template-columns:1fr}}
.mat{position:relative;aspect-ratio:4/5;overflow:hidden;margin:0}
.mat .fill{position:absolute;inset:0;background-position:center;background-size:cover;
  transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.mat:hover .fill{transform:scale(1.04)}
.mat figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 20px;
  background:linear-gradient(180deg,rgba(6,33,25,0),rgba(6,33,25,.85));
  color:var(--avorio);font-size:15px;letter-spacing:.15em}
.mat figcaption em{display:block;font-family:var(--serif);font-style:italic;font-size:21px;
  letter-spacing:.02em;opacity:.75;margin-top:2px}

/* ---------- Werte: Hintergrund grünes Azetat ---------- */
.values-sec{position:relative;color:var(--avorio);
  background:var(--img-mat1) center/cover fixed no-repeat}
.values-sec::before{content:"";position:absolute;inset:0;background:rgba(6,33,25,.87)}
.values-sec .h2{color:var(--avorio)}
.values{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(40px,7vw,110px)}
@media(max-width:760px){.values{grid-template-columns:1fr}}
.value{padding:26px 0;border-top:1px solid rgba(244,233,219,.24)}
.value h3{font-family:var(--serif);font-weight:400;font-size:28px;margin:0 0 8px;letter-spacing:.01em}
.value p{margin:0;font-size:17px;line-height:1.75;opacity:.84;max-width:40ch}

/* ---------- Partner ---------- */
.partner{position:relative;background:var(--inchiostro);color:var(--avorio);overflow:hidden}
.partner-bg{position:absolute;inset:0}
.partner-bg img{transform:scaleX(-1);filter:brightness(.92) saturate(.9)}
.partner-veil{position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(12,18,14,.9) 0%,rgba(12,18,14,.72) 42%,rgba(12,18,14,.1) 100%)}
.partner .h2{color:var(--avorio)}

/* ---------- Our belief: Hintergrund Havanna-Azetat ---------- */
.belief{position:relative;color:var(--avorio);text-align:center;
  background:var(--img-mat2) center/cover fixed no-repeat}
.belief::before{content:"";position:absolute;inset:0;background:rgba(26,14,7,.84)}
.belief ul{list-style:none;margin:0;padding:0;font-family:var(--serif);
  font-size:clamp(22px,2.9vw,35px);line-height:1.95;font-weight:300;letter-spacing:.01em}
.belief li{opacity:.94}
.belief .kicker{color:var(--avorio);opacity:.7}

/* ---------- Kontakt ---------- */
.form{display:grid;grid-template-columns:1fr 1fr;gap:22px 30px;margin-top:16px}
@media(max-width:660px){.form{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
label{font-family:var(--text);font-size:15px;letter-spacing:.12em;opacity:.72}
input,textarea{font-family:var(--text);font-size:18px;color:var(--verde);
  background:transparent;border:0;border-bottom:1px solid rgba(10,58,48,.3);padding:9px 0}
textarea{resize:vertical;min-height:82px}
input::placeholder,textarea::placeholder{color:rgba(10,58,48,.38)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{display:flex;gap:12px;align-items:flex-start;margin-top:26px;max-width:52ch;
  font-size:15px;line-height:1.65;opacity:.8;cursor:pointer}
.consent input{width:16px;height:16px;margin-top:5px;accent-color:var(--verde);flex:none}
.consent a{text-decoration:underline;text-underline-offset:3px}
.danke{font-family:var(--serif);font-size:26px;line-height:1.5;margin-top:20px}
.btn{display:inline-block;margin-top:34px;padding:15px 44px;background:var(--verde);color:var(--avorio);
  font-family:var(--text);font-size:16px;letter-spacing:.18em;border:1px solid var(--verde);cursor:pointer;
  transition:background .35s,color .35s}
.btn:hover{background:transparent;color:var(--verde)}
.btn.light{background:transparent;color:var(--avorio);border-color:rgba(244,233,219,.55)}
.btn.light:hover{background:var(--avorio);color:var(--verde)}

/* ---------- Footer: Hintergrund wie Header ---------- */
footer{position:relative;color:var(--avorio);background:var(--img-hero) center/cover no-repeat}
footer::before{content:"";position:absolute;inset:0;background:rgba(6,33,25,.9)}
footer .wrap{padding-top:76px;padding-bottom:60px}
.f-top{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}
.f-mark{font-family:var(--serif);font-size:clamp(17px,2.1vw,24px);letter-spacing:.3em;opacity:.95}
.f-meta{font-size:16px;letter-spacing:.05em;opacity:.7;line-height:2}
.f-bottom{margin-top:56px;padding-top:22px;border-top:1px solid rgba(244,233,219,.18);
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:14px;letter-spacing:.09em;opacity:.5}
/* Sprachumschalter */
.lang{display:flex;gap:10px;align-items:center;font-family:var(--text);font-size:15px;
  letter-spacing:.1em;color:var(--avorio);margin-left:clamp(14px,2.5vw,32px)}
.lang a{opacity:.55;transition:opacity .3s}
.lang a:hover{opacity:.9}
.lang a.on{opacity:1;border-bottom:1px solid rgba(244,233,219,.55);padding-bottom:2px}
.lang span{opacity:.3}
.navwrap{display:flex;align-items:center}
@media(max-width:820px){.lang{margin-left:0}}

/* Hintergrundbilder. Pfade sind relativ zu dieser Datei (assets/style.css),
   deshalb "img/..." und nicht "assets/img/...". */
:root{--img-hero:url("img/hero.jpg");
      --img-mat1:url("img/mat1.jpg");
      --img-mat2:url("img/mat2.jpg");
      --img-mat3:url("img/mat3.jpg")}
