:root{ --hh:120px; }
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
*:focus-visible{outline:2px solid var(--color-greenMid);outline-offset:3px;}
html{
  background:var(--color-sand);color:var(--color-ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
  min-height:100%;
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  scroll-snap-type:none;
  scroll-padding-top:0;
}

html.is-programmatic-scroll,
html.is-programmatic-scroll body{
  scroll-snap-type:none!important;
}

body{
  background:var(--color-sand);color:var(--color-ink);
  font-family:inherit;
  min-height:100%;
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-x:none;
}

.pa-skip-link{
  position:fixed;
  top:10px;
  left:10px;
  z-index:200;
  transform:translateY(-160%);
  border:2px solid var(--color-greenMid);
  background:var(--color-cream);
  color:var(--color-greenMid);
  padding:10px 12px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  text-decoration:none;
}

.pa-skip-link:focus-visible{transform:translateY(0);}

.hdr{
  position:fixed;top:0;left:0;right:0;z-index:60;
  background:var(--color-sand);
  padding:14px 24px 10px;
  overflow:visible;
}

.hdr *{min-width:0;}

.hdr__lockup{
  display:flex;
  align-items:center;
  gap:10px;
  width:max-content;
  max-width:100%;
}

.hdr__brand{
  display:inline-block;
  position:relative;
  font-size:clamp(20px,5vw,30px);
  font-weight:900;letter-spacing:0.24em;text-transform:uppercase;
  line-height:1;white-space:nowrap;
  padding-bottom:14px;
  margin-bottom:3px;
}

.hdr__signet{
  display:block;
  width:58px;
  height:58px;
  margin:-20px 0 -18px -6px;
  object-fit:contain;
  object-position:center;
  opacity:.94;
}

.hdr__brand::after{
  content:"";
  position:absolute;
  left:-100vw;
  right:4ch;
  bottom:0;
  height:7px;
  background:var(--color-ink);
}

.hdr__sub{
  display:block;font-size:10px;letter-spacing:0.22em;
  text-transform:uppercase;opacity:.72;margin-bottom:7px;
}

.hdr__nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.ng{display:flex;align-items:center;gap:5px;min-height:44px;cursor:pointer;color:inherit;text-decoration:none;}
.ng--collection{gap:9px;}
.ng__text{display:flex;flex-direction:column;gap:2px;min-width:0;}
.ng__l{font-size:9px;letter-spacing:.2em;text-transform:uppercase;opacity:.88;font-weight:700;white-space:nowrap;}
.ng__s{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px;line-height:1;letter-spacing:.14em;text-transform:uppercase;opacity:.54;font-weight:800;}
.ng__s--pdp{max-width:96px;opacity:.72;}
.dots{display:flex;gap:4px;}
.pdp-nav{display:flex;align-items:center;gap:5px;}
.dots--pdp{opacity:.76;gap:5px;}
.dots--pdp .dot{width:10px;height:10px;border-width:1.5px;}

.dot{
  width:10px;height:10px;border:1.5px solid var(--color-ink);
  display:block;background:transparent;padding:0;flex-shrink:0;
  position:relative;
}

.dot::before{
  content:"";position:absolute;
  inset:-8px;
}

.dot.on{background:var(--color-ink);}

.page{
  position:relative;
  width:100%;
  max-width:100%;
  min-height:100svh;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:auto;
  overflow-x:hidden;
}

.s{
  min-height:100svh;
  scroll-snap-align:none;
  scroll-snap-stop:normal;
  padding:var(--hh) var(--space-page-x) var(--space-section-bottom);
  display:flex;
  flex-direction:column;
  gap:10px;
  overflow:visible;
}

.s--free{
  height:auto;
  min-height:100svh;
  scroll-snap-align:none;
  scroll-snap-stop:normal;
  padding:var(--hh) var(--space-page-x) calc(var(--space-section-bottom) * 1.5);
  display:flex;
  flex-direction:column;
  gap:10px;
  overflow:visible;
}

.s[data-long="true"],
.s--free[data-long="true"]{
  scroll-snap-align:none;
  scroll-snap-stop:normal;
}

@supports not (height:100svh){
  .s,.s--free{min-height:100vh;}
}

.section{background:var(--section-bg);color:var(--section-fg);}
.bg{background:var(--color-sand);color:var(--color-ink);}
.bg2{background:var(--color-sandMuted);color:var(--color-ink);}
.dg{background:var(--color-greenDark);color:var(--color-cream);}
.dg2{background:var(--color-greenMid);color:var(--color-cream);}

.hd{flex-shrink:0;margin-bottom:8px;}
.kk{display:block;font-size:var(--type-kicker);letter-spacing:.22em;text-transform:uppercase;opacity:.72;font-weight:700;margin-bottom:3px;margin-top:4px;}
.tt{font-size:var(--type-headline);font-weight:900;line-height:.94;word-break:normal;hyphens:none;}
.component-HeroMain .tt{font-size:var(--type-hero);}
.rl{width:var(--rule-width);height:var(--rule-height);background:currentColor;margin-top:10px;}
.meta{margin-top:6px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;opacity:.78;}

.section-return{
  margin:-2px 0 8px;
  flex-shrink:0;
}

.return-link{
  border:1.5px solid currentColor;
  background:transparent;
  color:inherit;
  padding:8px 10px;
  font:inherit;
  font-size:10px;
  letter-spacing:.16em;
  line-height:1.2;
  text-transform:uppercase;
  font-weight:800;
  cursor:pointer;
  opacity:.74;
}

.return-link:active{opacity:.5;}

.flex1{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0;}
.g2{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--space-gap);flex:0 0 auto;min-height:auto;align-items:stretch;}
.g2b{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-gap);flex:0 0 auto;min-height:auto;align-items:stretch;}
.layout{display:grid;gap:var(--space-gap);align-items:stretch;}
.layout--oneColumn,.layout--message,.layout--tierRows,.layout--productGrid{grid-template-columns:minmax(0,1fr);}
.layout--twoColumn,.layout--equalColumns,.layout--action,.layout--legal{grid-template-columns:var(--layout-columns,minmax(0,1fr) minmax(0,1fr));}
.slot{display:flex;flex-direction:column;gap:var(--space-gap-small);min-width:0;}
.col{display:flex;flex-direction:column;gap:9px;min-height:auto;}
.row{display:flex;gap:9px;}
.bx{border:1.5px solid rgba(24,21,18,.12);background:rgba(24,21,18,.07);min-height:28px;flex-shrink:0;}
.dg .bx,.dg2 .bx{border-color:rgba(245,239,228,.16);background:rgba(245,239,228,.08);}
.bxf{flex:0 0 auto;min-height:40px;}
.br{height:var(--bar-height);background:currentColor;flex-shrink:0;}
.brs{height:var(--bar-small-height);background:currentColor;flex-shrink:0;}

