/* ============================================================
   Am Gaumberg · Restaurant | Buschenschank | Events
   Designsystem: Tannengrün auf warmem Papier, Inter Tight + Inter
   ============================================================ */

:root {
  --paper: #F5F1E8;
  --paper-2: #EDE8DB;
  --ink: #182019;
  --ink-soft: rgba(24, 32, 25, .68);
  --green: #424734;
  --green-deep: #303426;
  --green-black: #22251B;
  --cream: #EFE9DA;
  --cream-dim: rgba(239, 233, 218, .62);
  --cream-faint: rgba(239, 233, 218, .34);
  --line: rgba(66, 71, 52, .18);
  --line-dark: rgba(239, 233, 218, .18);
  --display: "Inter Tight", "Inter", "Helvetica Neue", Arial, sans-serif;
  --sans: "Inter", "Helvetica Neue", Arial, sans-serif;
  --ease: cubic-bezier(.22, .61, .21, 1);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.7;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img { display: block; max-width: 100%; height: auto; }

a { color: inherit; text-decoration: none; }

::selection { background: var(--green); color: var(--cream); }

.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* ---------- Zugänglichkeit ---------- */

:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 3px;
  border-radius: 2px;
}

.on-dark :focus-visible,
.nav :focus-visible,
.menu-overlay :focus-visible,
.footer :focus-visible,
.hero :focus-visible {
  outline-color: var(--cream);
}

.nav.scrolled :focus-visible,
.nav.solid :focus-visible,
.mega :focus-visible {
  outline-color: var(--green);
}

.skip-link {
  position: fixed;
  top: -100px;
  left: 1rem;
  z-index: 120;
  background: var(--green);
  color: var(--cream);
  padding: .95rem 1.5rem;
  border-radius: 2px;
  font: 500 .8rem/1 var(--sans);
  letter-spacing: .1em;
  transition: top .2s var(--ease);
}

.skip-link:focus-visible { top: 1rem; }

/* ---------- Typografie ---------- */

.kicker {
  font: 500 .95rem/1 var(--sans);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--green);
  display: flex;
  align-items: center;
  gap: 1rem;
}

