/* ============================================================
   VINSAI — Onepager
   ============================================================ */

:root{
  --paper:      #f4efe5;
  --paper-2:    #ece5d7;
  --paper-3:    #faf7f0;
  --ink:        #17130f;
  --ink-2:      #221c17;
  --ink-soft:   #5b5145;
  --ink-mute:   #8a7f70;
  --gold:       #b08a47;
  --gold-soft:  #cdae74;
  --wine:       #5c1526;
  --wine-deep:  #3a0c17;
  --line:       rgba(23,19,15,.14);
  --line-light: rgba(255,255,255,.20);

  --ff-display: "Cormorant Garamond", "Times New Roman", Georgia, serif;
  --ff-body:    "EB Garamond", Georgia, "Times New Roman", serif;
  --ff-ui:      "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --shell: 1560px;
  --gut: clamp(1.5rem, 5vw, 6rem);

  --pad-y: clamp(7rem, 15vh, 14rem);
  --ease: cubic-bezier(.22,.68,.16,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--ff-body);
  font-size:clamp(1rem,.94rem + .28vw,1.175rem);
  line-height:1.62;
  font-feature-settings:"kern" 1,"liga" 1,"onum" 1;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img,svg,picture{ display:block; max-width:100%; }
a{ color:inherit; }
h1,h2,h3,p,ul,ol,figure{ margin:0; }
ul,ol{ padding:0; list-style:none; }
::selection{ background:var(--gold); color:#fff; }

.skip{
  position:fixed; top:-6rem; left:0; z-index:200;
  transition:top .25s var(--ease);
  background:var(--ink); color:var(--paper);
  padding:.9rem 1.4rem; font-family:var(--ff-ui); font-size:.8rem;
  text-decoration:none;
}
.skip:focus{ top:0; }

/* ---------- Layout helpers ---------- */
.shell{ width:100%; max-width:var(--shell); margin-inline:auto; padding-inline:var(--gut); }
.shell-pad{ padding-inline:var(--gut); }

.band{ position:relative; }
.band--paper{ background:var(--paper); }
.band--paper2{ background:var(--paper-2); }
.band--ink{ background:var(--ink); color:var(--paper); }
.band--ink .body,.band--ink .litany li{ color:rgba(244,239,229,.76); }
.band--ink .eyebrow{ color:var(--gold-soft); }
.band--ink .rule{ background:var(--line-light); }

/* ---------- Texture ---------- */
.grain{
  position:fixed; inset:-50%; z-index:150; pointer-events:none;
  opacity:.30; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");
  animation:grainshift 6s steps(4) infinite;
}
@keyframes grainshift{
  0%,100%{ transform:translate(0,0) }
  25%{ transform:translate(-2%,1%) }
  50%{ transform:translate(1%,-2%) }
  75%{ transform:translate(2%,2%) }
}

/* ---------- Scroll progress ---------- */
.scrollbar{
  position:fixed; top:0; left:0; right:0; height:2px; z-index:120; pointer-events:none;
}
.scrollbar span{
  display:block; height:100%; width:100%;
  background:linear-gradient(90deg,var(--gold),var(--gold-soft));
  transform:scaleX(0); transform-origin:0 50%;
}

/* ---------- Nav ---------- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:110;
  transition:background .6s var(--ease), backdrop-filter .6s var(--ease), border-color .6s var(--ease);
  border-bottom:1px solid transparent;
}
.nav__inner{
  max-width:var(--shell); margin-inline:auto;
  padding:clamp(1.4rem,2.4vw,2.4rem) var(--gut);
  display:flex; align-items:center; justify-content:space-between; gap:2rem;
  transition:padding .6s var(--ease);
}
.nav.is-stuck{
  background:rgba(244,239,229,.86);
  backdrop-filter:saturate(1.4) blur(14px);
  -webkit-backdrop-filter:saturate(1.4) blur(14px);
  border-bottom-color:var(--line);
}
.nav.is-stuck .nav__inner{ padding-block:clamp(.9rem,1.4vw,1.3rem); }

.wordmark{
  font-family:var(--ff-display);
  font-size:clamp(1.15rem,1.6vw,1.5rem);
  font-weight:500; letter-spacing:.42em; text-indent:.42em;
  text-decoration:none; color:#fff;
  transition:color .6s var(--ease), opacity .4s;
}
.nav.is-stuck .wordmark{ color:var(--ink); }
.wordmark--dark{ color:var(--ink); }

.nav__links{
  display:flex; align-items:center; gap:clamp(1.2rem,2.4vw,2.6rem);
  font-family:var(--ff-ui); font-size:.735rem; font-weight:400;
  letter-spacing:.16em; text-transform:uppercase;
}
.nav__links a{
  color:rgba(255,255,255,.82); text-decoration:none;
  position:relative; padding-block:.35rem;
  transition:color .5s var(--ease);
}
.nav.is-stuck .nav__links a{ color:var(--ink-soft); }
.nav__links a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:currentColor; transform:scaleX(0); transform-origin:100% 50%;
  transition:transform .5s var(--ease);
}
.nav__links a:hover::after{ transform:scaleX(1); transform-origin:0 50%; }
.nav__cta{
  border:1px solid rgba(255,255,255,.34); border-radius:100px;
  padding:.55rem 1.15rem !important; color:#fff !important;
  transition:background .5s var(--ease), border-color .5s var(--ease), color .5s var(--ease);
}
.nav__cta::after{ display:none; }
.nav__cta:hover{ background:var(--gold); border-color:var(--gold); color:#fff !important; }
.nav.is-stuck .nav__cta{ border-color:var(--line); color:var(--ink) !important; }
.nav.is-stuck .nav__cta:hover{ background:var(--ink); border-color:var(--ink); color:var(--paper) !important; }
@media (max-width:640px){ .nav__links a:not(.nav__cta){ display:none; } }

/* ---------- Typography ---------- */
.eyebrow{
  font-family:var(--ff-ui); font-size:.7rem; font-weight:400;
  letter-spacing:.32em; text-transform:uppercase;
  color:var(--gold);
  margin-bottom:clamp(1.6rem,3vw,2.6rem);
}
.h2{
  font-family:var(--ff-display); font-weight:400;
  font-size:clamp(2.15rem,1.1rem + 3.5vw,4.1rem);
  line-height:1.08; letter-spacing:-.012em;
  text-wrap:balance;
}
.h3{
  font-family:var(--ff-display); font-weight:400;
  font-size:clamp(1.5rem,1.1rem + 1.3vw,2.15rem);
  line-height:1.18; letter-spacing:-.005em;
}
.body{ color:var(--ink-soft); max-width:44ch; }
.source{
  font-family:var(--ff-ui); font-size:.72rem; letter-spacing:.05em;
  color:var(--ink-mute); margin-top:.9rem;
}
.statement{
  font-family:var(--ff-display); font-weight:400;
  font-size:clamp(1.55rem,1.05rem + 1.6vw,2.5rem);
  line-height:1.18; letter-spacing:-.008em;
}
.rule{
  display:block; width:clamp(48px,6vw,86px); height:1px;
  background:var(--line);
}
.rule--gold{ background:linear-gradient(90deg,var(--gold-soft),transparent); width:clamp(90px,12vw,180px); }

.aside-note{
  font-family:var(--ff-display); font-style:italic; font-weight:300;
  font-size:clamp(1.15rem,.9rem + .8vw,1.6rem);
  line-height:1.42; color:var(--ink-soft);
}
.aside-note--flow{ margin-top:clamp(2.4rem,4vw,3.6rem); }
.band--ink .aside-note{ color:rgba(244,239,229,.72); }

/* ---------- Reveal ---------- */
.reveal{
  opacity:0; transform:translateY(26px);
  transition:opacity 1.05s var(--ease-out), transform 1.05s var(--ease-out);
  transition-delay:calc(var(--d,0) * 110ms);
  will-change:opacity,transform;
}
.reveal.is-in{ opacity:1; transform:none; }

.line-wrap{ display:block; overflow:hidden; }
.line-wrap > span{
  display:block; transform:translateY(105%);
  transition:transform 1.15s var(--ease-out);
  transition-delay:calc(var(--i,0) * 95ms);
}
.is-in .line-wrap > span, .line-wrap.is-in > span{ transform:none; }

@media (prefers-reduced-motion:reduce){
  .reveal,.line-wrap>span{ opacity:1 !important; transform:none !important; transition:none !important; }
  .grain{ animation:none; }
}

/* ---------- Images / LQIP ---------- */
[data-lqip]{ overflow:hidden; background:var(--paper-2); }
[data-lqip]::before{
  content:""; position:absolute; inset:0;
  background-image:var(--lqip); background-size:cover; background-position:center;
  filter:blur(22px); transform:scale(1.15);
  transition:opacity .9s var(--ease); z-index:0;
}
[data-lqip].is-loaded::before{ opacity:0; }
[data-lqip] img{ position:relative; z-index:1; width:100%; height:100%; object-fit:cover; }

.parallax img{ will-change:transform; }

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative; min-height:100svh;
  display:flex; align-items:flex-end;
  padding-block:clamp(10.5rem,21vh,15rem) clamp(3.5rem,7vh,6rem);
  color:#fff; overflow:hidden; isolation:isolate;
}
.hero__media{ position:absolute; inset:0; z-index:-2; }
.hero__media img{
  width:100%; height:100%; object-fit:cover; object-position:62% 50%;
  animation:kenburns 26s var(--ease) infinite alternate;
}
@keyframes kenburns{ from{ transform:scale(1.02) } to{ transform:scale(1.12) } }
@media (prefers-reduced-motion:reduce){ .hero__media img{ animation:none } }

.hero__scrim{
  position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(105deg, rgba(10,8,6,.90) 0%, rgba(10,8,6,.72) 34%, rgba(10,8,6,.18) 62%, rgba(10,8,6,.34) 100%),
    linear-gradient(to top, rgba(10,8,6,.75) 0%, transparent 45%);
}
@media (max-width:900px){
  .hero__scrim{ background:linear-gradient(to top, rgba(10,8,6,.94) 12%, rgba(10,8,6,.62) 55%, rgba(10,8,6,.5) 100%); }
  .hero__media img{ object-position:56% 40%; }
}

.hero__grid{
  display:grid; grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(2rem,5vw,5rem); align-items:end; width:100%;
}
.hero__content{ max-width:min(46rem,100%); }

.hero__title{
  font-family:var(--ff-display); font-weight:300;
  font-size:clamp(2.6rem,1.1rem + 5.4vw,5.6rem);
  line-height:1.03; letter-spacing:-.02em;
  margin-bottom:clamp(1.8rem,3.4vw,2.8rem);
  text-shadow:0 2px 30px rgba(0,0,0,.28);
}
.hero .eyebrow{ color:var(--gold-soft); }
.hero__title em{ font-style:italic; font-weight:300; color:var(--gold-soft); }

.hero__lead{
  color:rgba(255,255,255,.80); max-width:38rem;
  margin-bottom:clamp(2.4rem,4.5vw,3.6rem);
  font-size:clamp(1.02rem,.96rem + .3vw,1.22rem);
}
.hero__stamp{
  margin-top:clamp(2.2rem,4vw,3.2rem);
  font-family:var(--ff-ui); font-size:.68rem; font-weight:300;
  letter-spacing:.28em; text-transform:uppercase; color:rgba(255,255,255,.5);
}

.hero__aside{
  align-self:end; text-align:right;
  display:flex; flex-direction:column; align-items:flex-end; gap:1.4rem;
  padding-bottom:.6rem;
}
.hero__aside p{
  font-family:var(--ff-display); font-style:italic; font-weight:300;
  font-size:clamp(1.15rem,.9rem + .75vw,1.65rem);
  line-height:1.4; color:rgba(255,255,255,.86);
}
.hero__aside .rule{ background:var(--gold-soft); width:64px; }
@media (max-width:1100px){ .hero__aside{ display:none; } }

.scrollcue{
  position:absolute; left:50%; bottom:1.6rem; translate:-50% 0;
  width:1px; height:54px; background:rgba(255,255,255,.22); overflow:hidden;
}
.scrollcue span{
  position:absolute; inset:0; background:var(--gold-soft);
  animation:cue 2.6s var(--ease) infinite;
}
@keyframes cue{
  0%{ transform:translateY(-100%) } 55%{ transform:translateY(0) } 100%{ transform:translateY(100%) }
}
@media (max-width:900px){ .scrollcue{ display:none } }

/* ============================================================
   SPLIT SECTIONS
   ============================================================ */
.split{
  display:grid; grid-template-columns:1fr 1fr; align-items:stretch;
  min-height:clamp(620px,88vh,1000px);
}
.split__text{
  display:flex; flex-direction:column; justify-content:center;
  padding-block:var(--pad-y);
  max-width:44rem; margin-left:auto; width:100%;
}
.split--rev .split__text{ margin-left:0; margin-right:auto; }
.split__text > * + *{ margin-top:clamp(1.5rem,2.6vw,2.4rem); }
.split__text .eyebrow{ margin-bottom:0; }
.split__text .source{ margin-top:.8rem; }

.split__media{ position:relative; min-height:60vh; }
.split__media img{ height:100%; }
.split__media::after{
  content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(to top,rgba(12,9,6,.58),rgba(12,9,6,.06) 42%,transparent 62%);
}
.split__media .aside-note{
  position:absolute; right:clamp(1.4rem,3vw,3rem); bottom:clamp(1.6rem,3.4vw,3.2rem);
  color:#fff; text-align:right; z-index:3;
  text-shadow:0 2px 24px rgba(0,0,0,.55);
  max-width:16ch;
}
.split--rev{ direction:rtl; }
.split--rev > *{ direction:ltr; }

@media (max-width:900px){
  .split{ grid-template-columns:1fr; min-height:0; }
  .split--rev{ direction:ltr; }
  .split__media{ min-height:64vw; max-height:78vh; order:-1; }
  .split__text{ padding-block:clamp(4.5rem,12vw,7rem); max-width:none; }
}

/* ---------- Stat ---------- */
.stat{ display:flex; align-items:center; gap:clamp(1.4rem,3vw,2.6rem); }
.stat__num{
  font-family:var(--ff-display); font-weight:300;
  font-size:clamp(4rem,2rem + 8vw,9rem);
  line-height:.9; letter-spacing:-.03em;
  color:var(--wine);
  display:inline-flex; align-items:baseline; gap:.12em;
  font-variant-numeric:lining-nums;
}
.stat__sign{ opacity:.55; }
.stat__unit{ font-size:.46em; letter-spacing:0; }
.stat__rule{ flex:1; height:1px; background:linear-gradient(90deg,var(--line),transparent); }

/* ============================================================
   SHOP
   ============================================================ */
.shop{
  padding-block:var(--pad-y);
  display:grid; grid-template-columns:repeat(12,1fr);
  column-gap:clamp(1.5rem,3vw,3.5rem); row-gap:clamp(3rem,6vw,5.5rem);
}
.shop__head{ grid-column:1 / span 8; }
.shop__media{
  position:relative; grid-column:1 / span 8; aspect-ratio:16/9;
  box-shadow:0 40px 90px -40px rgba(23,19,15,.42);
}
.shop__left{ grid-column:1 / span 6; display:flex; flex-direction:column; gap:clamp(2rem,3.5vw,3rem); }
.shop__right{
  grid-column:9 / span 4; align-self:end;
  display:flex; flex-direction:column; gap:1.4rem;
  padding-left:clamp(1.2rem,2vw,2.2rem);
  border-left:1px solid var(--line);
}
@media (max-width:1000px){
  .shop{ grid-template-columns:1fr; }
  .shop__head,.shop__media,.shop__left,.shop__right{ grid-column:1 / -1; }
  .shop__right{ border-left:0; border-top:1px solid var(--line); padding-left:0; padding-top:2rem; }
}

/* ============================================================
   PILLARS
   ============================================================ */
.pillars{ padding-block:var(--pad-y); }
.cards{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:clamp(1.8rem,3.6vw,4.5rem);
}
.card{ display:flex; flex-direction:column; gap:clamp(1.4rem,2.4vw,2rem); }
.card__head{ display:flex; align-items:baseline; gap:1.1rem; }
.card__idx{
  font-family:var(--ff-ui); font-size:.7rem; letter-spacing:.2em; color:var(--gold);
}
.card__kicker{
  font-family:var(--ff-ui); font-size:.7rem; letter-spacing:.28em;
  text-transform:uppercase; color:var(--ink-mute);
}
.card__title{
  font-family:var(--ff-display); font-weight:400;
  font-size:clamp(1.4rem,1rem + 1.15vw,2rem);
  line-height:1.18; letter-spacing:-.006em; min-height:2.4em;
}
.card__media{
  position:relative; overflow:hidden; aspect-ratio:4/3;
  box-shadow:0 30px 70px -36px rgba(23,19,15,.5);
}
.card__media img{
  transition:transform 1.5s var(--ease-out), filter 1.5s var(--ease-out);
}
.card:hover .card__media img{ transform:scale(1.055); }
.card__media::after{
  content:""; position:absolute; inset:0; z-index:2;
  background:linear-gradient(to top,rgba(23,19,15,.24),transparent 55%);
  opacity:0; transition:opacity .9s var(--ease);
}
.card:hover .card__media::after{ opacity:1; }
@media (max-width:900px){
  .cards{ grid-template-columns:1fr; gap:clamp(3rem,8vw,4rem); }
  .card__title{ min-height:0; }
}

/* ============================================================
   KARTE
   ============================================================ */
.karte{ position:relative; padding-block:var(--pad-y); overflow:hidden; }
.karte__media{ position:absolute; inset:0; z-index:0; }
.karte__media img{ width:100%; height:100%; object-fit:cover; object-position:62% 50%; }
.karte__media::after{
  content:""; position:absolute; inset:0; z-index:2;
  background:linear-gradient(100deg,var(--paper) 6%,rgba(244,239,229,.86) 28%,rgba(244,239,229,.18) 58%,rgba(244,239,229,.78) 100%);
}
@media (max-width:900px){
  .karte__media::after{ background:linear-gradient(to bottom,var(--paper) 4%,rgba(244,239,229,.80) 38%,rgba(244,239,229,.55) 100%); }
}
.karte__text{
  position:relative; z-index:4;
  display:grid; grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(2rem,5vw,5rem); align-items:end;
  min-height:clamp(440px,62vh,720px);
}
.karte__left{ display:flex; flex-direction:column; gap:clamp(1.6rem,3vw,2.4rem); }
.karte__text .aside-note{ text-align:right; margin-top:0; }
@media (max-width:900px){
  .karte__text{ grid-template-columns:1fr; align-items:start; }
  .karte__text .aside-note{ text-align:left; margin-top:2.5rem; }
}

/* ---------- Litany ---------- */
.litany{ display:flex; flex-direction:column; gap:.55rem; }
.litany li{
  font-family:var(--ff-body); color:var(--ink-soft);
  position:relative; padding-left:1.6rem;
}
.litany li::before{
  content:""; position:absolute; left:0; top:.72em;
  width:8px; height:1px; background:var(--gold);
}

/* ---------- Resolve block ---------- */
.resolve{ display:flex; flex-direction:column; gap:1.6rem; }
.resolve__claim{
  font-family:var(--ff-display); font-weight:400;
  font-size:clamp(1.25rem,1rem + .9vw,1.75rem);
  line-height:1.28; color:var(--paper);
}

/* ============================================================
   INTERLUDE
   ============================================================ */
.interlude{
  position:relative; height:clamp(340px,58vh,620px); overflow:hidden;
  display:grid; place-items:center; isolation:isolate;
}
.interlude img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.interlude::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(to bottom,rgba(12,9,6,.55),rgba(12,9,6,.30) 45%,rgba(12,9,6,.66));
}
.interlude__line{
  font-family:var(--ff-display); font-style:italic; font-weight:300;
  font-size:clamp(1.5rem,1rem + 2.1vw,2.9rem);
  line-height:1.3; color:#fff; text-align:center;
  padding-inline:var(--gut); text-shadow:0 2px 32px rgba(0,0,0,.5);
}