.cards{
  display:grid;grid-template-columns:1fr 1fr;gap:13px;
  flex:0 0 auto;min-height:auto;
  overflow:visible;
  -webkit-overflow-scrolling:touch;
  align-content:start;
}

.product-browser{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.product-search{
  display:flex;
  flex-direction:column;
  gap:7px;
  max-width:620px;
}

.product-search__field{
  display:flex;
  gap:8px;
}

.product-search span,
.product-tier__head span,
.product-browser__empty{
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:800;
  opacity:.72;
}

.product-search input{
  width:100%;
  border:2px solid currentColor;
  background:transparent;
  color:inherit;
  padding:12px 13px;
  font:inherit;
  font-size:16px;
  outline:none;
}

.product-search button{
  border:2px solid currentColor;
  background:transparent;
  color:inherit;
  padding:0 11px;
  font:inherit;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:900;
  cursor:pointer;
}

.product-search input::placeholder{color:currentColor;opacity:.38;}
.product-search input:focus{box-shadow:0 0 0 3px color-mix(in srgb,currentColor 18%,transparent);}

.product-tier{
  display:flex;
  flex-direction:column;
  gap:9px;
}

.product-tier[hidden],
.card[hidden]{display:none;}

.product-tier__head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  border-top:5px solid currentColor;
  padding-top:8px;
}

.product-tier__head h3{
  font-size:clamp(22px,3vw,38px);
  line-height:.95;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.card{
  border:2.5px solid currentColor;padding:12px;
  display:flex;flex-direction:column;gap:7px;
  cursor:pointer;background:transparent;color:inherit;text-align:left;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.card > :not(.card__thumb){position:relative;z-index:1;}

.card__thumb{
  position:absolute;
  inset:0;
  z-index:0;
  opacity:.52;
  pointer-events:none;
}

.card__thumb::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,
    color-mix(in srgb,var(--section-bg) 88%,transparent) 0%,
    color-mix(in srgb,var(--section-bg) 70%,transparent) 46%,
    color-mix(in srgb,var(--section-bg) 38%,transparent) 100%);
}

.card__thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.05) contrast(1.16);
}

.card:hover .card__thumb,
.card:focus-visible .card__thumb{opacity:.62;}

.collection-card{
  min-height:340px;
  justify-content:flex-end;
}

.collection-card__thumb{
  opacity:.78;
}

.collection-card__thumb::after{
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--section-bg) 8%,transparent) 0%,
    color-mix(in srgb,var(--section-bg) 26%,transparent) 28%,
    color-mix(in srgb,var(--section-bg) 82%,transparent) 72%,
    var(--section-bg) 100%);
}

.collection-card__thumb img{
  object-fit:cover;
  object-position:center center;
  transform:scale(1.02);
}

.card:active{opacity:.7;}
.cref{font-size:10px;text-transform:uppercase;letter-spacing:.2em;opacity:.72;font-weight:700;text-shadow:0 0 8px var(--section-bg),0 1px 4px rgba(0,0,0,.12);}
.cname{font-size:20px;font-weight:900;line-height:1.02;text-shadow:0 0 8px var(--section-bg),0 1px 4px rgba(0,0,0,.12);}
.ctier{font-size:9.5px;text-transform:uppercase;letter-spacing:.18em;opacity:1;text-shadow:0 0 8px var(--section-bg),0 1px 4px rgba(0,0,0,.12);}
.ccta{font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;margin-top:auto;}

.bl{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin-bottom:12px;flex-shrink:0;}
.bl__b{height:5px;background:currentColor;}
.bl__l{font-size:9px;text-transform:uppercase;letter-spacing:.22em;opacity:.72;font-weight:700;white-space:nowrap;}