.kicker::before {
  content: "";
  width: .95em;
  height: 1.1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22-2.5%20-3.0%20179.5%20201.5%22%3E%0A%3Cpath%20fill%3D%22%23424734%22%20d%3D%22M%20121.878906%2098.035156%20C%20121.898438%2098.023438%20121.917969%2098.011719%20121.9375%2098.003906%20C%20121.917969%2097.992188%20121.898438%2097.980469%20121.878906%2097.972656%20C%20147.996094%2084.160156%20163.300781%2022.980469%20174.675781%200.167969%20C%20171.945312%200.167969%20170.582031%200.167969%20167.851562%200.167969%20C%20156.984375%2021.96875%20142.523438%2078.808594%20118.46875%2095.859375%20C%20117.539062%2095.199219%20116.621094%2094.480469%20115.71875%2093.703125%20C%20138.136719%2074.457031%20151.902344%2021.125%20162.351562%200.167969%20C%20159.625%200.167969%20158.257812%200.167969%20155.53125%200.167969%20C%20145.621094%2020.039062%20132.730469%2069.023438%20112.308594%2090.453125%20C%20111.378906%2089.472656%20110.460938%2088.441406%20109.558594%2087.351562%20C%20128.402344%2064.613281%20140.574219%2019.132812%20150.03125%200.167969%20C%20147.300781%200.167969%20145.9375%200.167969%20143.207031%200.167969%20C%20134.335938%2017.964844%20123.070312%2059.105469%20106.148438%2082.898438%20C%20105.214844%2081.585938%20104.296875%2080.21875%20103.398438%2078.808594%20C%20118.804688%2054.636719%20129.324219%2016.980469%20137.707031%200.167969%20C%20134.980469%200.167969%20133.613281%200.167969%20130.886719%200.167969%20C%20123.136719%2015.710938%20113.5625%2049.0625%2099.988281%2073.109375%20C%2099.050781%2071.453125%2098.132812%2069.75%2097.234375%2068.015625%20C%20109.371094%2044.546875%20118.167969%2014.640625%20125.386719%200.167969%20C%20122.65625%200.167969%20121.292969%200.167969%20118.5625%200.167969%20C%20112.042969%2013.246094%20104.226562%2038.9375%2093.824219%2061.085938%20C%2092.886719%2059.089844%2091.972656%2057.066406%2091.074219%2055.023438%20C%20100.125%2034.410156%20107.128906%2012.066406%20113.0625%200.167969%20C%20110.335938%200.167969%20108.96875%200.167969%20106.242188%200.167969%20C%20101.074219%2010.53125%2095.097656%2028.808594%2087.664062%2046.96875%20C%2080.230469%2028.808594%2074.253906%2010.53125%2069.085938%200.167969%20C%2066.359375%200.167969%2064.996094%200.167969%2062.265625%200.167969%20C%2068.199219%2012.066406%2075.203125%2034.410156%2084.253906%2055.023438%20C%2083.359375%2057.066406%2082.441406%2059.089844%2081.503906%2061.085938%20C%2071.101562%2038.9375%2063.289062%2013.246094%2056.765625%200.167969%20C%2054.035156%200.167969%2052.671875%200.167969%2049.945312%200.167969%20C%2057.160156%2014.640625%2065.957031%2044.546875%2078.09375%2068.015625%20C%2077.195312%2069.75%2076.277344%2071.453125%2075.34375%2073.109375%20C%2061.769531%2049.0625%2052.191406%2015.710938%2044.441406%200.167969%20C%2041.714844%200.167969%2040.351562%200.167969%2037.621094%200.167969%20C%2046.007812%2016.980469%2056.523438%2054.636719%2071.933594%2078.808594%20C%2071.03125%2080.21875%2070.117188%2081.585938%2069.179688%2082.898438%20C%2052.257812%2059.105469%2040.996094%2017.964844%2032.121094%200.167969%20C%2029.390625%200.167969%2028.027344%200.167969%2025.300781%200.167969%20C%2034.757812%2019.132812%2046.929688%2064.613281%2065.769531%2087.351562%20C%2064.871094%2088.441406%2063.953125%2089.472656%2063.019531%2090.453125%20C%2042.597656%2069.023438%2029.707031%2020.039062%2019.796875%200.167969%20C%2017.070312%200.167969%2015.707031%200.167969%2012.976562%200.167969%20C%2023.425781%2021.125%2037.191406%2074.457031%2059.609375%2093.703125%20C%2058.707031%2094.480469%2057.789062%2095.199219%2056.859375%2095.859375%20C%2032.804688%2078.808594%2018.347656%2021.96875%207.476562%200.167969%20C%204.75%200.167969%203.382812%200.167969%200.65625%200.167969%20C%2012.03125%2022.980469%2027.332031%2084.160156%2053.449219%2097.972656%20C%2053.429688%2097.980469%2053.410156%2097.992188%2053.394531%2098.003906%20C%2053.410156%2098.011719%2053.429688%2098.023438%2053.449219%2098.035156%20C%2027.332031%20111.847656%2012.03125%20173.027344%200.65625%20195.839844%20C%203.382812%20195.839844%204.75%20195.839844%207.476562%20195.839844%20C%2018.347656%20174.039062%2032.804688%20117.199219%2056.859375%20100.144531%20C%2057.789062%20100.804688%2058.707031%20101.527344%2059.609375%20102.304688%20C%2037.191406%20121.550781%2023.425781%20174.882812%2012.976562%20195.839844%20C%2015.707031%20195.839844%2017.070312%20195.839844%2019.796875%20195.839844%20C%2029.707031%20175.964844%2042.597656%20126.984375%2063.019531%20105.554688%20C%2063.953125%20106.53125%2064.871094%20107.566406%2065.769531%20108.65625%20C%2046.929688%20131.394531%2034.757812%20176.875%2025.300781%20195.839844%20C%2028.027344%20195.839844%2029.390625%20195.839844%2032.121094%20195.839844%20C%2040.996094%20178.042969%2052.257812%20136.898438%2069.179688%20113.105469%20C%2070.117188%20114.417969%2071.03125%20115.785156%2071.933594%20117.199219%20C%2056.523438%20141.371094%2046.007812%20179.027344%2037.621094%20195.839844%20C%2040.351562%20195.839844%2041.714844%20195.839844%2044.441406%20195.839844%20C%2052.191406%20180.296875%2061.769531%20146.945312%2075.34375%20122.898438%20C%2076.277344%20124.554688%2077.195312%20126.253906%2078.09375%20127.992188%20C%2065.957031%20151.457031%2057.160156%20181.367188%2049.945312%20195.839844%20C%2052.671875%20195.839844%2054.035156%20195.839844%2056.765625%20195.839844%20C%2063.289062%20182.757812%2071.101562%20157.066406%2081.503906%20134.921875%20C%2082.441406%20136.917969%2083.359375%20138.941406%2084.253906%20140.984375%20C%2075.203125%20161.597656%2068.199219%20183.9375%2062.265625%20195.839844%20C%2064.996094%20195.839844%2066.359375%20195.839844%2069.085938%20195.839844%20C%2074.253906%20185.476562%2080.230469%20167.199219%2087.664062%20149.039062%20C%2095.097656%20167.199219%20101.074219%20185.476562%20106.242188%20195.839844%20C%20108.96875%20195.839844%20110.335938%20195.839844%20113.0625%20195.839844%20C%20107.128906%20183.9375%20100.125%20161.597656%2091.074219%20140.984375%20C%2091.972656%20138.941406%2092.886719%20136.917969%2093.824219%20134.921875%20C%20104.226562%20157.066406%20112.042969%20182.757812%20118.5625%20195.839844%20C%20121.292969%20195.839844%20122.65625%20195.839844%20125.386719%20195.839844%20C%20118.167969%20181.367188%20109.371094%20151.457031%2097.234375%20127.992188%20C%2098.132812%20126.253906%2099.050781%20124.554688%2099.988281%20122.898438%20C%20113.5625%20146.945312%20123.136719%20180.296875%20130.886719%20195.839844%20C%20133.613281%20195.839844%20134.980469%20195.839844%20137.707031%20195.839844%20C%20129.324219%20179.027344%20118.804688%20141.371094%20103.398438%20117.199219%20C%20104.296875%20115.785156%20105.214844%20114.417969%20106.148438%20113.105469%20C%20123.070312%20136.898438%20134.335938%20178.042969%20143.207031%20195.839844%20C%20145.9375%20195.839844%20147.300781%20195.839844%20150.03125%20195.839844%20C%20140.574219%20176.875%20128.402344%20131.394531%20109.558594%20108.65625%20C%20110.460938%20107.566406%20111.378906%20106.53125%20112.308594%20105.554688%20C%20132.730469%20126.984375%20145.621094%20175.964844%20155.53125%20195.839844%20C%20158.257812%20195.839844%20159.625%20195.839844%20162.351562%20195.839844%20C%20151.902344%20174.882812%20138.136719%20121.550781%20115.71875%20102.304688%20C%20116.621094%20101.527344%20117.539062%20100.804688%20118.46875%20100.144531%20C%20142.527344%20117.199219%20156.984375%20174.039062%20167.851562%20195.839844%20C%20170.582031%20195.839844%20171.945312%20195.839844%20174.675781%20195.839844%20C%20163.300781%20173.027344%20147.996094%20111.847656%20121.878906%2098.035156%20Z%20M%20103.398438%20102.304688%20C%20104.300781%20101.527344%20105.21875%20100.804688%20106.148438%20100.144531%20C%20107.078125%20100.804688%20107.996094%20101.527344%20108.898438%20102.304688%20C%20107.96875%20103.101562%20107.050781%20103.960938%20106.148438%20104.875%20C%20105.246094%20103.960938%20104.328125%20103.101562%20103.398438%20102.304688%20Z%20M%2093.824219%20104.875%20C%2092.921875%20103.960938%2092.007812%20103.101562%2091.074219%20102.304688%20C%2091.976562%20101.527344%2092.894531%20100.804688%2093.824219%20100.144531%20C%2094.757812%20100.804688%2095.671875%20101.527344%2096.578125%20102.304688%20C%2095.644531%20103.101562%2094.726562%20103.960938%2093.824219%20104.875%20Z%20M%2078.753906%20102.304688%20C%2079.65625%20101.527344%2080.574219%20100.804688%2081.503906%20100.144531%20C%2082.433594%20100.804688%2083.351562%20101.527344%2084.253906%20102.304688%20C%2083.324219%20103.101562%2082.40625%20103.960938%2081.503906%20104.875%20C%2080.601562%20103.960938%2079.683594%20103.101562%2078.753906%20102.304688%20Z%20M%2069.179688%20104.875%20C%2068.277344%20103.960938%2067.363281%20103.101562%2066.429688%20102.304688%20C%2067.332031%20101.527344%2068.25%20100.804688%2069.179688%20100.144531%20C%2070.113281%20100.804688%2071.027344%20101.527344%2071.933594%20102.304688%20C%2071%20103.101562%2070.082031%20103.960938%2069.179688%20104.875%20Z%20M%2071.933594%2093.703125%20C%2071.027344%2094.480469%2070.113281%2095.199219%2069.179688%2095.859375%20C%2068.25%2095.199219%2067.332031%2094.480469%2066.429688%2093.703125%20C%2067.363281%2092.902344%2068.277344%2092.042969%2069.179688%2091.132812%20C%2070.082031%2092.042969%2071%2092.902344%2071.933594%2093.703125%20Z%20M%2072.59375%2098.035156%20C%2072.609375%2098.023438%2072.628906%2098.011719%2072.648438%2098.003906%20C%2072.628906%2097.992188%2072.609375%2097.980469%2072.59375%2097.972656%20C%2073.523438%2097.480469%2074.4375%2096.921875%2075.34375%2096.3125%20C%2076.246094%2096.921875%2077.164062%2097.480469%2078.09375%2097.972656%20C%2078.074219%2097.980469%2078.054688%2097.992188%2078.039062%2098.003906%20C%2078.054688%2098.011719%2078.074219%2098.023438%2078.09375%2098.035156%20C%2077.164062%2098.527344%2076.246094%2099.085938%2075.34375%2099.695312%20C%2074.4375%2099.085938%2073.523438%2098.527344%2072.59375%2098.035156%20Z%20M%2081.503906%2091.132812%20C%2082.40625%2092.042969%2083.324219%2092.902344%2084.253906%2093.703125%20C%2083.351562%2094.480469%2082.433594%2095.199219%2081.503906%2095.859375%20C%2080.574219%2095.199219%2079.65625%2094.480469%2078.753906%2093.703125%20C%2079.683594%2092.902344%2080.601562%2092.042969%2081.503906%2091.132812%20Z%20M%2096.578125%2093.703125%20C%2095.671875%2094.480469%2094.757812%2095.199219%2093.824219%2095.859375%20C%2092.894531%2095.199219%2091.976562%2094.480469%2091.074219%2093.703125%20C%2092.007812%2092.902344%2092.921875%2092.042969%2093.824219%2091.132812%20C%2094.726562%2092.042969%2095.644531%2092.902344%2096.578125%2093.703125%20Z%20M%2084.96875%2098.003906%20C%2084.949219%2097.992188%2084.933594%2097.980469%2084.914062%2097.972656%20C%2085.84375%2097.480469%2086.761719%2096.921875%2087.664062%2096.3125%20C%2088.570312%2096.921875%2089.484375%2097.480469%2090.414062%2097.972656%20C%2090.398438%2097.980469%2090.378906%2097.992188%2090.359375%2098.003906%20C%2090.378906%2098.011719%2090.398438%2098.023438%2090.414062%2098.035156%20C%2089.484375%2098.527344%2088.570312%2099.085938%2087.664062%2099.695312%20C%2086.761719%2099.085938%2085.84375%2098.527344%2084.914062%2098.035156%20C%2084.933594%2098.023438%2084.949219%2098.011719%2084.96875%2098.003906%20Z%20M%2087.664062%2090.453125%20C%2086.734375%2089.472656%2085.816406%2088.441406%2084.914062%2087.351562%20C%2085.847656%2086.226562%2086.765625%2085.042969%2087.664062%2083.808594%20C%2088.566406%2085.042969%2089.480469%2086.226562%2090.414062%2087.351562%20C%2089.515625%2088.441406%2088.597656%2089.472656%2087.664062%2090.453125%20Z%20M%2087.664062%20105.554688%20C%2088.597656%20106.53125%2089.515625%20107.566406%2090.414062%20108.65625%20C%2089.480469%20109.78125%2088.566406%20110.964844%2087.664062%20112.195312%20C%2086.765625%20110.964844%2085.847656%20109.78125%2084.914062%20108.65625%20C%2085.816406%20107.566406%2086.734375%20106.53125%2087.664062%20105.554688%20Z%20M%2097.238281%2098.035156%20C%2097.253906%2098.023438%2097.273438%2098.011719%2097.292969%2098.003906%20C%2097.273438%2097.992188%2097.253906%2097.980469%2097.238281%2097.972656%20C%2098.167969%2097.480469%2099.082031%2096.921875%2099.988281%2096.3125%20C%20100.890625%2096.921875%20101.808594%2097.480469%20102.738281%2097.972656%20C%20102.71875%2097.980469%20102.699219%2097.992188%20102.683594%2098.003906%20C%20102.699219%2098.011719%20102.71875%2098.023438%20102.738281%2098.035156%20C%20101.808594%2098.527344%20100.890625%2099.085938%2099.988281%2099.695312%20C%2099.082031%2099.085938%2098.167969%2098.527344%2097.238281%2098.035156%20Z%20M%20103.398438%2093.703125%20C%20104.328125%2092.902344%20105.246094%2092.042969%20106.148438%2091.132812%20C%20107.050781%2092.042969%20107.96875%2092.902344%20108.898438%2093.703125%20C%20107.996094%2094.480469%20107.078125%2095.199219%20106.148438%2095.859375%20C%20105.21875%2095.199219%20104.300781%2094.480469%20103.398438%2093.703125%20Z%20M%20102.738281%2087.351562%20C%20101.835938%2088.441406%20100.917969%2089.472656%2099.988281%2090.453125%20C%2099.054688%2089.472656%2098.136719%2088.441406%2097.238281%2087.351562%20C%2098.167969%2086.226562%2099.085938%2085.042969%2099.988281%2083.808594%20C%20100.886719%2085.042969%20101.804688%2086.226562%20102.738281%2087.351562%20Z%20M%2096.578125%2078.808594%20C%2095.675781%2080.21875%2094.761719%2081.585938%2093.824219%2082.898438%20C%2092.890625%2081.585938%2091.976562%2080.21875%2091.074219%2078.808594%20C%2092.011719%2077.34375%2092.925781%2075.824219%2093.824219%2074.265625%20C%2094.726562%2075.824219%2095.640625%2077.34375%2096.578125%2078.808594%20Z%20M%2087.664062%2062.476562%20C%2088.5625%2064.355469%2089.480469%2066.203125%2090.414062%2068.015625%20C%2089.515625%2069.75%2088.601562%2071.453125%2087.664062%2073.109375%20C%2086.730469%2071.453125%2085.8125%2069.75%2084.914062%2068.015625%20C%2085.851562%2066.203125%2086.765625%2064.355469%2087.664062%2062.476562%20Z%20M%2081.503906%2074.265625%20C%2082.402344%2075.824219%2083.320312%2077.34375%2084.253906%2078.808594%20C%2083.355469%2080.21875%2082.4375%2081.585938%2081.503906%2082.898438%20C%2080.570312%2081.585938%2079.652344%2080.21875%2078.753906%2078.808594%20C%2079.6875%2077.34375%2080.605469%2075.824219%2081.503906%2074.265625%20Z%20M%2075.34375%2083.808594%20C%2076.242188%2085.042969%2077.160156%2086.226562%2078.09375%2087.351562%20C%2077.191406%2088.441406%2076.273438%2089.472656%2075.34375%2090.453125%20C%2074.410156%2089.472656%2073.492188%2088.441406%2072.59375%2087.351562%20C%2073.523438%2086.226562%2074.441406%2085.042969%2075.34375%2083.808594%20Z%20M%2060.269531%2098.035156%20C%2060.289062%2098.023438%2060.304688%2098.011719%2060.324219%2098.003906%20C%2060.304688%2097.992188%2060.289062%2097.980469%2060.269531%2097.972656%20C%2061.199219%2097.480469%2062.117188%2096.921875%2063.019531%2096.3125%20C%2063.925781%2096.921875%2064.839844%2097.480469%2065.769531%2097.972656%20C%2065.753906%2097.980469%2065.734375%2097.992188%2065.714844%2098.003906%20C%2065.734375%2098.011719%2065.753906%2098.023438%2065.769531%2098.035156%20C%2064.839844%2098.527344%2063.925781%2099.085938%2063.019531%2099.695312%20C%2062.117188%2099.085938%2061.199219%2098.527344%2060.269531%2098.035156%20Z%20M%2072.59375%20108.65625%20C%2073.492188%20107.566406%2074.410156%20106.53125%2075.34375%20105.554688%20C%2076.273438%20106.53125%2077.191406%20107.566406%2078.09375%20108.65625%20C%2077.160156%20109.78125%2076.242188%20110.964844%2075.34375%20112.195312%20C%2074.441406%20110.964844%2073.523438%20109.78125%2072.59375%20108.65625%20Z%20M%2078.753906%20117.199219%20C%2079.652344%20115.785156%2080.570312%20114.417969%2081.503906%20113.105469%20C%2082.4375%20114.417969%2083.355469%20115.785156%2084.253906%20117.199219%20C%2083.320312%20118.664062%2082.402344%20120.183594%2081.503906%20121.738281%20C%2080.605469%20120.183594%2079.6875%20118.664062%2078.753906%20117.199219%20Z%20M%2087.664062%20133.53125%20C%2086.765625%20131.652344%2085.851562%20129.804688%2084.914062%20127.992188%20C%2085.8125%20126.253906%2086.730469%20124.554688%2087.664062%20122.898438%20C%2088.601562%20124.554688%2089.515625%20126.253906%2090.414062%20127.992188%20C%2089.480469%20129.804688%2088.5625%20131.652344%2087.664062%20133.53125%20Z%20M%2093.824219%20121.738281%20C%2092.925781%20120.183594%2092.011719%20118.664062%2091.074219%20117.199219%20C%2091.976562%20115.785156%2092.890625%20114.417969%2093.824219%20113.105469%20C%2094.761719%20114.417969%2095.675781%20115.785156%2096.578125%20117.199219%20C%2095.640625%20118.664062%2094.726562%20120.183594%2093.824219%20121.738281%20Z%20M%2099.988281%20112.195312%20C%2099.085938%20110.964844%2098.167969%20109.78125%2097.234375%20108.65625%20C%2098.136719%20107.566406%2099.054688%20106.53125%2099.988281%20105.554688%20C%20100.917969%20106.53125%20101.835938%20107.566406%20102.738281%20108.65625%20C%20101.804688%20109.78125%20100.886719%20110.964844%2099.988281%20112.195312%20Z%20M%20112.308594%2099.695312%20C%20111.40625%2099.085938%20110.488281%2098.527344%20109.558594%2098.035156%20C%20109.578125%2098.023438%20109.59375%2098.011719%20109.613281%2098.003906%20C%20109.59375%2097.992188%20109.578125%2097.980469%20109.558594%2097.972656%20C%20110.488281%2097.480469%20111.40625%2096.921875%20112.308594%2096.3125%20C%20113.214844%2096.921875%20114.128906%2097.480469%20115.058594%2097.972656%20C%20115.042969%2097.980469%20115.023438%2097.992188%20115.003906%2098.003906%20C%20115.023438%2098.011719%20115.042969%2098.023438%20115.058594%2098.035156%20C%20114.128906%2098.527344%20113.214844%2099.085938%20112.308594%2099.695312%20Z%20M%20112.308594%2099.695312%20%22%20fill-opacity%3D%221%22%20fill-rule%3D%22nonzero%22%2F%3E%0A%3C%2Fsvg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22-2.5%20-3.0%20179.5%20201.5%22%3E%0A%3Cpath%20fill%3D%22%23424734%22%20d%3D%22M%20121.878906%2098.035156%20C%20121.898438%2098.023438%20121.917969%2098.011719%20121.9375%2098.003906%20C%20121.917969%2097.992188%20121.898438%2097.980469%20121.878906%2097.972656%20C%20147.996094%2084.160156%20163.300781%2022.980469%20174.675781%200.167969%20C%20171.945312%200.167969%20170.582031%200.167969%20167.851562%200.167969%20C%20156.984375%2021.96875%20142.523438%2078.808594%20118.46875%2095.859375%20C%20117.539062%2095.199219%20116.621094%2094.480469%20115.71875%2093.703125%20C%20138.136719%2074.457031%20151.902344%2021.125%20162.351562%200.167969%20C%20159.625%200.167969%20158.257812%200.167969%20155.53125%200.167969%20C%20145.621094%2020.039062%20132.730469%2069.023438%20112.308594%2090.453125%20C%20111.378906%2089.472656%20110.460938%2088.441406%20109.558594%2087.351562%20C%20128.402344%2064.613281%20140.574219%2019.132812%20150.03125%200.167969%20C%20147.300781%200.167969%20145.9375%200.167969%20143.207031%200.167969%20C%20134.335938%2017.964844%20123.070312%2059.105469%20106.148438%2082.898438%20C%20105.214844%2081.585938%20104.296875%2080.21875%20103.398438%2078.808594%20C%20118.804688%2054.636719%20129.324219%2016.980469%20137.707031%200.167969%20C%20134.980469%200.167969%20133.613281%200.167969%20130.886719%200.167969%20C%20123.136719%2015.710938%20113.5625%2049.0625%2099.988281%2073.109375%20C%2099.050781%2071.453125%2098.132812%2069.75%2097.234375%2068.015625%20C%20109.371094%2044.546875%20118.167969%2014.640625%20125.386719%200.167969%20C%20122.65625%200.167969%20121.292969%200.167969%20118.5625%200.167969%20C%20112.042969%2013.246094%20104.226562%2038.9375%2093.824219%2061.085938%20C%2092.886719%2059.089844%2091.972656%2057.066406%2091.074219%2055.023438%20C%20100.125%2034.410156%20107.128906%2012.066406%20113.0625%200.167969%20C%20110.335938%200.167969%20108.96875%200.167969%20106.242188%200.167969%20C%20101.074219%2010.53125%2095.097656%2028.808594%2087.664062%2046.96875%20C%2080.230469%2028.808594%2074.253906%2010.53125%2069.085938%200.167969%20C%2066.359375%200.167969%2064.996094%200.167969%2062.265625%200.167969%20C%2068.199219%2012.066406%2075.203125%2034.410156%2084.253906%2055.023438%20C%2083.359375%2057.066406%2082.441406%2059.089844%2081.503906%2061.085938%20C%2071.101562%2038.9375%2063.289062%2013.246094%2056.765625%200.167969%20C%2054.035156%200.167969%2052.671875%200.167969%2049.945312%200.167969%20C%2057.160156%2014.640625%2065.957031%2044.546875%2078.09375%2068.015625%20C%2077.195312%2069.75%2076.277344%2071.453125%2075.34375%2073.109375%20C%2061.769531%2049.0625%2052.191406%2015.710938%2044.441406%200.167969%20C%2041.714844%200.167969%2040.351562%200.167969%2037.621094%200.167969%20C%2046.007812%2016.980469%2056.523438%2054.636719%2071.933594%2078.808594%20C%2071.03125%2080.21875%2070.117188%2081.585938%2069.179688%2082.898438%20C%2052.257812%2059.105469%2040.996094%2017.964844%2032.121094%200.167969%20C%2029.390625%200.167969%2028.027344%200.167969%2025.300781%200.167969%20C%2034.757812%2019.132812%2046.929688%2064.613281%2065.769531%2087.351562%20C%2064.871094%2088.441406%2063.953125%2089.472656%2063.019531%2090.453125%20C%2042.597656%2069.023438%2029.707031%2020.039062%2019.796875%200.167969%20C%2017.070312%200.167969%2015.707031%200.167969%2012.976562%200.167969%20C%2023.425781%2021.125%2037.191406%2074.457031%2059.609375%2093.703125%20C%2058.707031%2094.480469%2057.789062%2095.199219%2056.859375%2095.859375%20C%2032.804688%2078.808594%2018.347656%2021.96875%207.476562%200.167969%20C%204.75%200.167969%203.382812%200.167969%200.65625%200.167969%20C%2012.03125%2022.980469%2027.332031%2084.160156%2053.449219%2097.972656%20C%2053.429688%2097.980469%2053.410156%2097.992188%2053.394531%2098.003906%20C%2053.410156%2098.011719%2053.429688%2098.023438%2053.449219%2098.035156%20C%2027.332031%20111.847656%2012.03125%20173.027344%200.65625%20195.839844%20C%203.382812%20195.839844%204.75%20195.839844%207.476562%20195.839844%20C%2018.347656%20174.039062%2032.804688%20117.199219%2056.859375%20100.144531%20C%2057.789062%20100.804688%2058.707031%20101.527344%2059.609375%20102.304688%20C%2037.191406%20121.550781%2023.425781%20174.882812%2012.976562%20195.839844%20C%2015.707031%20195.839844%2017.070312%20195.839844%2019.796875%20195.839844%20C%2029.707031%20175.964844%2042.597656%20126.984375%2063.019531%20105.554688%20C%2063.953125%20106.53125%2064.871094%20107.566406%2065.769531%20108.65625%20C%2046.929688%20131.394531%2034.757812%20176.875%2025.300781%20195.839844%20C%2028.027344%20195.839844%2029.390625%20195.839844%2032.121094%20195.839844%20C%2040.996094%20178.042969%2052.257812%20136.898438%2069.179688%20113.105469%20C%2070.117188%20114.417969%2071.03125%20115.785156%2071.933594%20117.199219%20C%2056.523438%20141.371094%2046.007812%20179.027344%2037.621094%20195.839844%20C%2040.351562%20195.839844%2041.714844%20195.839844%2044.441406%20195.839844%20C%2052.191406%20180.296875%2061.769531%20146.945312%2075.34375%20122.898438%20C%2076.277344%20124.554688%2077.195312%20126.253906%2078.09375%20127.992188%20C%2065.957031%20151.457031%2057.160156%20181.367188%2049.945312%20195.839844%20C%2052.671875%20195.839844%2054.035156%20195.839844%2056.765625%20195.839844%20C%2063.289062%20182.757812%2071.101562%20157.066406%2081.503906%20134.921875%20C%2082.441406%20136.917969%2083.359375%20138.941406%2084.253906%20140.984375%20C%2075.203125%20161.597656%2068.199219%20183.9375%2062.265625%20195.839844%20C%2064.996094%20195.839844%2066.359375%20195.839844%2069.085938%20195.839844%20C%2074.253906%20185.476562%2080.230469%20167.199219%2087.664062%20149.039062%20C%2095.097656%20167.199219%20101.074219%20185.476562%20106.242188%20195.839844%20C%20108.96875%20195.839844%20110.335938%20195.839844%20113.0625%20195.839844%20C%20107.128906%20183.9375%20100.125%20161.597656%2091.074219%20140.984375%20C%2091.972656%20138.941406%2092.886719%20136.917969%2093.824219%20134.921875%20C%20104.226562%20157.066406%20112.042969%20182.757812%20118.5625%20195.839844%20C%20121.292969%20195.839844%20122.65625%20195.839844%20125.386719%20195.839844%20C%20118.167969%20181.367188%20109.371094%20151.457031%2097.234375%20127.992188%20C%2098.132812%20126.253906%2099.050781%20124.554688%2099.988281%20122.898438%20C%20113.5625%20146.945312%20123.136719%20180.296875%20130.886719%20195.839844%20C%20133.613281%20195.839844%20134.980469%20195.839844%20137.707031%20195.839844%20C%20129.324219%20179.027344%20118.804688%20141.371094%20103.398438%20117.199219%20C%20104.296875%20115.785156%20105.214844%20114.417969%20106.148438%20113.105469%20C%20123.070312%20136.898438%20134.335938%20178.042969%20143.207031%20195.839844%20C%20145.9375%20195.839844%20147.300781%20195.839844%20150.03125%20195.839844%20C%20140.574219%20176.875%20128.402344%20131.394531%20109.558594%20108.65625%20C%20110.460938%20107.566406%20111.378906%20106.53125%20112.308594%20105.554688%20C%20132.730469%20126.984375%20145.621094%20175.964844%20155.53125%20195.839844%20C%20158.257812%20195.839844%20159.625%20195.839844%20162.351562%20195.839844%20C%20151.902344%20174.882812%20138.136719%20121.550781%20115.71875%20102.304688%20C%20116.621094%20101.527344%20117.539062%20100.804688%20118.46875%20100.144531%20C%20142.527344%20117.199219%20156.984375%20174.039062%20167.851562%20195.839844%20C%20170.582031%20195.839844%20171.945312%20195.839844%20174.675781%20195.839844%20C%20163.300781%20173.027344%20147.996094%20111.847656%20121.878906%2098.035156%20Z%20M%20103.398438%20102.304688%20C%20104.300781%20101.527344%20105.21875%20100.804688%20106.148438%20100.144531%20C%20107.078125%20100.804688%20107.996094%20101.527344%20108.898438%20102.304688%20C%20107.96875%20103.101562%20107.050781%20103.960938%20106.148438%20104.875%20C%20105.246094%20103.960938%20104.328125%20103.101562%20103.398438%20102.304688%20Z%20M%2093.824219%20104.875%20C%2092.921875%20103.960938%2092.007812%20103.101562%2091.074219%20102.304688%20C%2091.976562%20101.527344%2092.894531%20100.804688%2093.824219%20100.144531%20C%2094.757812%20100.804688%2095.671875%20101.527344%2096.578125%20102.304688%20C%2095.644531%20103.101562%2094.726562%20103.960938%2093.824219%20104.875%20Z%20M%2078.753906%20102.304688%20C%2079.65625%20101.527344%2080.574219%20100.804688%2081.503906%20100.144531%20C%2082.433594%20100.804688%2083.351562%20101.527344%2084.253906%20102.304688%20C%2083.324219%20103.101562%2082.40625%20103.960938%2081.503906%20104.875%20C%2080.601562%20103.960938%2079.683594%20103.101562%2078.753906%20102.304688%20Z%20M%2069.179688%20104.875%20C%2068.277344%20103.960938%2067.363281%20103.101562%2066.429688%20102.304688%20C%2067.332031%20101.527344%2068.25%20100.804688%2069.179688%20100.144531%20C%2070.113281%20100.804688%2071.027344%20101.527344%2071.933594%20102.304688%20C%2071%20103.101562%2070.082031%20103.960938%2069.179688%20104.875%20Z%20M%2071.933594%2093.703125%20C%2071.027344%2094.480469%2070.113281%2095.199219%2069.179688%2095.859375%20C%2068.25%2095.199219%2067.332031%2094.480469%2066.429688%2093.703125%20C%2067.363281%2092.902344%2068.277344%2092.042969%2069.179688%2091.132812%20C%2070.082031%2092.042969%2071%2092.902344%2071.933594%2093.703125%20Z%20M%2072.59375%2098.035156%20C%2072.609375%2098.023438%2072.628906%2098.011719%2072.648438%2098.003906%20C%2072.628906%2097.992188%2072.609375%2097.980469%2072.59375%2097.972656%20C%2073.523438%2097.480469%2074.4375%2096.921875%2075.34375%2096.3125%20C%2076.246094%2096.921875%2077.164062%2097.480469%2078.09375%2097.972656%20C%2078.074219%2097.980469%2078.054688%2097.992188%2078.039062%2098.003906%20C%2078.054688%2098.011719%2078.074219%2098.023438%2078.09375%2098.035156%20C%2077.164062%2098.527344%2076.246094%2099.085938%2075.34375%2099.695312%20C%2074.4375%2099.085938%2073.523438%2098.527344%2072.59375%2098.035156%20Z%20M%2081.503906%2091.132812%20C%2082.40625%2092.042969%2083.324219%2092.902344%2084.253906%2093.703125%20C%2083.351562%2094.480469%2082.433594%2095.199219%2081.503906%2095.859375%20C%2080.574219%2095.199219%2079.65625%2094.480469%2078.753906%2093.703125%20C%2079.683594%2092.902344%2080.601562%2092.042969%2081.503906%2091.132812%20Z%20M%2096.578125%2093.703125%20C%2095.671875%2094.480469%2094.757812%2095.199219%2093.824219%2095.859375%20C%2092.894531%2095.199219%2091.976562%2094.480469%2091.074219%2093.703125%20C%2092.007812%2092.902344%2092.921875%2092.042969%2093.824219%2091.132812%20C%2094.726562%2092.042969%2095.644531%2092.902344%2096.578125%2093.703125%20Z%20M%2084.96875%2098.003906%20C%2084.949219%2097.992188%2084.933594%2097.980469%2084.914062%2097.972656%20C%2085.84375%2097.480469%2086.761719%2096.921875%2087.664062%2096.3125%20C%2088.570312%2096.921875%2089.484375%2097.480469%2090.414062%2097.972656%20C%2090.398438%2097.980469%2090.378906%2097.992188%2090.359375%2098.003906%20C%2090.378906%2098.011719%2090.398438%2098.023438%2090.414062%2098.035156%20C%2089.484375%2098.527344%2088.570312%2099.085938%2087.664062%2099.695312%20C%2086.761719%2099.085938%2085.84375%2098.527344%2084.914062%2098.035156%20C%2084.933594%2098.023438%2084.949219%2098.011719%2084.96875%2098.003906%20Z%20M%2087.664062%2090.453125%20C%2086.734375%2089.472656%2085.816406%2088.441406%2084.914062%2087.351562%20C%2085.847656%2086.226562%2086.765625%2085.042969%2087.664062%2083.808594%20C%2088.566406%2085.042969%2089.480469%2086.226562%2090.414062%2087.351562%20C%2089.515625%2088.441406%2088.597656%2089.472656%2087.664062%2090.453125%20Z%20M%2087.664062%20105.554688%20C%2088.597656%20106.53125%2089.515625%20107.566406%2090.414062%20108.65625%20C%2089.480469%20109.78125%2088.566406%20110.964844%2087.664062%20112.195312%20C%2086.765625%20110.964844%2085.847656%20109.78125%2084.914062%20108.65625%20C%2085.816406%20107.566406%2086.734375%20106.53125%2087.664062%20105.554688%20Z%20M%2097.238281%2098.035156%20C%2097.253906%2098.023438%2097.273438%2098.011719%2097.292969%2098.003906%20C%2097.273438%2097.992188%2097.253906%2097.980469%2097.238281%2097.972656%20C%2098.167969%2097.480469%2099.082031%2096.921875%2099.988281%2096.3125%20C%20100.890625%2096.921875%20101.808594%2097.480469%20102.738281%2097.972656%20C%20102.71875%2097.980469%20102.699219%2097.992188%20102.683594%2098.003906%20C%20102.699219%2098.011719%20102.71875%2098.023438%20102.738281%2098.035156%20C%20101.808594%2098.527344%20100.890625%2099.085938%2099.988281%2099.695312%20C%2099.082031%2099.085938%2098.167969%2098.527344%2097.238281%2098.035156%20Z%20M%20103.398438%2093.703125%20C%20104.328125%2092.902344%20105.246094%2092.042969%20106.148438%2091.132812%20C%20107.050781%2092.042969%20107.96875%2092.902344%20108.898438%2093.703125%20C%20107.996094%2094.480469%20107.078125%2095.199219%20106.148438%2095.859375%20C%20105.21875%2095.199219%20104.300781%2094.480469%20103.398438%2093.703125%20Z%20M%20102.738281%2087.351562%20C%20101.835938%2088.441406%20100.917969%2089.472656%2099.988281%2090.453125%20C%2099.054688%2089.472656%2098.136719%2088.441406%2097.238281%2087.351562%20C%2098.167969%2086.226562%2099.085938%2085.042969%2099.988281%2083.808594%20C%20100.886719%2085.042969%20101.804688%2086.226562%20102.738281%2087.351562%20Z%20M%2096.578125%2078.808594%20C%2095.675781%2080.21875%2094.761719%2081.585938%2093.824219%2082.898438%20C%2092.890625%2081.585938%2091.976562%2080.21875%2091.074219%2078.808594%20C%2092.011719%2077.34375%2092.925781%2075.824219%2093.824219%2074.265625%20C%2094.726562%2075.824219%2095.640625%2077.34375%2096.578125%2078.808594%20Z%20M%2087.664062%2062.476562%20C%2088.5625%2064.355469%2089.480469%2066.203125%2090.414062%2068.015625%20C%2089.515625%2069.75%2088.601562%2071.453125%2087.664062%2073.109375%20C%2086.730469%2071.453125%2085.8125%2069.75%2084.914062%2068.015625%20C%2085.851562%2066.203125%2086.765625%2064.355469%2087.664062%2062.476562%20Z%20M%2081.503906%2074.265625%20C%2082.402344%2075.824219%2083.320312%2077.34375%2084.253906%2078.808594%20C%2083.355469%2080.21875%2082.4375%2081.585938%2081.503906%2082.898438%20C%2080.570312%2081.585938%2079.652344%2080.21875%2078.753906%2078.808594%20C%2079.6875%2077.34375%2080.605469%2075.824219%2081.503906%2074.265625%20Z%20M%2075.34375%2083.808594%20C%2076.242188%2085.042969%2077.160156%2086.226562%2078.09375%2087.351562%20C%2077.191406%2088.441406%2076.273438%2089.472656%2075.34375%2090.453125%20C%2074.410156%2089.472656%2073.492188%2088.441406%2072.59375%2087.351562%20C%2073.523438%2086.226562%2074.441406%2085.042969%2075.34375%2083.808594%20Z%20M%2060.269531%2098.035156%20C%2060.289062%2098.023438%2060.304688%2098.011719%2060.324219%2098.003906%20C%2060.304688%2097.992188%2060.289062%2097.980469%2060.269531%2097.972656%20C%2061.199219%2097.480469%2062.117188%2096.921875%2063.019531%2096.3125%20C%2063.925781%2096.921875%2064.839844%2097.480469%2065.769531%2097.972656%20C%2065.753906%2097.980469%2065.734375%2097.992188%2065.714844%2098.003906%20C%2065.734375%2098.011719%2065.753906%2098.023438%2065.769531%2098.035156%20C%2064.839844%2098.527344%2063.925781%2099.085938%2063.019531%2099.695312%20C%2062.117188%2099.085938%2061.199219%2098.527344%2060.269531%2098.035156%20Z%20M%2072.59375%20108.65625%20C%2073.492188%20107.566406%2074.410156%20106.53125%2075.34375%20105.554688%20C%2076.273438%20106.53125%2077.191406%20107.566406%2078.09375%20108.65625%20C%2077.160156%20109.78125%2076.242188%20110.964844%2075.34375%20112.195312%20C%2074.441406%20110.964844%2073.523438%20109.78125%2072.59375%20108.65625%20Z%20M%2078.753906%20117.199219%20C%2079.652344%20115.785156%2080.570312%20114.417969%2081.503906%20113.105469%20C%2082.4375%20114.417969%2083.355469%20115.785156%2084.253906%20117.199219%20C%2083.320312%20118.664062%2082.402344%20120.183594%2081.503906%20121.738281%20C%2080.605469%20120.183594%2079.6875%20118.664062%2078.753906%20117.199219%20Z%20M%2087.664062%20133.53125%20C%2086.765625%20131.652344%2085.851562%20129.804688%2084.914062%20127.992188%20C%2085.8125%20126.253906%2086.730469%20124.554688%2087.664062%20122.898438%20C%2088.601562%20124.554688%2089.515625%20126.253906%2090.414062%20127.992188%20C%2089.480469%20129.804688%2088.5625%20131.652344%2087.664062%20133.53125%20Z%20M%2093.824219%20121.738281%20C%2092.925781%20120.183594%2092.011719%20118.664062%2091.074219%20117.199219%20C%2091.976562%20115.785156%2092.890625%20114.417969%2093.824219%20113.105469%20C%2094.761719%20114.417969%2095.675781%20115.785156%2096.578125%20117.199219%20C%2095.640625%20118.664062%2094.726562%20120.183594%2093.824219%20121.738281%20Z%20M%2099.988281%20112.195312%20C%2099.085938%20110.964844%2098.167969%20109.78125%2097.234375%20108.65625%20C%2098.136719%20107.566406%2099.054688%20106.53125%2099.988281%20105.554688%20C%20100.917969%20106.53125%20101.835938%20107.566406%20102.738281%20108.65625%20C%20101.804688%20109.78125%20100.886719%20110.964844%2099.988281%20112.195312%20Z%20M%20112.308594%2099.695312%20C%20111.40625%2099.085938%20110.488281%2098.527344%20109.558594%2098.035156%20C%20109.578125%2098.023438%20109.59375%2098.011719%20109.613281%2098.003906%20C%20109.59375%2097.992188%20109.578125%2097.980469%20109.558594%2097.972656%20C%20110.488281%2097.480469%20111.40625%2096.921875%20112.308594%2096.3125%20C%20113.214844%2096.921875%20114.128906%2097.480469%20115.058594%2097.972656%20C%20115.042969%2097.980469%20115.023438%2097.992188%20115.003906%2098.003906%20C%20115.023438%2098.011719%20115.042969%2098.023438%20115.058594%2098.035156%20C%20114.128906%2098.527344%20113.214844%2099.085938%20112.308594%2099.695312%20Z%20M%20112.308594%2099.695312%20%22%20fill-opacity%3D%221%22%20fill-rule%3D%22nonzero%22%2F%3E%0A%3C%2Fsvg%3E") no-repeat center / contain;
  opacity: .9;
}