/* ============================================================
   FORMS
   ============================================================ */
.signup{ width:100%; max-width:40rem; }
.signup__fields{
  display:grid; grid-template-columns:1fr 1fr auto;
  gap:0;
  border:1px solid var(--line-light);
  background:rgba(255,255,255,.05);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
}
.signup--cta .signup__fields{ grid-template-columns:1fr; }

@media (min-width:621px){
  .signup--hero .field:nth-of-type(1){ grid-area:1 / 1 / 2 / 2; }
  .signup--hero .field:nth-of-type(2){ grid-area:1 / 2 / 2 / 3; }
  .signup--hero .field--wide{ grid-area:2 / 1 / 3 / 3; border-right:1px solid var(--line-light); }
  .signup--hero .submit{ grid-area:1 / 3 / 3 / 4; }
}

.field{ position:relative; border-right:1px solid var(--line-light); }
.field--wide{ grid-column:1 / -1; border-right:0; border-top:1px solid var(--line-light); }
.signup--cta .field{ border-right:0; }
.signup--cta .field--wide{ border-top:1px solid var(--line-light); }
.signup--cta .field--wide:first-child{ border-top:0; }

.field input{
  width:100%; border:0; background:transparent; outline:none;
  font-family:var(--ff-body); font-size:1rem; color:#fff;
  padding:1.55rem 1.3rem .75rem;
  transition:background .5s var(--ease);
}
.field label{
  position:absolute; left:1.3rem; top:1.35rem;
  font-family:var(--ff-ui); font-size:.86rem; font-weight:300;
  color:rgba(255,255,255,.58); pointer-events:none;
  transform-origin:0 0;
  transition:transform .45s var(--ease), color .45s var(--ease), opacity .45s var(--ease);
}
.field input:focus + label,
.field input:not(:placeholder-shown) + label{
  transform:translateY(-.95rem) scale(.72);
  color:var(--gold-soft);
}
.field input:focus{ background:rgba(255,255,255,.07); }
.field::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px;
  background:var(--gold); transform:scaleX(0); transform-origin:0 50%;
  transition:transform .6s var(--ease);
}
.field:focus-within::after{ transform:scaleX(1); }
.field.is-error::after{ background:#e0796b; transform:scaleX(1); }
.field input::placeholder{ color:transparent; }
.field input:-webkit-autofill{
  -webkit-text-fill-color:#fff;
  transition:background-color 9999s ease-out;
}

.submit{
  appearance:none; border:0; cursor:pointer;
  background:var(--gold); color:#fff;
  font-family:var(--ff-ui); font-size:.76rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase;
  padding:0 clamp(1.3rem,2.4vw,2rem); min-height:64px;
  display:inline-flex; align-items:center; justify-content:center; gap:.85rem;
  position:relative; overflow:hidden;
  transition:background .5s var(--ease), color .5s var(--ease);
}
.submit::before{
  content:""; position:absolute; inset:0; background:var(--ink);
  transform:translateY(101%); transition:transform .55s var(--ease);
}
.submit:hover::before{ transform:translateY(0); }
.submit > *{ position:relative; z-index:1; }
.submit__label{ display:none; }
.submit__arrow{ width:28px; display:block; }
.submit__arrow svg{ width:100%; transition:transform .55s var(--ease); }
.submit:hover .submit__arrow svg{ transform:translateX(4px); }
.submit[disabled]{ opacity:.55; cursor:progress; }
.signup--cta .submit{ grid-column:1 / -1; min-height:66px; }
.signup--cta .submit__label{ display:inline; }
@media (max-width:620px){
  .signup__fields{ grid-template-columns:1fr; }
  .field{ border-right:0; border-top:1px solid var(--line-light); }
  .field:first-child{ border-top:0; }
  .submit{ grid-column:1 / -1; }
  .submit__label{ display:inline; }
}

.consent{
  display:flex; align-items:flex-start; gap:.85rem; cursor:pointer;
  margin-top:1.4rem; max-width:42rem;
}
.consent input{ position:absolute; opacity:0; width:0; height:0; }
.consent__box{
  flex:0 0 auto; width:17px; height:17px; margin-top:.22rem;
  border:1px solid rgba(255,255,255,.42);
  display:grid; place-items:center; color:var(--ink);
  background:transparent;
  transition:background .35s var(--ease), border-color .35s var(--ease);
}
.consent__box svg{ width:11px; opacity:0; transform:scale(.5); transition:opacity .3s var(--ease), transform .35s var(--ease-out); }
.consent input:checked + .consent__box{ background:var(--gold); border-color:var(--gold); color:#fff; }
.consent input:checked + .consent__box svg{ opacity:1; transform:none; }
.consent input:focus-visible + .consent__box{ outline:2px solid var(--gold-soft); outline-offset:3px; }
.consent.is-error .consent__box{ border-color:#e0796b; }
.consent__text{
  font-family:var(--ff-ui); font-size:.775rem; line-height:1.66; font-weight:300;
  color:rgba(255,255,255,.74);
}
.consent__text a{ color:#fff; text-underline-offset:3px; }

.hp{ position:absolute !important; left:-9999px; width:1px; height:1px; opacity:0; }

.formnote{
  font-family:var(--ff-ui); font-size:.78rem; line-height:1.55;
  margin-top:1.1rem; min-height:1.2em;
  color:var(--gold-soft);
  opacity:0; transform:translateY(6px);
  transition:opacity .5s var(--ease), transform .5s var(--ease);
}
.formnote.is-on{ opacity:1; transform:none; }
.formnote.is-bad{ color:#eea295; }

.signup.is-done .signup__fields,.signup.is-done .consent{
  opacity:.28; pointer-events:none; filter:blur(1px);
  transition:opacity .7s var(--ease), filter .7s var(--ease);
}

/* ============================================================
   CTA
   ============================================================ */
.cta{
  position:relative; overflow:hidden; isolation:isolate;
  padding-block:clamp(6rem,13vh,11rem);
  color:#fff;
}
.cta__media{ position:absolute; inset:0; z-index:-2; }
.cta__media img{ width:100%; height:100%; object-fit:cover; object-position:50% 62%; }
.cta::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(103deg,rgba(46,9,18,.95) 0%,rgba(74,15,30,.90) 34%,rgba(92,21,38,.78) 58%,rgba(56,11,22,.93) 100%),
    linear-gradient(to top,rgba(28,5,11,.60),rgba(28,5,11,.10) 55%,rgba(28,5,11,.35) 100%);
}
.cta__grid{
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(3rem,6vw,7rem); align-items:center;
}
.cta__left{ display:flex; flex-direction:column; gap:clamp(1.2rem,2.2vw,1.8rem); }
.cta__left .eyebrow{ margin-bottom:0; color:var(--gold-soft); }
.cta__title{
  font-family:var(--ff-display); font-weight:300;
  font-size:clamp(2.8rem,1rem + 5.2vw,6.2rem);
  line-height:.96; letter-spacing:-.025em; white-space:nowrap;
  text-shadow:0 2px 40px rgba(28,5,11,.5);
}
.cta__sub{
  font-family:var(--ff-display); font-style:italic; font-weight:300;
  font-size:clamp(1.3rem,1rem + 1.1vw,2.1rem);
  color:rgba(255,255,255,.90); text-shadow:0 1px 24px rgba(28,5,11,.6);
}
.cta__right{ display:flex; flex-direction:column; gap:clamp(2rem,3.4vw,2.8rem); }
.cta__copy{
  font-family:var(--ff-ui); font-size:.86rem; line-height:1.8; font-weight:300;
  color:rgba(255,255,255,.84);
  display:flex; flex-direction:column; gap:1.1rem; max-width:40rem;
}
.cta__fine{ color:rgba(255,255,255,.62); font-size:.8rem; }
.cta .signup{ max-width:none; }
.cta .signup__fields{ border-color:rgba(255,255,255,.24); }
.cta .field{ border-color:rgba(255,255,255,.24); }
@media (max-width:1200px){
  .cta__grid{ grid-template-columns:1fr; }
}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{ background:var(--paper); padding-block:clamp(3rem,6vw,5rem); border-top:1px solid var(--line); }
.footer__inner{
  display:flex; flex-wrap:wrap; align-items:center;
  gap:clamp(1.2rem,3vw,3rem);
}
.footer__claim{
  font-family:var(--ff-ui); font-size:.72rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--ink-mute);
}
.footer__links{ display:flex; gap:1.8rem; margin-left:auto; }
.footer__links a{
  font-family:var(--ff-ui); font-size:.72rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--ink-soft); text-decoration:none;
  position:relative; padding-block:.2rem;
}
.footer__links a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:currentColor; transform:scaleX(0); transform-origin:100% 50%;
  transition:transform .5s var(--ease);
}
.footer__links a:hover::after{ transform:scaleX(1); transform-origin:0 50%; }
.footer__domain{
  font-family:var(--ff-display); font-size:1.05rem; letter-spacing:.06em; color:var(--ink-soft);
}
@media (max-width:760px){
  .footer__links{ margin-left:0; width:100%; }
  .footer__domain{ width:100%; }
}

/* ---------- Legal subpages ---------- */
.legal{ padding-block:clamp(9rem,18vh,14rem) var(--pad-y); background:var(--paper); }
.legal .shell{ max-width:56rem; }
.legal h1{
  font-family:var(--ff-display); font-weight:300;
  font-size:clamp(2.4rem,1.4rem + 3vw,4rem); line-height:1.05;
  margin-bottom:clamp(2.5rem,5vw,4rem); letter-spacing:-.015em;
}
.legal h2{
  font-family:var(--ff-display); font-weight:400; font-size:1.5rem;
  margin-top:3rem; margin-bottom:1rem;
}
.legal p,.legal li{ color:var(--ink-soft); }
.legal p + p{ margin-top:1rem; }
.legal ul{ list-style:none; display:flex; flex-direction:column; gap:.5rem; margin-top:1rem; }
.legal ul li{ padding-left:1.5rem; position:relative; }
.legal ul li::before{ content:""; position:absolute; left:0; top:.72em; width:8px; height:1px; background:var(--gold); }
.legal .back{
  display:inline-block; margin-top:4rem;
  font-family:var(--ff-ui); font-size:.74rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--ink); text-decoration:none;
  border-bottom:1px solid var(--gold); padding-bottom:.35rem;
}
.legal--dark .nav .wordmark,.legal--dark .nav__links a{ color:var(--ink); }
.legal--dark .nav__cta{ border-color:var(--line); color:var(--ink) !important; }