.vref{font-size:10px;text-transform:uppercase;letter-spacing:.24em;opacity:.72;font-weight:800;margin-bottom:5px;}
.vref--ref{margin-top:6px;font-size:9px;letter-spacing:.18em;opacity:.72;}
.vbig{font-size:clamp(28px,7vw,78px);line-height:.93;font-weight:900;letter-spacing:-.02em;}
.theo{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.th-t{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;opacity:.5;font-weight:700;margin-bottom:4px;}
.th-b{font-size:13px;line-height:1.55;opacity:.72;}

.component-VotingProductionExplainer .theo{
  margin-top:0;
  gap:10px;
}

.component-VotingProductionExplainer .theo > div{
  min-height:126px;
  border:1.5px solid color-mix(in srgb,currentColor var(--border-mix,14%), transparent);
  background:color-mix(in srgb,currentColor var(--panel-mix,7%), transparent);
  padding:var(--space-panel);
}

.component-VotingProductionExplainer .th-t{
  opacity:.74;
}

.trows{display:flex;flex-direction:column;gap:10px;flex:0 0 auto;min-height:auto;}
.trow{display:grid;grid-template-columns:46px 1fr;gap:10px;align-items:flex-start;}
.tnum{font-size:26px;font-weight:900;opacity:.18;line-height:1;}

.tier-heading{
  --tier-bar-width:88px;
  --tier-bar-height:6px;
  --tier-gap:7px;
  display:inline-grid;
  gap:var(--tier-gap);
  color:inherit;
  font-size:inherit;
  font-weight:900;
  letter-spacing:.16em;
  line-height:1.05;
  text-transform:uppercase;
}

.tier-heading__bar{
  display:block;
  width:var(--tier-bar-width);
  height:var(--tier-bar-height);
  background:currentColor;
}

.tier-heading__text{display:block;}

.tier-heading--section{
  --tier-bar-width:88px;
  --tier-bar-height:6px;
  --tier-gap:7px;
}

.tier-heading--compact{
  --tier-bar-width:44px;
  --tier-bar-height:3px;
  --tier-gap:4px;
  font-size:.78em;
  letter-spacing:.14em;
}

.tier-heading--panel{
  --tier-bar-width:72px;
  --tier-bar-height:5px;
  --tier-gap:6px;
  font-size:13px;
  letter-spacing:.15em;
}

.lg{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.ml{display:flex;flex-direction:column;gap:7px;}
.mr{display:grid;grid-template-columns:80px 1fr;gap:7px;align-items:center;}
.mlbl{font-size:9px;text-transform:uppercase;letter-spacing:.2em;opacity:.72;font-weight:700;}

.lead{
  font-size:var(--type-lead);
  line-height:1.05;
  font-weight:850;
  letter-spacing:-.02em;
}

.section-intro{
  max-width:820px;
  margin:0 0 12px;
  font-size:14px;
  line-height:1.55;
  opacity:.68;
}

.copy-panel,
.action-panel,
.asset-card,
.meta-card,
.info-link{
  border:1.5px solid color-mix(in srgb, currentColor var(--border-mix,14%), transparent);
  background:color-mix(in srgb, currentColor var(--panel-mix,7%), transparent);
  color:inherit;
}

.copy-panel,
.action-panel,
.meta-card{
  padding:var(--space-panel);
}

.copy-panel h3,
.tier-copy h3{
  font-size:13px;
  line-height:1.1;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:7px;
}

.copy-panel p,
.copy-panel li,
.action-panel p,
.tier-copy p,
.tier-copy li,
.card p,
.legal-copy,
.verse-pair{
  font-size:var(--type-body);
  line-height:var(--line-body);
  opacity:.76;
}

.block-text{
  font-size:var(--type-body);
  line-height:var(--line-body);
  opacity:.72;
}

.copy-panel p + p,
.copy-panel h3 + p,
.verse-pair p + p{
  margin-top:8px;
}

.copy-panel ul,
.tier-copy ul{
  margin-top:8px;
  padding-left:18px;
}

.pill-list{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  list-style:none;
  padding:0;
}

.pill-list li{
  border:1.5px solid currentColor;
  padding:7px 9px;
  font-size:10px;
  line-height:1.2;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:800;
  opacity:.72;
}

.pa-btn-group{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  align-items:center;
  margin-top:1.5rem;
}

.pa-btn-group + .pa-btn-group{margin-top:.5rem;}

.pa-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4em;
  border:1.5px solid transparent;
  border-radius:0;
  padding:.75rem 1.5rem;
  color:inherit;
  font:inherit;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.13em;
  line-height:1;
  text-decoration:none;
  text-transform:uppercase;
  white-space:nowrap;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}

.pa-btn--primary{
  background:var(--color-greenMid);
  border-color:var(--color-greenMid);
  color:var(--color-cream);
}

.pa-btn--primary:hover,
.pa-btn--primary:focus-visible{
  background:var(--color-greenDark);
  border-color:var(--color-greenDark);
  color:var(--color-cream);
}

.pa-btn--secondary{
  background:transparent;
  border-color:currentColor;
  color:inherit;
}

.theme-sand .pa-btn--secondary,
.theme-sandMuted .pa-btn--secondary{
  border-color:var(--color-greenMid);
  color:var(--color-greenMid);
}

.pa-btn--secondary:hover,
.pa-btn--secondary:focus-visible{
  background:var(--color-greenMid);
  border-color:var(--color-greenMid);
  color:var(--color-cream);
}

.pa-btn--ghost{
  background:transparent;
  border-color:var(--color-cream);
  color:var(--color-cream);
}

.pa-btn--ghost:hover,
.pa-btn--ghost:focus-visible{
  background:var(--color-cream);
  color:var(--color-greenMid);
}

.pa-btn[aria-disabled="true"]{
  opacity:.38;
  cursor:not-allowed;
  pointer-events:none;
}

.collection-vote-jump{
  flex-shrink:0;
  margin:4px 0 0;
}

.collection-vote-jump__btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:min(560px,100%);
  min-height:64px;
  border:2px solid currentColor;
  background:currentColor;
  color:var(--section-bg);
  padding:18px 22px;
  font-size:clamp(13px,1.7vw,22px);
  font-weight:900;
  letter-spacing:.16em;
  line-height:1.05;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
}