.on-dark .kicker { color: var(--cream-dim); }

h1, h2, h3 {
  font-family: var(--display);
  font-weight: 340;
  line-height: 1.06;
  letter-spacing: -.022em;
}

h1 em, h2 em, h3 em, blockquote em { font-style: normal; }

.display {
  font-size: clamp(2.9rem, 7.5vw, 6.5rem);
  font-weight: 300;
  letter-spacing: -.028em;
}

.h-section {
  font-size: clamp(2.1rem, 4.2vw, 3.7rem);
  font-weight: 320;
  max-width: 17em;
}

.lead {
  font-size: clamp(1.05rem, 1.4vw, 1.2rem);
  line-height: 1.75;
  color: var(--ink-soft);
  max-width: 34em;
}

.on-dark .lead { color: var(--cream-dim); }

/* ---------- Buttons ---------- */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .8rem;
  padding: 1.05rem 1.9rem;
  font: 500 .78rem/1 var(--sans);
  letter-spacing: .16em;
  text-transform: uppercase;
  border: 1px solid transparent;
  border-radius: 2px;
  transition: background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
  cursor: pointer;
}

.btn .arr { transition: transform .35s var(--ease); }
.btn:hover .arr { transform: translateX(4px); }

.btn-green { background: var(--green); color: var(--cream); }
.btn-green:hover { background: var(--green-deep); }