/* ---------- LQIP ---------- */
.hero__media[data-lqip="01_header"],figure[data-lqip="01_header"],[data-lqip="01_header"]{--lqip:data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABQODxIPDRQSEBIXFRQYHjIhHhwcHj0sLiQySUBMS0dARkVQWnNiUFVtVkVGZIhlbXd7gYKBTmCNl4x9lnN+gXz/2wBDARQXFx4aHjshITt8U0ZTfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHz/wAARCAAOABgDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAQFAgb/xAAhEAACAgICAQUAAAAAAAAAAAABAhEAAwQhElExQWGCof/EABQBAQAAAAAAAAAAAAAAAAAAAAL/xAAWEQEBAQAAAAAAAAAAAAAAAAABABH/2gAMAwEAAhEDEQA/AOX1yEcngzib9BFbO90y4QsqZUlh4HEWepMfWLovOVCRMQD880Jshyp5iu3sM+cypY9mB9feKVNsjKF8GSAKU4y0v//Z}
.hero__media[data-lqip="02_markt"],figure[data-lqip="02_markt"],[data-lqip="02_markt"]{--lqip:data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABQODxIPDRQSEBIXFRQYHjIhHhwcHj0sLiQySUBMS0dARkVQWnNiUFVtVkVGZIhlbXd7gYKBTmCNl4x9lnN+gXz/2wBDARQXFx4aHjshITt8U0ZTfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHz/wAARCAAOABgDASIAAhEBAxEB/8QAGQAAAgMBAAAAAAAAAAAAAAAAAAIDBAUG/8QAIhAAAgICAQQDAQAAAAAAAAAAAQIDEQAhEhMiMUEEQmHB/8QAFQEBAQAAAAAAAAAAAAAAAAAAAAL/xAAWEQEBAQAAAAAAAAAAAAAAAAAAARH/2gAMAwEAAhEDEQA/AOeSJQwBHlqsnVir/uSdVFg5KveQL34GaKxmWeCRJCCsvNewUCQPQyukjwK5U9QmEpTaABP5kLwsPzlimJeEkcJKDDWxo4YsiyCe+rteP1HoawxCv//Z}
.hero__media[data-lqip="03_suche"],figure[data-lqip="03_suche"],[data-lqip="03_suche"]{--lqip:data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABQODxIPDRQSEBIXFRQYHjIhHhwcHj0sLiQySUBMS0dARkVQWnNiUFVtVkVGZIhlbXd7gYKBTmCNl4x9lnN+gXz/2wBDARQXFx4aHjshITt8U0ZTfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHz/wAARCAAOABgDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAABQADBv/EACMQAAIBBAEDBQAAAAAAAAAAAAECAwQRABIhBTEGE3GB0fD/xAAUAQEAAAAAAAAAAAAAAAAAAAAC/8QAGREBAQADAQAAAAAAAAAAAAAAAQAxESFB/9oADAMBAAIRAxEAPwAGmozEzNOxjITcMo2HPY3H6+Kw+OiqolqnnZGdS5ut7e/PzgK1sxhan2PpsQeTc8Z1ydXppujSR0sciERCMbAcXGt+DhDXWSjiAkp3MEIRQyPYCwGzEg/WWbVpFNTQtbQcA6dyRlgF8mgZv//Z}
.hero__media[data-lqip="04_shop"],figure[data-lqip="04_shop"],[data-lqip="04_shop"]{--lqip:data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABQODxIPDRQSEBIXFRQYHjIhHhwcHj0sLiQySUBMS0dARkVQWnNiUFVtVkVGZIhlbXd7gYKBTmCNl4x9lnN+gXz/2wBDARQXFx4aHjshITt8U0ZTfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHz/wAARCAAOABgDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABAAD/8QAIhAAAgEDBAIDAAAAAAAAAAAAAQIDEQQAEgUhMVGBExSR/8QAFwEAAwEAAAAAAAAAAAAAAAAAAAECA//EABcRAQEBAQAAAAAAAAAAAAAAAAARASH/2gAMAwEAAhEDEQA/AAfLK5uSWjIMJJ7qVJ49843bdnspoLb7CSmaVDIaPQAA0GAJFuZAzNMrClGFKfmJe4vrVE0yxaFj0gaSKDxwRmecXG2+7TaWO3q1ujq2utGctxQnr0Msxju7u7ibWYQEViDRmPVD2fGWOiP/2Q==}
.hero__media[data-lqip="05_ki-sommelier"],figure[data-lqip="05_ki-sommelier"],[data-lqip="05_ki-sommelier"]{--lqip:data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABQODxIPDRQSEBIXFRQYHjIhHhwcHj0sLiQySUBMS0dARkVQWnNiUFVtVkVGZIhlbXd7gYKBTmCNl4x9lnN+gXz/2wBDARQXFx4aHjshITt8U0ZTfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHz/wAARCAAOABgDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAABgAFA//EACQQAAIBAwIHAQEAAAAAAAAAAAECAxEEABIxBSETIkFRYXGB/8QAFAEBAAAAAAAAAAAAAAAAAAAAAv/EABYRAQEBAAAAAAAAAAAAAAAAAAEAIf/aAAwDAQACEQMRAD8AHenM7FWdWQDUTXlprvlGKztTbpJcW0zmVm0tG2mgrTahG9ckQ3TlWj5ANSpHzYfmF3B+MWsXCxHFHKHhi7qgUJH994Q2S5DlzHBFEyRlSqSsusju8gD7QCuObSKqWzR6R1Secg8+8cIyRL//2Q==}
.hero__media[data-lqip="06_3d-ar"],figure[data-lqip="06_3d-ar"],[data-lqip="06_3d-ar"]{--lqip:data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABQODxIPDRQSEBIXFRQYHjIhHhwcHj0sLiQySUBMS0dARkVQWnNiUFVtVkVGZIhlbXd7gYKBTmCNl4x9lnN+gXz/2wBDARQXFx4aHjshITt8U0ZTfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHz/wAARCAAMABgDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAwAEBf/EACQQAAIBAwQABwAAAAAAAAAAAAIBAxEABBIhIjETFDJBcaGx/8QAFgEBAQEAAAAAAAAAAAAAAAAAAwAB/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQACUf/aAAwDAQACEQMRAD8AmOQTxckxeylA9u6Ku/3ZBy8gZgkEyUDjYa/ZutbjmxxxchHGRVfWqjp8XqRainBETYIS4tKn5ZHSRIEmQjmhkKdk1x9XS3rbZ5tHmYw8KJohbfFW3mhaAv/Z}
.hero__media[data-lqip="07-herkunft"],figure[data-lqip="07-herkunft"],[data-lqip="07-herkunft"]{--lqip:data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABQODxIPDRQSEBIXFRQYHjIhHhwcHj0sLiQySUBMS0dARkVQWnNiUFVtVkVGZIhlbXd7gYKBTmCNl4x9lnN+gXz/2wBDARQXFx4aHjshITt8U0ZTfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHz/wAARCAAMABgDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAABQAEA//EACIQAQABBAEDBQAAAAAAAAAAAAECAxEABDESIUEFFFFhgf/EABYBAQEBAAAAAAAAAAAAAAAAAAEAAv/EABcRAAMBAAAAAAAAAAAAAAAAAAABERL/2gAMAwEAAhEDEQA/ABnuKtEGVSZUeI9S/v1m0d/ehG5soHdBbmQyZTpNXqScrLby5LUrSROxbyc5l1jQrW9f2yDEr1LJzwuOA4yb3W9vnHDKLTP/2Q==}
.hero__media[data-lqip="08_karte"],figure[data-lqip="08_karte"],[data-lqip="08_karte"]{--lqip:data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABQODxIPDRQSEBIXFRQYHjIhHhwcHj0sLiQySUBMS0dARkVQWnNiUFVtVkVGZIhlbXd7gYKBTmCNl4x9lnN+gXz/2wBDARQXFx4aHjshITt8U0ZTfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHz/wAARCAAMABgDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAABQADBP/EACMQAAICAgECBwAAAAAAAAAAAAECAyEABBEFEhMiMUFhgaH/xAAVAQEBAAAAAAAAAAAAAAAAAAAAA//EABURAQEAAAAAAAAAAAAAAAAAAAAR/9oADAMBAAIRAxEAPwDdo9HgKJslJFdrKSH0Hv8At/eEmIjHhoo4qgKGDujzSNPua0jtIkfDAseWv5woqhfIBWRUSKtISRjl+xbrHEK//9k=}
.hero__media[data-lqip="09_genuss"],figure[data-lqip="09_genuss"],[data-lqip="09_genuss"]{--lqip:data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABQODxIPDRQSEBIXFRQYHjIhHhwcHj0sLiQySUBMS0dARkVQWnNiUFVtVkVGZIhlbXd7gYKBTmCNl4x9lnN+gXz/2wBDARQXFx4aHjshITt8U0ZTfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHz/wAARCAAMABgDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAABQABBP/EACMQAAICAgAGAwEAAAAAAAAAAAECAxEABDEFEhMhYTJR0eH/xAAWAQEBAQAAAAAAAAAAAAAAAAADAQL/xAAYEQADAQEAAAAAAAAAAAAAAAAAAQIhEf/aAAwDAQACEQMRAD8AAMjHfXsOwKsAhvzx441zHnGyokikckNa/wBGG6ihYFYfIm7zrjJ2XVJTYKMPfG7wqXNFWmTbAfV7gXqmodLMos14JPvLD96aRFWFXIQ2x+ybP5llmcMtn//Z}
.hero__media[data-lqip="10_alltag"],figure[data-lqip="10_alltag"],[data-lqip="10_alltag"]{--lqip:data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABQODxIPDRQSEBIXFRQYHjIhHhwcHj0sLiQySUBMS0dARkVQWnNiUFVtVkVGZIhlbXd7gYKBTmCNl4x9lnN+gXz/2wBDARQXFx4aHjshITt8U0ZTfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHz/wAARCAAMABgDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQCAwb/xAAhEAACAgICAQUAAAAAAAAAAAABAhEDACExBBJBUXGBkf/EABYBAQEBAAAAAAAAAAAAAAAAAAIBA//EABgRAQEBAQEAAAAAAAAAAAAAAAEAERIx/9oADAMBAAIRAxEAPwDNL1mYzDAHckY2CyLeyr4tYIkb19fGFFYW4rJIb0J41yMWsLVOUV2IgcnMd6cn5WgRXU3tAOuYJwyV7E9Dpzvx8o/cMQVW/9k=}
.hero__media[data-lqip="11_aufloesung"],figure[data-lqip="11_aufloesung"],[data-lqip="11_aufloesung"]{--lqip:data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABQODxIPDRQSEBIXFRQYHjIhHhwcHj0sLiQySUBMS0dARkVQWnNiUFVtVkVGZIhlbXd7gYKBTmCNl4x9lnN+gXz/2wBDARQXFx4aHjshITt8U0ZTfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHz/wAARCAAMABgDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAABAABBf/EACMQAAIBBAEDBQAAAAAAAAAAAAECAxEEACESYQUxQVFxodH/xAAVAQEBAAAAAAAAAAAAAAAAAAACA//EABgRAQEBAQEAAAAAAAAAAAAAAAEAEQIh/9oADAMBAAIRAxEAPwDK7ba2dxMQ0kqU2oJoPreW4uZxyWqNHUkOo0DgvawHnk5eRGSD7Gowy1tI5Jk51YaNK/P5kOkH2qZlI7pJbFUZVWINQoo31I66AxwVKLIEAFOQ9Ou8cKhEv//Z}
.hero__media[data-lqip="12_jahrgang-2027"],figure[data-lqip="12_jahrgang-2027"],[data-lqip="12_jahrgang-2027"]{--lqip:data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABQODxIPDRQSEBIXFRQYHjIhHhwcHj0sLiQySUBMS0dARkVQWnNiUFVtVkVGZIhlbXd7gYKBTmCNl4x9lnN+gXz/2wBDARQXFx4aHjshITt8U0ZTfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHz/wAARCAAMABgDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABQAE/8QAIRAAAQQBBAMBAAAAAAAAAAAAAQIAEQMSBAUhMRNBgaH/xAAVAQEBAAAAAAAAAAAAAAAAAAABA//EABgRAQEBAQEAAAAAAAAAAAAAAAEAAhEh/9oADAMBAAIRAxEAPwAuvdtUmJSj6CHsp3m8LGVSYn0wSOCCSeXZE4ST2S4J2sbSf1e7agmavEAroJgkOYGajQtWRngfjm5z5Dtv/9k=}