.theme-sand .collection-vote-jump__btn,
.theme-sandMuted .collection-vote-jump__btn{
  background:var(--color-greenMid);
  border-color:var(--color-greenMid);
  color:var(--color-cream);
}

.collection-vote-jump__btn:hover,
.collection-vote-jump__btn:focus-visible{
  opacity:.86;
}

.kauf15{
  margin-top:0;
  color:var(--color-greenMid);
}

.kauf15 p{
  max-width:760px;
  font-size:var(--type-lead);
  line-height:1.15;
  font-weight:750;
}

.kauf15__final{margin-top:20px!important;}

.asset-card{
  min-height:220px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:12px;
  padding:13px;
  overflow:visible;
}

.gallery-wrap{
  position:relative;
}

.gallery{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(min(260px,100%),calc((100% - var(--space-gap)) / 2));
  gap:var(--space-gap);
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  padding-bottom:22px;
  scrollbar-color:currentColor transparent;
  scrollbar-width:thin;
  touch-action:pan-x;
}

.gallery::-webkit-scrollbar{height:7px;}
.gallery::-webkit-scrollbar-track{background:color-mix(in srgb,currentColor 14%,transparent);}
.gallery::-webkit-scrollbar-thumb{background:currentColor;}

.gallery .asset-card{
  scroll-snap-align:start;
  min-height:260px;
}

.gallery-hint{
  display:none;
  margin-top:7px;
  font-size:10px;
  line-height:1.35;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.68;
}

.gallery-nav{
  position:absolute;
  right:10px;
  bottom:42px;
  display:none;
  gap:6px;
  z-index:2;
  opacity:.36;
  transition:opacity .16s ease;
}

.gallery-wrap.has-overflow .gallery-hint{display:block;}
.gallery-wrap.has-overflow .gallery-nav{display:flex;}
.gallery-wrap.has-overflow:hover .gallery-nav{opacity:.7;}

.gallery-btn{
  width:36px;
  height:36px;
  border:1.5px solid currentColor;
  background:color-mix(in srgb,var(--section-bg) 86%,transparent);
  color:inherit;
  cursor:pointer;
  font:inherit;
  font-size:18px;
  line-height:1;
}

.gallery-btn:active{opacity:.72;}

.asset-card img{
  width:100%;
  height:auto;
  aspect-ratio:4 / 3;
  object-fit:contain;
  min-height:0;
  cursor:zoom-in;
}

.asset-card--print img{
  object-fit:contain;
  background:transparent;
  padding:0;
}

.hero-strip{
  width:calc(100% + 2 * var(--space-page-x));
  max-width:100vw;
  margin:2px calc(-1 * var(--space-page-x)) 0;
  overflow-x:auto;
  overflow-y:hidden;
  cursor:grab;
  overscroll-behavior-inline:contain;
  scroll-snap-type:none;
  scroll-behavior:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
  user-select:none;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x;
  contain:inline-size;
}

.hero-strip::-webkit-scrollbar{display:none;}
.hero-strip.is-dragging{cursor:grabbing;}

.hero-strip__track{
  display:flex;
  align-items:stretch;
  height:clamp(190px,28vw,390px);
  width:max-content;
}

.hero-strip figure{
  flex:0 0 auto;
  height:100%;
  scroll-snap-align:none;
  scroll-snap-stop:normal;
  background:var(--section-bg);
}

.hero-strip__link{
  display:block;
  height:100%;
  color:inherit;
  text-decoration:none;
}

.hero-strip img{
  display:block;
  width:auto;
  height:100%;
  min-height:0;
  object-fit:contain;
}

.collection-story-strip{
  margin:2px 0 10px;
}

.collection-story-strip .hero-strip__track{
  height:clamp(220px,32vw,420px);
}

.collection-story-strip .hero-strip figure{
  min-width:max(180px,14vw);
}

.component-HeroMain .layout{
  gap:16px;
}

.component-HeroMain .slot--copy{
  max-width:980px;
}

.component-HeroMain .copy-panel{
  max-width:860px;
}

.component-VisionIntro .gallery{
  grid-auto-flow:row;
  grid-auto-columns:auto;
  grid-template-columns:repeat(2,minmax(0,1fr));
  overflow:visible;
  scroll-snap-type:none;
  padding-bottom:0;
  scrollbar-width:none;
}

.component-VisionIntro .gallery::-webkit-scrollbar{display:none;}

.component-VisionIntro .gallery .asset-card{
  scroll-snap-align:none;
}

.component-StoryIntro .lead{
  max-width:54ch;
}

.component-StoryIntro .copy-panel{
  padding-top:12px;
}

.component-StoryIntro .copy-panel::before{
  content:'';
  display:block;
  width:80px;
  height:3px;
  background:currentColor;
  margin-bottom:6px;
}

.component-StoryIntro .copy-panel{
  max-width:58ch;
}

.component-StoryIntro .slot--copy .asset-card--print{
  min-height:auto;
  border:none;
  background:none;
  padding:4px 0;
}
.component-StoryIntro .slot--copy .asset-card--print img{
  aspect-ratio:auto;
  width:clamp(80px, 18%, 160px);
  display:block;
  margin:0 auto;
}

.lightbox{
  position:fixed;
  inset:0;
  z-index:120;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(10,12,10,.86);
  color:var(--color-cream);
}

.lightbox.is-open{display:flex;}