.btn-cream { background: var(--cream); color: var(--green); }
.btn-cream:hover { background: #fff; }

.btn-ghost { border-color: currentColor; color: inherit; }
.btn-ghost:hover { background: var(--green); border-color: var(--green); color: var(--cream); }

.on-dark .btn-ghost:hover { background: var(--cream); border-color: var(--cream); color: var(--green); }

.textlink {
  display: inline-flex;
  align-items: baseline;
  gap: .55rem;
  font: 500 .78rem/1 var(--sans);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--green);
  border-bottom: 1px solid var(--line);
  padding-bottom: .45rem;
  transition: border-color .3s;
}
.textlink:hover { border-color: var(--green); }
.on-dark .textlink { color: var(--cream); border-color: var(--line-dark); }
.on-dark .textlink:hover { border-color: var(--cream); }

/* ---------- Layout ---------- */

.container {
  width: min(1240px, calc(100% - clamp(2.5rem, 8vw, 10rem)));
  margin-inline: auto;
}

.section { padding-block: clamp(6rem, 12vw, 11rem); }

.on-dark {
  background: var(--green-deep);
  color: var(--cream);
}

/* ---------- Preloader ---------- */

.preloader {
  position: fixed;
  inset: 0;
  z-index: 100;
  background: var(--green-black);
  display: grid;
  place-items: center;
  transition: transform .95s cubic-bezier(.76, 0, .24, 1);
}

.pl-skip .preloader, .no-js .preloader { display: none; }

.pl-inner {
  display: grid;
  justify-items: center;
  gap: 2.4rem;
  transition: opacity .5s var(--ease), transform .95s cubic-bezier(.76, 0, .24, 1);
}

.pl-logo {
  width: clamp(300px, 38vw, 480px);
  opacity: 0;
  animation: plLogo 1.5s var(--ease) .2s forwards;
}

@keyframes plLogo {
  from { opacity: 0; transform: translateY(16px) scale(.985); clip-path: inset(0 0 96% 0); }
  55% { opacity: 1; }
  to { opacity: 1; transform: none; clip-path: inset(0 0 -10% 0); }
}

.pl-bar {
  width: min(250px, 44vw);
  height: 1px;
  background: var(--line-dark);
  overflow: hidden;
}

.pl-bar span {
  display: block;
  height: 100%;
  background: var(--cream);
  transform: scaleX(0);
  transform-origin: left;
  animation: plBar 2s var(--ease) .25s forwards;
}

@keyframes plBar { to { transform: scaleX(1); } }

.preloader.done { transform: translateY(-101%); }
.preloader.done .pl-inner { opacity: 0; transform: translateY(-42px); }

html.pl-lock { overflow: hidden; }

/* Hero-Choreografie nach dem Preloader */

.js .hero .hr {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 1.1s var(--ease), transform 1.1s var(--ease);
  transition-delay: var(--d, 0s);
}

.js body.ready .hero .hr { opacity: 1; transform: none; }

/* ---------- Navigation ---------- */

.nav {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 50;
  transition: background .45s var(--ease), box-shadow .45s var(--ease);
}

.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding-block: 1.4rem;
  transition: padding .45s var(--ease);
}

.brand {
  display: flex;
  align-items: center;
}

.brand img {
  height: 52px;
  width: auto;
  transition: height .45s var(--ease);
}

.nav .brand-dark { display: none; }
.nav.scrolled .brand-light, .nav.solid .brand-light { display: none; }
.nav.scrolled .brand-dark, .nav.solid .brand-dark { display: block; }
.nav.scrolled .brand img { height: 42px; }

.nav, .nav a { color: var(--cream); }

.nav-links {
  display: flex;
  align-items: center;
  gap: 2.4rem;
  list-style: none;
}

.nav-links a {
  font: 500 .74rem/1 var(--sans);
  letter-spacing: .18em;
  text-transform: uppercase;
  opacity: .85;
  transition: opacity .3s;
}
.nav-links a:hover { opacity: 1; }

/* Mega-Dropdown (Desktop) */

.nav-links .has-mega { padding-block: 1.4rem; margin-block: -1.4rem; }

.mega {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--paper);
  border-top: 1px solid var(--line);
  box-shadow: 0 34px 60px rgba(34, 37, 27, .16);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity .35s var(--ease), transform .35s var(--ease), visibility .35s;
}

.has-mega:hover .mega,
.has-mega:focus-within .mega {
  opacity: 1;
  visibility: visible;
  transform: none;
}

.mega-inner {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: clamp(2rem, 5vw, 5rem);
  padding-block: 2.4rem 2.8rem;
}

.nav .mega-item {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding-block: 1.05rem;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  opacity: 1;
  letter-spacing: 0;
  text-transform: none;
}

.mega-item img {
  width: 54px;
  height: 54px;
  object-fit: cover;
  border-radius: 2px;
}

.mega-item strong {
  display: block;
  font: 420 1.02rem/1.3 var(--display);
}

.mega-item em {
  display: block;
  font: 400 .82rem/1.5 var(--sans);
  font-style: normal;
  color: var(--ink-soft);
}

.nav .mega-item .arr {
  margin-left: auto;
  color: var(--green);
  font-size: 1.05rem;
  transition: transform .35s var(--ease);
}

.mega-item:hover .arr { transform: translateX(5px); }

.mega-aside {
  border-left: 1px solid var(--line);
  padding-left: clamp(1.5rem, 3vw, 3rem);
  align-content: start;
  display: grid;
  gap: .9rem;
  font-size: .88rem;
  line-height: 1.7;
  color: var(--ink-soft);
}