.lightbox__figure{
  max-width:min(1120px,100%);
  max-height:100%;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.lightbox__figure img{
  max-width:100%;
  max-height:82vh;
  object-fit:contain;
}

.lightbox__caption{
  font-size:11px;
  letter-spacing:.16em;
  line-height:1.35;
  text-transform:uppercase;
  opacity:.72;
}

.lightbox__close{
  position:absolute;
  top:14px;
  right:14px;
  border:1.5px solid currentColor;
  background:transparent;
  color:inherit;
  padding:10px 12px;
  font:inherit;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  cursor:pointer;
}

.asset-card figcaption,
.asset-card__label,
.progress-meta,
.progress-state{
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:800;
  opacity:.5;
}

.progress-state{
  display:inline-block;
  border:1.5px solid currentColor;
  padding:5px 7px;
  margin-bottom:8px;
  opacity:.72;
}

.asset-card code{
  display:block;
  font-size:10px;
  line-height:1.35;
  word-break:break-all;
  opacity:.5;
}

.asset-card--placeholder::before{
  content:"";
  display:block;
  height:9px;
  width:46%;
  background:currentColor;
}

.asset-card--placeholder p{
  font-size:14px;
  line-height:1.45;
  opacity:.7;
}

.tier-copy{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-height:0;
}

.tier-copy .brs{width:88px;}

.below-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:10px;
  flex-shrink:0;
}