.nav .mega-aside strong {
  color: var(--ink);
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.nav .mega-aside .btn {
  justify-self: start;
  margin-top: .4rem;
  background: var(--green);
  color: var(--cream);
  opacity: 1;
}

.nav .mega-aside .btn:hover { background: var(--green-deep); }

.nav .mega-aside a:not(.btn) { color: var(--green); opacity: 1; letter-spacing: 0; text-transform: none; }

.nav-cta {
  border: 1px solid var(--cream-faint);
  border-radius: 2px;
  padding: .85rem 1.4rem;
  font: 500 .74rem/1 var(--sans);
  letter-spacing: .18em;
  text-transform: uppercase;
  transition: background .3s, color .3s, border-color .3s;
}
.nav-cta:hover { background: var(--cream); color: var(--green) !important; border-color: var(--cream); }

.nav.scrolled {
  background: rgba(245, 241, 232, .92);
  backdrop-filter: blur(14px);
  box-shadow: 0 1px 0 var(--line);
}
.nav.scrolled .nav-inner { padding-block: .95rem; }
.nav.scrolled, .nav.scrolled a { color: var(--green); }
.nav.scrolled .nav-cta { border-color: var(--line); }
.nav.scrolled .nav-cta:hover { background: var(--green); color: var(--cream) !important; border-color: var(--green); }

/* Seiten mit hellem Kopf (Unterseiten) */
.nav.solid { position: absolute; }
.nav.solid, .nav.solid a { color: var(--green); }
.nav.solid .nav-cta { border-color: var(--line); }
.nav.solid .nav-cta:hover { background: var(--green); color: var(--cream) !important; }

.burger {
  display: none;
  color: inherit;
  background: none;
  border: 0;
  width: 40px;
  height: 40px;
  cursor: pointer;
  position: relative;
  z-index: 70;
}
.burger span {
  position: absolute;
  left: 8px;
  right: 8px;
  height: 1.5px;
  background: currentColor;
  transition: transform .4s var(--ease), top .4s var(--ease);
}
.burger span:nth-child(1) { top: 15px; }
.burger span:nth-child(2) { top: 24px; }
.burger.open span:nth-child(1) { top: 19px; transform: rotate(45deg); }
.burger.open span:nth-child(2) { top: 19px; transform: rotate(-45deg); }
body.menu-open .burger { color: var(--cream); }

body.menu-open .nav {
  z-index: 70;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

body.menu-open .nav .brand,
body.menu-open .nav .nav-links,
body.menu-open .nav .nav-cta {
  opacity: 0;
  pointer-events: none;
}

.menu-overlay {
  position: fixed;
  inset: 0;
  z-index: 60;
  background: var(--green-black);
  color: var(--cream);
  display: flex;
  align-items: center;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transition: opacity .5s var(--ease), visibility .5s;
}
body.menu-open .menu-overlay { opacity: 1; visibility: visible; }
body.menu-open { overflow: hidden; }

.menu-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(3rem, 8vw, 8rem);
  align-items: center;
  padding-block: 6rem 3rem;
}

.menu-main ol {
  list-style: none;
  display: grid;
  gap: .5rem;
}

.menu-main li {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .55s var(--ease), transform .55s var(--ease);
}

body.menu-open .menu-main li { opacity: 1; transform: none; }
body.menu-open .menu-main li:nth-child(1) { transition-delay: .1s; }
body.menu-open .menu-main li:nth-child(2) { transition-delay: .16s; }
body.menu-open .menu-main li:nth-child(3) { transition-delay: .22s; }
body.menu-open .menu-main li:nth-child(4) { transition-delay: .28s; }
body.menu-open .menu-main li:nth-child(5) { transition-delay: .34s; }
body.menu-open .menu-main li:nth-child(6) { transition-delay: .4s; }

.menu-main a {
  display: flex;
  align-items: baseline;
  gap: 1.4rem;
  font: 300 clamp(2rem, 4.2vw, 3.3rem)/1.25 var(--display);
  letter-spacing: -.02em;
  transition: transform .4s var(--ease), color .3s;
}

.menu-main a:hover { transform: translateX(10px); }

.menu-main .mm-num {
  font: 500 .68rem/1 var(--sans);
  letter-spacing: .2em;
  color: var(--cream-faint);
  min-width: 1.8rem;
}

.menu-aside {
  border-left: 1px solid var(--line-dark);
  padding-left: clamp(2rem, 4vw, 4.5rem);
  display: grid;
  gap: 1.7rem;
  font-size: .9rem;
  line-height: 1.8;
  color: var(--cream-dim);
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .55s var(--ease) .45s, transform .55s var(--ease) .45s;
}

body.menu-open .menu-aside { opacity: 1; transform: none; }

.menu-aside .menu-x { width: 58px; opacity: .9; }

.menu-aside strong {
  display: block;
  margin-bottom: .2rem;
  font-weight: 500;
  color: var(--cream);
  letter-spacing: .01em;
}

.menu-aside a:hover { color: var(--cream); }

.menu-aside .btn { justify-self: start; margin-top: .3rem; }

/* ---------- Hero ---------- */

.hero {
  position: relative;
  min-height: clamp(620px, 86svh, 900px);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: var(--cream);
  isolation: isolate;
  overflow: hidden;
}

.hero-media, .hero-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
}

.hero-media img { animation: heroDrift 22s var(--ease) both; }

@keyframes heroDrift {
  from { transform: scale(1.1); }
  to { transform: scale(1.02); }
}

.hero-veil {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(75deg, rgba(21, 23, 16, .78) 0%, rgba(21, 23, 16, .32) 55%, rgba(21, 23, 16, .12) 100%),
    linear-gradient(to bottom, rgba(21, 23, 16, .5) 0%, rgba(21, 23, 16, .12) 30%, rgba(21, 23, 16, .3) 62%, rgba(21, 23, 16, .82) 100%);
}

.hero-content {
  flex: 1;
  display: flex;
  align-items: flex-end;
  padding-top: 7rem;
  padding-bottom: clamp(2.5rem, 5vh, 4rem);
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.35fr auto;
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: end;
}

.hero-title {
  font-size: clamp(2.6rem, 5.6vw, 5.2rem);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: -.028em;
  max-width: 11.5em;
}

.hero-sub {
  margin-top: 2rem;
  max-width: 30em;
  font-size: clamp(1rem, 1.3vw, 1.14rem);
  line-height: 1.75;
  color: var(--cream-dim);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2.4rem;
}

.hero-card {
  background: var(--paper);
  color: var(--ink);
  border-radius: 2px;
  padding: 1.9rem 2rem;
  width: min(330px, 100%);
  box-shadow: 0 30px 70px rgba(21, 23, 16, .4);
  display: grid;
  gap: .55rem;
}

.hero-card .hc-label {
  font: 500 .68rem/1 var(--sans);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--green);
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: .5rem;
}

.hero-card .hc-label img { width: .8rem; }

.hero-card .hc-row {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  font-size: .88rem;
  padding-block: .5rem;
  border-bottom: 1px solid var(--line);
}

.hero-card .hc-row span:first-child { color: var(--ink-soft); }

.hero-card .btn { margin-top: 1.1rem; justify-content: center; }

.hero-card .hc-tel {
  text-align: center;
  font-size: .85rem;
  color: var(--ink-soft);
  margin-top: .4rem;
}
.hero-card .hc-tel a { color: var(--green); }

.hero-foot {
  padding-block: 1.3rem;
  border-top: 1px solid var(--line-dark);
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 3rem;
  font-size: .8rem;
  letter-spacing: .06em;
  color: var(--cream-dim);
}

.hero-foot a:hover { color: var(--cream); }

/* ---------- Laufband ---------- */

.ticker {
  background: var(--green);
  color: var(--cream);
  overflow: hidden;
  padding-block: 1.15rem;
}

.ticker-track {
  display: flex;
  align-items: center;
  gap: 3.2rem;
  width: max-content;
  animation: tick 34s linear infinite;
  font: 320 clamp(1.15rem, 1.8vw, 1.5rem)/1 var(--display);
  letter-spacing: .01em;
  white-space: nowrap;
}

.ticker-track img { width: 1rem; opacity: .8; }

@keyframes tick { to { transform: translateX(-50%); } }

@media (prefers-reduced-motion: reduce) {
  .ticker-track { animation: none; }
}

/* ---------- Statement ---------- */

.statement { position: relative; overflow: hidden; }

.statement .watermark {
  position: absolute;
  right: -4%;
  top: 50%;
  transform: translateY(-50%);
  width: clamp(280px, 34vw, 520px);
  opacity: .05;
  pointer-events: none;
}

.statement .h-section { margin-top: 1.8rem; }

.statement .lead { margin-top: 2.2rem; }
.statement .lead + .lead { margin-top: 1.2rem; }

/* ---------- Der Ort ---------- */

.place-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(3rem, 7vw, 7rem);
  align-items: start;
}

.place-copy { position: sticky; top: 7rem; }

.place-copy .h-section { margin-top: 1.8rem; }
.place-copy .lead { margin-top: 2rem; }

.chronik { margin-top: 3.2rem; border-top: 1px solid var(--line); }

.chronik-row {
  display: grid;
  grid-template-columns: 7.5rem 1fr;
  gap: 1.5rem;
  padding-block: 1.6rem;
  border-bottom: 1px solid var(--line);
}

.chronik-row .year {
  font: 450 1.15rem/1.5 var(--display);
  letter-spacing: .02em;
  color: var(--green);
  font-variant-numeric: tabular-nums;
}

.chronik-row p { color: var(--ink-soft); font-size: .95rem; }

.place-media { display: grid; gap: clamp(2rem, 4vw, 3.5rem); }

.place-media figure:nth-child(2) { width: 76%; margin-left: auto; }

figcaption {
  margin-top: .9rem;
  font-size: .74rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink-soft);
}

.on-dark figcaption { color: var(--cream-faint); }

/* ---------- Küche ---------- */

.cuisine-head {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: clamp(3rem, 6vw, 6rem);
  align-items: end;
}

.cuisine-head .h-section { margin-top: 1.8rem; }

.cuisine-gallery {
  margin-top: clamp(3.5rem, 7vw, 6rem);
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr;
  gap: clamp(1.25rem, 2.5vw, 2.5rem);
  align-items: start;
}

.cuisine-gallery figure:nth-child(2) { margin-top: clamp(2.5rem, 5vw, 5rem); }
.cuisine-gallery figure:nth-child(3) { margin-top: clamp(1.25rem, 2.5vw, 2.5rem); }

.menu-teaser {
  margin-top: clamp(4rem, 8vw, 7rem);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(3rem, 6vw, 6rem);
  align-items: start;
}

.dish-list { list-style: none; border-top: 1px solid var(--line-dark); }

.dish-list li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 2rem;
  padding-block: 1.05rem;
  border-bottom: 1px solid var(--line-dark);
}

.dish-list .dish { font: 400 1.05rem/1.4 var(--display); letter-spacing: -.01em; }
.dish-list .note { font-size: .8rem; color: var(--cream-faint); white-space: nowrap; }

.sourcing p { color: var(--cream-dim); font-size: .95rem; }

.sourcing .cta-row { margin-top: 2.2rem; display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }

.sourcing h3 {
  font-size: 1.35rem;
  font-weight: 420;
  margin-bottom: 1.2rem;
}

/* ---------- Buschenschank / Jause ---------- */

.jause .split {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: clamp(3rem, 7vw, 7rem);
  align-items: center;
}

.jause .h-section { margin-top: 1.8rem; }
.jause .lead { margin-top: 2rem; }

.jause-facts {
  margin-top: 2.8rem;
  border-top: 1px solid var(--line);
  font-size: .93rem;
  color: var(--ink-soft);
}
.jause-facts div {
  padding-block: 1rem;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 1.25rem;
}
.jause-facts strong {
  font-weight: 500;
  color: var(--ink);
  min-width: 9.5rem;
}

.jause figure img { aspect-ratio: 4 / 5; object-fit: cover; }

/* ---------- Feste ---------- */

.fest-rows { margin-top: clamp(3rem, 6vw, 5rem); border-top: 1px solid var(--line); }

.fest-row {
  display: grid;
  grid-template-columns: 96px 1fr 1.3fr auto;
  align-items: center;
  gap: clamp(1.5rem, 4vw, 4rem);
  padding-block: clamp(1.75rem, 3vw, 2.5rem);
  border-bottom: 1px solid var(--line);
  transition: background .4s var(--ease);
}

.fest-row:hover { background: rgba(66, 71, 52, .05); }

.fest-row .thumb {
  width: 96px;
  height: 96px;
  object-fit: cover;
  border-radius: 2px;
  transition: transform .5s var(--ease);
}
.fest-row:hover .thumb { transform: scale(1.05); }

.fest-row h3 { font-size: clamp(1.4rem, 2.2vw, 1.85rem); font-weight: 380; }