.verse-pair{
  margin-top:12px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.message-summary{
  max-width:1120px;
}

.message-summary__en{
  margin-top:10px;
  max-width:860px;
  font-size:clamp(15px,2.2vw,24px);
  line-height:1.2;
  font-weight:750;
  opacity:.62;
}

.message-summary__links{
  margin-top:12px;
}

.message-reading{
  margin-top:18px;
  max-width:880px;
  border:1.5px solid color-mix(in srgb, currentColor var(--border-mix,14%), transparent);
  background:color-mix(in srgb, currentColor var(--panel-mix,7%), transparent);
  padding:var(--space-panel);
}

.message-reading p{
  font-size:var(--type-body);
  line-height:var(--line-body);
  opacity:.76;
}

.message-reading p + p{margin-top:8px;}

.link-row{
  grid-column:1 / -1;
  font-size:10px!important;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.link-row a,
.info-link{
  color:inherit;
  text-decoration:none;
}

.message-body{
  margin-top:14px;
}

.cta-stack{
  justify-content:flex-start;
}

.btn{
  display:block;
  border:2px solid currentColor;
  padding:13px;
  color:inherit;
  text-decoration:none;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:900;
}

.btn:active{opacity:.7;}

.progress{
  height:14px;
  border:2px solid currentColor;
  margin:10px 0 12px;
}

.progress span{
  display:block;
  height:100%;
  background:currentColor;
}

.info-link{
  display:block;
  min-height:30px;
  padding:7px 9px;
  font-size:12px;
  line-height:1.25;
}

.legal-copy h3{
  font-size:13px;
  margin:14px 0 6px;
  letter-spacing:.15em;
  text-transform:uppercase;
}

@media(max-width:600px){
  .g2,.g2b,.cards,.lg,.theo,.below-grid,.verse-pair,.layout{grid-template-columns:1fr;}
  .product-tier__head{align-items:flex-start;flex-direction:column;gap:4px;}
  .product-search__field{flex-direction:column;}
  .product-search button{min-height:38px;}
}

@media(max-width:760px){
  :root{--hh:96px;}

  html,body{scroll-snap-type:y proximity;}

  .hdr{
    padding:9px 12px 7px;
  }

  .hdr__brand{
    font-size:clamp(17px,6vw,23px);
    letter-spacing:.16em;
    padding-bottom:9px;
    margin-bottom:2px;
  }

  .hdr__lockup{gap:8px;}
  .hdr__signet{width:42px;height:42px;margin:-13px 0 -13px -4px;}

  .hdr__brand::after{
    right:2.5ch;
    height:5px;
  }

  .hdr__sub{
    font-size:8px;
    letter-spacing:.14em;
    margin-bottom:4px;
  }

  .hdr__nav{
    gap:6px 8px;
    align-items:center;
  }

  .ng{
    gap:3px;
    min-height:26px;
  }

  .ng__l{
    font-size:7.5px;
    letter-spacing:.11em;
  }

  .ng__s{
    max-width:132px;
    font-size:6px;
    letter-spacing:.08em;
  }

  .ng__s--pdp{max-width:74px;}
  .pdp-nav{gap:3px;}

  .dots{gap:3px;}

  .dot{
    width:8px;
    height:8px;
    border-width:1.25px;
  }

  .dots--pdp .dot{width:9px;height:9px;}

  .dot::before{inset:-6px;}

  .s,
  .s--free{
    padding:var(--hh) var(--space-page-x-mobile) 28px;
    gap:8px;
  }

  .s,
  .s--free{scroll-snap-align:start;}
  .s[data-long="true"],
  .s--free[data-long="true"]{scroll-snap-align:none;scroll-snap-stop:normal;}

  .hd{margin-bottom:5px;}
  .kk{font-size:8px;letter-spacing:.16em;margin-top:2px;}
  .tt{font-size:clamp(25px,10vw,42px);line-height:.96;}
  .rl{width:var(--rule-width-mobile);height:var(--rule-height-mobile);margin-top:8px;}
  .meta{font-size:9px;letter-spacing:.12em;}

  .lead{font-size:clamp(17px,5vw,24px);line-height:1.08;}
  .product-browser{gap:13px;}
  .product-search input{font-size:14px;padding:10px;}
  .product-tier__head h3{font-size:24px;}
  .copy-panel,.action-panel,.meta-card,.asset-card,.message-reading{padding:var(--space-panel-mobile);}
  .copy-panel p,.copy-panel li,.action-panel p,.tier-copy p,.tier-copy li,.card p,.legal-copy,.verse-pair{font-size:12px;line-height:1.48;}
  .pill-list{gap:5px;}
  .pill-list li{font-size:8.5px;letter-spacing:.1em;padding:6px 7px;}
  .pa-btn-group{flex-direction:column;align-items:flex-start;gap:.6rem;margin-top:1rem;}
  .pa-btn{width:100%;justify-content:center;}
  .kauf15{margin-top:18px;}
  .asset-card{min-height:150px;}
  .asset-card--print img{padding:0;}
  .hero-strip{width:calc(100% + 2 * var(--space-page-x-mobile));max-width:100vw;margin:4px calc(-1 * var(--space-page-x-mobile)) 0;}
  .hero-strip__track{height:220px;}
  .hero-strip img{height:100%;}
  .collection-story-strip .hero-strip__track{height:200px;}
  .collection-story-strip .hero-strip figure{min-width:140px;}
  .gallery{grid-auto-columns:minmax(78vw,1fr);margin-inline:-2px;padding:0 2px 22px;}
  .component-VisionIntro .gallery{grid-template-columns:1fr;margin-inline:0;padding:0;}
  .gallery .asset-card{min-height:240px;}
  .gallery-hint{font-size:8.5px;letter-spacing:.1em;}
  .gallery-nav{display:none!important;}
  .gallery-btn{width:32px;height:32px;font-size:16px;}
  .lightbox{padding:12px;}
  .lightbox__close{top:10px;right:10px;padding:8px 10px;font-size:9px;}
  .below-grid{margin-top:4px;gap:8px;}
  .vbig{font-size:clamp(27px,10vw,54px);line-height:.96;}
  .theo{gap:10px;}
  .btn{padding:10px;font-size:9.5px;letter-spacing:.12em;}
}

@media(max-width:760px) and (max-height:520px){
  :root{--hh:72px;}

  .hdr{padding:7px 10px 5px;}
  .hdr__brand{font-size:16px;padding-bottom:7px;margin-bottom:0;}
  .hdr__sub{display:none;}
  .hdr__nav{gap:4px 7px;}
  .ng{min-height:22px;}
  .ng__l{font-size:7px;letter-spacing:.08em;}
  .dot{width:7px;height:7px;}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;scroll-snap-type:none;}
  .s,.s--free{scroll-snap-align:none;}
}

/* Wireframe refactor: full-range pages, simple bars, media-only horizontal swipes. */
html{
  scroll-behavior:smooth;
  scroll-snap-type:y mandatory!important;
  overscroll-behavior-x:none;
}

body{
  overscroll-behavior-x:none;
}

.page{touch-action:pan-x;}

.s,
.s--free{
  height:100dvh;
  min-height:100dvh;
  max-height:100dvh;
  overflow:hidden;
  padding-bottom:96px;
  scroll-snap-align:start;
  scroll-snap-stop:normal;
}

.s{scroll-snap-stop:always;}

.component-CollectionLanding:not(.is-active),
.component-CollectionStatus:not(.is-active),
.pdp-section:not(.is-active){display:none!important;}

body.is-pdp .hdr{display:none;}

.hdr__nav .ng[hidden]{display:none!important;}

.section{position:relative;}

.s > .layout,
.s--free > .layout{
  flex:1;
  min-height:0;
  overflow:hidden;
}

.copy-panel,
.asset-card,
.meta-card{
  border:0;
  background:transparent;
  padding:0;
}

.component-StoryIntro .pa-btn-group,
.component-Kauf15 .pa-btn-group{display:none;}

.component-StoryIntro .layout,
.component-StoryIntro .slot--copy,
.component-StoryIntro .x-panels{
  min-height:0;
  height:100%;
}

.component-StoryIntro .slot--copy{overflow:hidden;}

.x-panels{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:100%;
  gap:0;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  touch-action:pan-x;
}

.x-panels::-webkit-scrollbar{display:none;}

.x-panel{
  min-width:0;
  min-height:0;
  overflow:hidden;
  scroll-snap-align:start;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:12px;
  padding-right:10px;
}

.component-StoryIntro .x-panel .copy-panel p,
.component-StoryIntro .x-panel .copy-panel li{
  font-size:13px;
  line-height:1.42;
}

.component-HeroMain{
  height:100dvh;
  padding-bottom:96px;
}

.component-HeroMain .layout{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:16px;
  min-height:0;
  overflow:hidden;
}

.component-HeroMain .slot--copy{
  max-width:46ch;
}

.component-HeroMain .pill-list{display:none;}

.component-HeroMain .slot--visual{
  flex:1;
  min-height:0;
  display:flex;
  overflow:hidden;
}

.asset-card--start-hero{
  flex:1;
  width:calc(100% + 2 * var(--space-page-x));
  margin:0 calc(-1 * var(--space-page-x));
  min-height:0;
  justify-content:flex-end;
}

.asset-card--start-hero img{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center bottom;
  cursor:zoom-in;
}

.component-HeroMain .pa-btn-group{
  position:absolute;
  left:50%;
  right:auto;
  bottom:0;
  width:100vw;
  transform:translateX(-50%);
  z-index:3;
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  margin:0;
}

.component-HeroMain .pa-btn,
.flow-footer__item,
.pdp-footer__item{
  min-height:44px;
  border:0;
  border-top:1px solid color-mix(in srgb,var(--color-cream) 42%,transparent);
  border-radius:0;
  background:var(--color-greenDark);
  color:var(--color-cream);
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-decoration:none;
}

.component-HeroMain .pa-btn{
  width:100%;
  justify-content:space-between;
  padding:0 var(--space-page-x);
}

.component-HeroMain .pa-btn::after{content:'↓';font-size:18px;font-weight:500;}

.component-HeroMain .pa-btn--secondary{
  background:color-mix(in srgb,var(--color-cream) 86%,var(--color-greenDark));
  color:var(--color-ink);
  border-top-color:color-mix(in srgb,var(--color-ink) 16%,transparent);
}

.flow-footer{
  display:grid;
  grid-template-columns:1fr;
  position:absolute;
  left:50%;
  right:auto;
  bottom:0;
  width:100vw;
  transform:translateX(-50%);
  margin:0;
  flex-shrink:0;
}

.flow-footer__item{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:0 var(--space-page-x);
}

.flow-footer__item--up{
  background:color-mix(in srgb,var(--color-greenDark) 94%,var(--color-cream));
}

.collection-index{
  display:grid;
  gap:8px;
  margin-top:8px;
}

.collection-index__item{
  position:relative;
  min-height:80px;
  overflow:hidden;
  isolation:isolate;
  border:0;
  background:var(--color-greenDark);
  color:var(--color-cream);
  text-align:left;
  padding:16px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:3px;
  cursor:pointer;
}

.collection-index__image{
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:.74;
}

.collection-index__image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.collection-index__item::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(8,28,23,.94),rgba(8,28,23,.62),rgba(8,28,23,.18));
}

.collection-index__meta,
.collection-index__sub,
.collection-index__copy,
.collection-index__cta{
  font-size:10px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:.08em;
}

.collection-index__meta,
.collection-index__cta{display:none;}

.collection-index__title{
  font-size:clamp(19px,3vw,30px);
  line-height:1;
  font-weight:950;
  letter-spacing:-.03em;
  text-transform:uppercase;
}

.collection-index__sub,
.collection-index__copy{max-width:52ch;}

.component-CollectionLanding,
.component-CollectionStatus{
  background:var(--color-greenDark);
  color:var(--color-cream);
}

.component-CollectionLanding .layout{
  display:flex;
  flex-direction:column;
  gap:18px;
  flex:1;
  min-height:0;
  overflow:hidden;
}

.component-CollectionLanding .slot--story{
  max-width:58ch;
  flex:0 0 auto;
}

.component-CollectionLanding .slot--story .copy-panel{display:none;}
.component-CollectionLanding .slot--story .lead{font-size:clamp(17px,4.8vw,28px);line-height:1.08;}
.component-CollectionLanding .meta-card{padding:0;opacity:.82;}
.component-CollectionLanding .slot--products{flex:1;min-height:0;overflow:hidden;}

.product-lanes{
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1;
  min-height:0;
  overflow:hidden;
}

.product-tier--lane{
  position:relative;
  display:flex;
  flex:1 1 0;
  flex-direction:column;
  border-top:1px solid color-mix(in srgb,currentColor 24%,transparent);
  padding-top:8px;
  min-height:0;
  overflow:hidden;
}

.product-tier--lane::after{
  content:'→';
  position:absolute;
  right:0;
  top:50%;
  z-index:2;
  transform:translateY(-10%);
  font-size:22px;
  line-height:1;
  pointer-events:none;
}

.product-tier--lane .product-tier__head{
  border:0;
  padding:0;
  margin-bottom:8px;
}

.component-CollectionLanding .product-tier__head h3{
  font-size:clamp(10px,2vw,16px);
  line-height:1.05;
}

.component-CollectionLanding .tier-heading{
  letter-spacing:.08em;
}

.product-tier--lane .product-tier__head span:last-child{display:none;}

.product-lane{
  display:flex;
  align-items:stretch;
  flex:1;
  gap:0;
  min-height:0;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  scroll-snap-type:none;
  scroll-behavior:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:0 42px 0 0;
  touch-action:pan-x;
}

.product-lane::-webkit-scrollbar{display:none;}

.product-lane__item{
  border:0;
  background:transparent;
  color:inherit;
  flex:0 0 auto;
  min-height:0;
  height:100%;
  scroll-snap-align:none;
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:0;
  padding:0;
  cursor:pointer;
}

.product-lane__image{
  display:block;
  height:100%;
  min-height:0;
  background:transparent;
}

.product-lane__image img{
  display:block;
  width:auto;
  height:100%;
  min-height:0;
  max-width:none;
  object-fit:contain;
  object-position:center;
}

.product-lane__meta,
.product-lane__tier,
.product-lane__copy{display:none;}

.product-lane__title{
  display:none;
  font-size:12px;
  line-height:1.08;
  font-weight:900;
  text-transform:uppercase;
}

.product-lane__cta{
  display:none;
}

.product-lane__cta::after{
  content:'→';
  font-size:22px;
}

.component-CollectionStatus .layout{
  display:block;
  flex:1;
  min-height:0;
  overflow:hidden;
}

.component-CollectionStatus .slot--copy{
  margin-bottom:14px;
}

.component-CollectionStatus .theo{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:0;
}

.component-CollectionStatus .theo > div{
  min-height:74px;
  border:1.5px solid color-mix(in srgb,currentColor 32%,transparent);
  background:transparent;
  padding:14px;
}

.component-CollectionStatus .pa-btn-group{
  display:flex;
  margin-top:12px;
}

.component-CollectionStatus .pa-btn{
  width:100%;
}

.pdp-section{
  height:100dvh;
  min-height:100dvh;
  max-height:100dvh;
  padding:0 var(--space-page-x) 52px;
  gap:12px;
  overflow:hidden;
}