.fest-row p { color: var(--ink-soft); font-size: .95rem; max-width: 30em; }

.fest-row .arr {
  font-size: 1.35rem;
  font-weight: 300;
  color: var(--green);
  transition: transform .4s var(--ease);
}
.fest-row:hover .arr { transform: translateX(6px); }

/* Feste als Bild-Karten */

.fest-cards {
  margin-top: clamp(3rem, 6vw, 5rem);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.25rem, 2.5vw, 2rem);
}

.fest-card {
  position: relative;
  display: block;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: 2px;
  isolation: isolate;
}

.fest-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s var(--ease);
}

.fest-card:hover img { transform: scale(1.05); }

.fest-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(20, 22, 15, .88) 0%, rgba(20, 22, 15, .38) 42%, rgba(20, 22, 15, 0) 68%);
  transition: opacity .5s var(--ease);
}

.fc-content {
  position: absolute;
  inset: auto 0 0 0;
  z-index: 1;
  padding: clamp(1.4rem, 2.5vw, 2rem);
  color: var(--cream);
  display: grid;
  gap: .45rem;
}

.fc-content h3 {
  font-size: clamp(1.4rem, 2vw, 1.75rem);
  font-weight: 400;
}

.fc-content p {
  font-size: .88rem;
  line-height: 1.6;
  color: var(--cream-dim);
  max-width: 26em;
}

.fc-content .arr {
  font-size: 1.25rem;
  color: var(--cream);
  transition: transform .4s var(--ease);
}

.fest-card:hover .fc-content .arr { transform: translateX(6px); }

@media (max-width: 1000px) {
  .fest-cards { grid-template-columns: 1fr; }
  .fest-card { aspect-ratio: 16 / 10; }
}

/* ---------- Gastgeber ---------- */

.host .split {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: clamp(3rem, 7vw, 7rem);
  align-items: center;
}

.host figure img { aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 20%; }

.host blockquote {
  font: 300 clamp(1.6rem, 2.8vw, 2.4rem)/1.32 var(--display);
  letter-spacing: -.02em;
  margin-top: 2rem;
  max-width: 19em;
}

.letter { margin-top: 2rem; max-width: 36em; }

.letter p {
  color: var(--ink-soft);
  margin-bottom: 1.1rem;
  line-height: 1.75;
}

.letter .letter-sign {
  margin-top: 1.8rem;
  color: var(--ink);
}

.letter .letter-sign strong { font-weight: 500; }

.letter-signature {
  width: 200px;
  height: auto;
  margin-top: .5rem;
}

/* Podcast-Player */

.podcast {
  margin-top: clamp(3rem, 6vw, 5rem);
  background: var(--green-black);
  color: var(--cream);
  border-radius: 2px;
  padding: 1.7rem clamp(1.5rem, 3vw, 2.4rem);
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 1rem 1.6rem;
  align-items: center;
}

.podcast .pc-x { width: 42px; }

.pc-meta strong {
  display: block;
  font: 420 1.1rem/1.3 var(--display);
}

.pc-meta span {
  font-size: .83rem;
  color: var(--cream-dim);
}

.pc-play {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 0;
  background: var(--cream);
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: transform .3s var(--ease), background .3s;
}

.pc-play:hover { background: #fff; transform: scale(1.05); }

.pc-icon {
  width: 0;
  height: 0;
  border-left: 15px solid var(--green-black);
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  margin-left: 4px;
}

.podcast.playing .pc-icon {
  width: 14px;
  height: 17px;
  border: 0;
  margin: 0;
  background: linear-gradient(to right, var(--green-black) 0 5px, transparent 5px 9px, var(--green-black) 9px 14px);
}

.pc-track {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: .75rem;
  font-variant-numeric: tabular-nums;
  color: var(--cream-dim);
}

.pc-bar {
  flex: 1;
  height: 14px;
  display: flex;
  align-items: center;
  cursor: pointer;
  position: relative;
}

.pc-bar::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--line-dark);
}

.pc-progress {
  position: relative;
  z-index: 1;
  display: block;
  height: 2px;
  width: 0;
  background: var(--cream);
}

@media (max-width: 700px) {
  .podcast { grid-template-columns: 1fr auto; }
  .podcast .pc-x { display: none; }
}

.host .attribution {
  margin-top: 2rem;
  font-size: .8rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ink-soft);
}

.host .bio { margin-top: 1.6rem; }

/* ---------- Reservieren ---------- */

.reserve { background: var(--green-black); }

.reserve-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(3rem, 8vw, 8rem);
}

.reserve .h-section { margin-top: 1.8rem; }
.reserve .lead { margin-top: 2rem; }

.reserve-phone {
  display: inline-block;
  margin-top: 2.6rem;
  font: 250 clamp(1.8rem, 3.4vw, 2.8rem)/1.15 var(--display);
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
  border-bottom: 1px solid var(--line-dark);
  padding-bottom: .4rem;
  transition: border-color .3s;
}
.reserve-phone:hover { border-color: var(--cream); }

.reserve-mail {
  display: block;
  margin-top: 1.2rem;
  color: var(--cream-dim);
}
.reserve-mail:hover { color: var(--cream); }

.reserve-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2.4rem;
}

.hours { border-top: 1px solid var(--line-dark); }

.hours h3 {
  font-size: 1.3rem;
  font-weight: 420;
  margin: 2rem 0 1.4rem;
}

.hours-row {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  padding-block: .85rem;
  border-bottom: 1px solid var(--line-dark);
  font-size: .93rem;
}

.hours-row span:first-child { color: var(--cream-dim); }

.hours .fine {
  margin-top: 1.6rem;
  font-size: .83rem;
  line-height: 1.8;
  color: var(--cream-faint);
}

.reserve-address {
  margin-top: 2.6rem;
  font-size: .93rem;
  line-height: 1.9;
  color: var(--cream-dim);
}

.reserve-address a { border-bottom: 1px solid var(--line-dark); }
.reserve-address a:hover { color: var(--cream); }

/* ---------- Karten ---------- */

.karten-rows { margin-top: clamp(3rem, 6vw, 4.5rem); border-top: 1px solid var(--line); }

.karten-row {
  display: grid;
  grid-template-columns: 1fr 1.3fr auto;
  align-items: center;
  gap: clamp(1.5rem, 4vw, 4rem);
  padding-block: clamp(1.4rem, 2.4vw, 2rem);
  border-bottom: 1px solid var(--line);
  transition: background .35s var(--ease);
}

.karten-row:hover { background: rgba(66, 71, 52, .05); }

.karten-row h3 { font-size: clamp(1.35rem, 2.1vw, 1.8rem); font-weight: 380; }

.karten-row p { color: var(--ink-soft); font-size: .93rem; }

.karten-row .arr {
  font-size: 1.3rem;
  font-weight: 300;
  color: var(--green);
  transition: transform .35s var(--ease);
}

.karten-row:hover .arr { transform: translateY(3px); }

.karten-row .arr.r:hover, .karten-row:hover .arr.r { transform: translateX(5px); }

@media (max-width: 700px) {
  .karten-row { grid-template-columns: 1fr auto; }
  .karten-row p { display: none; }
}

/* ---------- FAQ ---------- */

.faq-rows { margin-top: clamp(3rem, 6vw, 4.5rem); border-top: 1px solid var(--line); }

.faq-row {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 1rem clamp(2rem, 5vw, 5rem);
  padding-block: clamp(1.5rem, 2.5vw, 2.1rem);
  border-bottom: 1px solid var(--line);
}

.faq-row h3 {
  font-size: clamp(1.15rem, 1.8vw, 1.45rem);
  font-weight: 420;
  letter-spacing: -.01em;
}

.faq-row p { color: var(--ink-soft); font-size: .95rem; max-width: 36em; }

.faq-row a { color: var(--green); border-bottom: 1px solid var(--line); }
.faq-row a:hover { border-color: var(--green); }

@media (max-width: 700px) {
  .faq-row { grid-template-columns: 1fr; gap: .4rem; }
}

/* ---------- Sticky-CTA (mobil) ---------- */

.cta-sticky {
  display: none;
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 40;
  padding: 1.1rem;
  text-align: center;
  background: var(--green);
  color: var(--cream);
  font: 500 .8rem/1 var(--sans);
  letter-spacing: .16em;
  text-transform: uppercase;
  border-radius: 2px;
  box-shadow: 0 10px 30px rgba(34, 37, 27, .35);
  transition: transform .4s var(--ease), opacity .4s var(--ease);
}

.cta-sticky.hidden { transform: translateY(140%); opacity: 0; }

/* ---------- Footer ---------- */

.footer {
  background: var(--green-black);
  color: var(--cream-dim);
  border-top: 1px solid var(--line-dark);
  padding-block: 3.5rem;
}

.footer-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.footer-logo { width: min(230px, 60vw); }

.footer-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 1.8rem;
  list-style: none;
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.footer-nav a:hover { color: var(--cream); }

.footer-line {
  width: 100%;
  padding-top: 2rem;
  border-top: 1px solid var(--line-dark);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  font-size: .78rem;
}

/* ---------- Unterseiten ---------- */

.page-head { padding: clamp(9rem, 16vw, 13rem) 0 clamp(3rem, 6vw, 5rem); }

.page-head .display { font-size: clamp(2.5rem, 6vw, 4.8rem); margin-top: 1.6rem; }

.page-head .lead { margin-top: 2rem; }

/* Speisekarte */

.menu-section { padding-block: clamp(2rem, 4vw, 3.5rem); }

.menu-section + .menu-section { border-top: 1px solid var(--line); }

.menu-section h2 {
  font-size: clamp(1.6rem, 2.4vw, 2.1rem);
  font-weight: 380;
  margin-bottom: .4rem;
}

.menu-section .section-note { color: var(--ink-soft); font-size: .9rem; margin-bottom: 2rem; }

.menu-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .35rem 3rem;
  padding-block: 1.3rem;
}

.menu-item + .menu-item { border-top: 1px solid var(--line); }

.menu-item .name { font: 420 1.12rem/1.35 var(--display); letter-spacing: -.01em; }

.menu-item .price {
  font: 400 1rem/1.35 var(--display);
  font-variant-numeric: tabular-nums;
  color: var(--green);
}

.menu-item .desc {
  grid-column: 1;
  color: var(--ink-soft);
  font-size: .92rem;
}

.menu-note {
  margin-top: 3rem;
  padding: 2rem 2.25rem;
  border: 1px solid var(--line);
  border-radius: 2px;
  font-size: .9rem;
  color: var(--ink-soft);
  line-height: 1.9;
}

.sources-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .5rem 3rem;
  margin-top: 1.5rem;
}

.source-row {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  padding-block: .7rem;
  border-bottom: 1px solid var(--line);
  font-size: .9rem;
}

.source-row span:first-child { color: var(--ink-soft); }

/* Feste-Seite */

.fest-detail {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: clamp(3rem, 7vw, 7rem);
  align-items: center;
  padding-block: clamp(3.5rem, 7vw, 6rem);
}