.component-Legal .section-body{display:none;}

.pdp-topbar{
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:56px;
  background:var(--section-bg);
  color:var(--section-fg);
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.pdp-topbar a{
  color:inherit;
  text-decoration:none;
}

.pdp-topbar__lockup{display:flex;align-items:center;gap:8px;position:relative;padding-bottom:9px;}
.pdp-topbar__lockup::after{content:'';position:absolute;left:0;right:38px;bottom:0;height:4px;background:currentColor;}
.pdp-topbar__brand{letter-spacing:.18em;}
.pdp-topbar__signet{width:30px;height:30px;object-fit:contain;}

.pdp-section .hd{margin-top:10px;}

.pdp-section .kk{opacity:.82;}

.pdp-section .tt{
  font-size:clamp(28px,6vw,56px);
  text-transform:uppercase;
}

.pdp-section .meta{
  font-size:clamp(18px,3vw,28px);
  line-height:1;
  font-weight:950;
  opacity:1;
  letter-spacing:.02em;
}

.pdp-media{
  display:flex;
  flex-direction:column;
  gap:14px;
  flex:1;
  min-height:0;
}

.pdp-media__hero{
  flex:1;
  min-height:320px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.pdp-media__hero img{
  max-width:100%;
  max-height:52vh;
  object-fit:contain;
  filter:drop-shadow(0 22px 28px rgba(0,0,0,.16));
  cursor:zoom-in;
}

.pdp-media__thumbs{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(92px,13vw);
  gap:8px;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x proximity;
  padding-bottom:8px;
  scrollbar-width:none;
  width:calc(100% + 2 * var(--space-page-x));
  margin-inline:calc(-1 * var(--space-page-x));
  padding-inline:var(--space-page-x);
  touch-action:pan-x;
}

.pdp-media__thumbs::-webkit-scrollbar{display:none;}

.pdp-media__thumb{
  border:0;
  background:transparent;
  scroll-snap-align:start;
  padding:0;
  min-height:92px;
}

.pdp-media__thumb img{
  width:100%;
  height:78px;
  object-fit:contain;
  cursor:zoom-in;
}

.pdp-media__thumb figcaption{display:none;}

.component-PdpProduct .pill-list{display:none;}

.pdp-footer{
  display:grid;
  grid-template-columns:1.12fr 1fr 1fr;
  position:absolute;
  left:50%;
  right:auto;
  bottom:0;
  width:100vw;
  transform:translateX(-50%);
  margin:0;
  flex-shrink:0;
}

.pdp-footer__item{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 10px;
  text-align:center;
}

.pdp-footer__item--action{
  background:#b8a178;
  color:var(--color-cream);
}

.pdp-footer__item--disabled{
  background:#beb9ad;
  color:rgba(255,255,255,.75);
}

.component-PdpMessage .lead,
.component-PdpVerse .vbig{
  max-width:760px;
}

.component-PdpMessage .lead::before{
  content:'“';
  display:block;
  font-size:64px;
  line-height:.7;
  font-weight:950;
}

.component-PdpVerse .message-reading,
.component-PdpVerse .message-summary__en,
.component-PdpVerse .message-summary__links{margin-top:16px;}

@media(min-width:761px){
  .component-CollectionOverview .layout{max-width:760px;}
  .component-CollectionLanding .layout{max-width:1080px;}
  .pdp-section{max-width:980px;margin:0 auto;}
  .pdp-footer{margin:0;}
}

@media(max-width:760px){
  .component-HeroMain{padding-bottom:92px;}
  .component-HeroMain .pa-btn{padding:0 var(--space-page-x-mobile);}
  .asset-card--start-hero{width:calc(100% + 2 * var(--space-page-x-mobile));margin-inline:calc(-1 * var(--space-page-x-mobile));}
  .flow-footer{margin:0;}
  .flow-footer__item{padding:0 var(--space-page-x-mobile);}
  .collection-index{gap:7px;}
  .collection-index__item{min-height:68px;padding:11px 12px;}
  .collection-index__title{font-size:18px;}
  .collection-index__sub,.collection-index__copy{font-size:8.5px;line-height:1.18;}
  .component-CollectionLanding .slot--story .lead{font-size:17px;}
  .component-CollectionLanding .meta-card{font-size:10px;line-height:1.25;}
  .product-lanes{gap:8px;}
  .product-tier--lane{padding-top:6px;}
  .product-tier--lane .product-tier__head{margin-bottom:5px;}
  .component-CollectionLanding .product-tier__head h3{font-size:9.5px;}
  .product-lane{gap:0;padding:0 34px 0 0;}
  .product-lane__item{min-height:0;}
  .product-lane__image{min-height:0;}
  .product-lane__image img{height:100%;}
  .component-StoryIntro .x-panel .copy-panel p,
  .component-StoryIntro .x-panel .copy-panel li{font-size:12px;line-height:1.38;}
  .pdp-section{padding-inline:var(--space-page-x-mobile);}
  .pdp-footer{margin:0;}
  .pdp-footer__item{font-size:8px;letter-spacing:.09em;min-height:44px;}
  .pdp-media__hero{min-height:270px;}
  .pdp-media__hero img{max-height:44vh;}
  .pdp-media__thumbs{grid-auto-columns:82px;width:calc(100% + 2 * var(--space-page-x-mobile));margin-inline:calc(-1 * var(--space-page-x-mobile));padding-inline:var(--space-page-x-mobile);}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;scroll-snap-type:y proximity!important;}
  .s{scroll-snap-stop:normal;}
}