.fest-detail:nth-child(even) .fd-media { order: -1; }

.fest-detail + .fest-detail { border-top: 1px solid var(--line); }

.fest-detail h2 { font-size: clamp(1.9rem, 3.4vw, 2.8rem); font-weight: 340; margin-top: 1.6rem; }

.fest-detail .lead { margin-top: 1.8rem; }

.fest-detail ul {
  margin-top: 2.2rem;
  list-style: none;
  border-top: 1px solid var(--line);
  font-size: .93rem;
  color: var(--ink-soft);
}

.fest-detail li {
  padding-block: .9rem;
  border-bottom: 1px solid var(--line);
}

.fest-detail img { aspect-ratio: 4 / 3; object-fit: cover; }

/* Rechtstexte */

.legal { max-width: 46em; }
.legal h2 { font-size: 1.45rem; font-weight: 420; margin: 3rem 0 1rem; }
.legal p { color: var(--ink-soft); margin-bottom: 1rem; }

/* ---------- Reveal ---------- */

.rv {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 1s var(--ease), transform 1s var(--ease);
  transition-delay: var(--d, 0s);
}

.rv.in { opacity: 1; transform: none; }

.rv-img { overflow: hidden; }
.rv-img img {
  transform: scale(1.06);
  transition: transform 1.4s var(--ease);
  transition-delay: var(--d, 0s);
}
.rv-img.in img { transform: scale(1); }

@media (prefers-reduced-motion: reduce) {
  .rv, .rv-img img { opacity: 1; transform: none; transition: none; }
  .hero-media img { animation: none; }
  .js .hero .hr { opacity: 1; transform: none; transition: none; }
  .pl-logo, .pl-bar span { animation-duration: .01s; }
  html { scroll-behavior: auto; }
}

/* ---------- Druck ---------- */

@media print {
  .nav, .menu-overlay, .cta-sticky, .preloader, .skip-link,
  .hero-actions, .reserve-actions, .btn, .ticker { display: none !important; }
  .rv, .rv-img img, .js .hero .hr { opacity: 1 !important; transform: none !important; }
  body, .on-dark, .reserve, .footer { background: #fff !important; color: #000 !important; }
  .on-dark .lead, .on-dark figcaption, .footer, .hours-row span, .menu-item .desc { color: #333 !important; }
  .menu-item .price, .kicker { color: #000 !important; }
  .section, .menu-section { padding-block: 1.2rem; }
  .page-head { padding: 1.5rem 0; }
}

/* ---------- Responsive ---------- */

@media (max-width: 1000px) {
  .nav-links, .nav .nav-cta, .mega { display: none; }
  .burger { display: block; }

  .menu-grid { grid-template-columns: 1fr; gap: 2.5rem; align-content: center; }
  .menu-aside {
    border-left: 0;
    padding-left: 0;
    border-top: 1px solid var(--line-dark);
    padding-top: 2rem;
    gap: 1.2rem;
  }
  .menu-aside .menu-x { display: none; }

  .place-grid, .cuisine-head, .menu-teaser, .jause .split,
  .host .split, .reserve-grid, .fest-detail { grid-template-columns: 1fr; }

  .place-copy { position: static; }
  .fest-detail:nth-child(even) .fd-media { order: 0; }

  .cuisine-gallery { grid-template-columns: 1fr 1fr; }
  .cuisine-gallery figure:first-child { grid-column: 1 / -1; }
  .cuisine-gallery figure:first-child img { aspect-ratio: 16 / 10; object-fit: cover; }

  .hero-grid { grid-template-columns: 1fr; }
  .hero-card { justify-self: start; }

  .fest-row { grid-template-columns: 72px 1fr auto; }
  .fest-row p { display: none; }
  .fest-row .thumb { width: 72px; height: 72px; }

  .statement .watermark { display: none; }

  .sources-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .cta-sticky { display: block; }
  .hero-card { display: none; }

  body { padding-bottom: 0; }
}

@media (max-width: 560px) {
  .hero-foot { gap: .4rem 1.5rem; flex-direction: column; align-items: center; }
  .chronik-row { grid-template-columns: 5rem 1fr; }
  .place-media figure:nth-child(2) { width: 100%; }
  .menu-item { grid-template-columns: 1fr; }
  .menu-item .price { grid-row: auto; }
}

/* ============================================================
   X am Gaumberg – Anpassungen (Content-Update 2026)
   ============================================================ */

/* Alle Sektions-Überschriften größer */
.h-section { font-size: clamp(2.5rem, 5.2vw, 4.6rem); }

/* Küche: Galerie mit 8 Fotos (statt 3) */
.menu-teaser { display: block; }


.cuisine-gallery-8 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(.6rem, 1.2vw, 1rem);
  align-items: start;
}
.cuisine-gallery-8 figure { margin: 0 !important; }
.cuisine-gallery-8 figure img {
  width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block;
  border-radius: 4px;
}
@media (max-width: 720px) { .cuisine-gallery-8 { grid-template-columns: repeat(2, 1fr); } }

/* "Woher unsere Zutaten kommen" mittig */
.sourcing-center { max-width: 720px; margin: clamp(2rem,4vw,3.5rem) auto 0; text-align: center; }
.sourcing-center .cta-row { justify-content: center; }

/* Buschenschank: Punkteliste + Adalberts Favoriten */
.jause-points { list-style: none; margin: 1.6rem 0 0; padding: 0; display: grid; gap: .7rem; }
.jause-points li { position: relative; padding-left: 1.4rem; color: var(--ink-soft); }
.jause-points li::before { content: "–"; position: absolute; left: 0; color: var(--green); font-weight: 600; }
.jause-favs {
  margin-top: 1.8rem;
  margin-bottom: 2.6rem;
  display: flex;
  align-items: flex-start;
  gap: 1.1rem;
}

.jause-favs .jf-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid var(--paper-2);
  box-shadow: 0 4px 14px rgba(34, 37, 27, .18);
}
.jause-favs strong { display: block; font-family: "Inter Tight", sans-serif; font-size: 1.15rem; margin-bottom: .3rem; }
.jause-favs p { color: var(--ink-soft); font-size: .95rem; line-height: 1.6; }

/* ---- Feste-Unterseiten (Hochzeiten / Feierlichkeiten / Weihnachtsfeiern) ---- */
.fest-detail { grid-template-columns: .8fr 1.2fr; }         /* Foto-Spalte breiter = Fotos größer */
.fd-media-lg { align-self: start; }
.fd-media-lg img { width: 100%; aspect-ratio: 3 / 3.5; }    /* höheres Format = größeres Bild */
.fd-points { border-top: none !important; margin-top: 1.4rem !important; font-size: .95rem; color: var(--ink-soft); }
.fd-points li { border-bottom: none !important; padding-block: .35rem !important; position: relative; padding-left: 1.3rem; }
.fd-points li::before { content: "–"; position: absolute; left: 0; color: var(--green); font-weight: 600; }
.fd-cta { margin-top: 2.4rem; display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.fd-tel { font-weight: 600; color: var(--green); text-decoration: none; }
.fd-tel:hover { text-decoration: underline; }
@media (max-width: 860px){ .fest-detail { grid-template-columns: 1fr; } .fd-media-lg img { aspect-ratio: 4 / 3; } }


/* ---------- Popup (Admin-gesteuert) ---------- */

.xg-popup {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(21, 23, 16, .55);
  backdrop-filter: blur(4px);
  display: grid;
  place-items: center;
  padding: 1.5rem;
  animation: xgFade .45s var(--ease) both;
}

.xg-popup.out { opacity: 0; transition: opacity .3s var(--ease); }

@keyframes xgFade { from { opacity: 0; } }

.xg-popup-card {
  position: relative;
  background: var(--paper);
  color: var(--ink);
  border-radius: 2px;
  padding: clamp(2rem, 4vw, 3rem);
  width: min(520px, 100%);
  box-shadow: 0 40px 90px rgba(21, 23, 16, .5);
  text-align: center;
  animation: xgUp .5s var(--ease) both;
}

@keyframes xgUp { from { opacity: 0; transform: translateY(24px); } }

.xg-popup-logo { width: 44px; margin: 0 auto 1.4rem; }

.xg-popup-close {
  position: absolute;
  top: .8rem;
  right: 1rem;
  border: 0;
  background: none;
  font-size: 1.6rem;
  line-height: 1;
  color: var(--ink-soft);
  cursor: pointer;
}
.xg-popup-close:hover { color: var(--ink); }

.xg-popup-line { margin-bottom: 1.1rem; }
.xg-popup-line:last-of-type { margin-bottom: 0; }

.xg-popup-date {
  display: block;
  font: 500 .72rem/1 var(--sans);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--green);
  margin-bottom: .45rem;
}

.xg-popup-line p { color: var(--ink-soft); line-height: 1.65; }
.xg-popup-line p strong { color: var(--ink); }

.xg-popup-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .8rem;
  margin-top: 1.8rem;
}

/* ---------- Events (Admin-gesteuert) ---------- */

.event-grid {
  margin-top: clamp(3rem, 6vw, 4.5rem);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr));
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

.event-card img {
  width: 100%;
  border-radius: 2px;
  box-shadow: 0 20px 50px rgba(34, 37, 27, .18);
}

.event-meta {
  margin-top: 1rem;
  font-size: .9rem;
  color: var(--ink-soft);
}
.event-meta strong { color: var(--ink); font-weight: 500; margin-right: .5rem; }
.event-pdf { color: var(--green); border-bottom: 1px solid var(--line); margin-left: .5rem; }

.event-card-text {
  border: 1px solid var(--line);
  border-radius: 2px;
  padding: clamp(1.8rem, 3vw, 2.5rem);
  display: grid;
  gap: .5rem;
  align-content: start;
}
.event-card-text .ec-title { font: 420 1.4rem/1.3 var(--display); }
.event-card-text .ec-date { font: 500 .75rem/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--green); }
.event-card-text p { color: var(--ink-soft); font-size: .95rem; }
.event-card-text .ec-price { color: var(--green); font-weight: 500; }
.event-card-text .ec-desc { font-size: .82rem; font-style: italic; }

/* ---------- Newsletter im Footer ---------- */

.footer-nl {
  width: 100%;
  padding-top: 2rem;
  border-top: 1px solid var(--line-dark);
  display: grid;
  gap: .4rem;
  max-width: 30rem;
}

.footer-nl strong { color: var(--cream); font-weight: 500; }
.footer-nl p { font-size: .85rem; }
.footer-nl .nl-ok { color: var(--cream); }
.footer-nl .nl-err { color: #e2b169; }

.nl-form {
  display: flex;
  gap: .6rem;
  margin-top: .6rem;
  flex-wrap: wrap;
}

.nl-form input {
  flex: 1;
  min-width: 200px;
  background: transparent;
  border: 1px solid var(--line-dark);
  border-radius: 2px;
  padding: .9rem 1rem;
  color: var(--cream);
  font: 400 .9rem var(--sans);
}
.nl-form input::placeholder { color: var(--cream-faint); }
.nl-form input:focus-visible { outline-color: var(--cream); }
