:root{
  --ink:#17110d;
  --espresso:#241611;
  --mahogany:#5f2f18;
  --copper:#b9763f;
  --gold:#d9a15f;
  --champagne:#fff8ef;
  --linen:#f5eadb;
  --porcelain:#fffdf9;
  --sage:#243c32;
  --muted:#78685d;
  --line:rgba(95,47,24,.18);
  --shadow:0 24px 70px rgba(39,22,12,.10);
  --shadow-soft:0 12px 35px rgba(39,22,12,.08);
  --radius:30px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:var(--ink);
  line-height:1.72;
  background:
    radial-gradient(circle at 10% 0%,rgba(217,161,95,.18),transparent 34rem),
    radial-gradient(circle at 95% 12%,rgba(95,47,24,.10),transparent 26rem),
    linear-gradient(180deg,var(--champagne),#fbf1e5 42%,#fffaf4);
  text-rendering:optimizeLegibility;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.28;
  background-image:linear-gradient(rgba(95,47,24,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(95,47,24,.035) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,black,transparent 78%);
  z-index:-1;
}
a{color:inherit;text-underline-offset:4px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(217,161,95,.55);outline-offset:4px}
img,svg{max-width:100%}

.site-header{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;gap:28px;
  padding:16px max(5vw,24px);
  background:rgba(255,248,239,.84);
  backdrop-filter:blur(18px) saturate(140%);
  border-bottom:1px solid rgba(95,47,24,.12);
  box-shadow:0 10px 35px rgba(39,22,12,.045);
}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:900;letter-spacing:-.03em;font-size:1.12rem;white-space:nowrap}
.brand-mark{
  display:grid;place-items:center;width:46px;height:46px;border-radius:16px;
  color:#fff;background:linear-gradient(135deg,var(--espresso),var(--mahogany) 62%,var(--gold));
  box-shadow:0 12px 28px rgba(95,47,24,.24);
}

.brand-logo-frame{
  position:relative;display:grid;place-items:center;width:88px;height:58px;border-radius:20px;
  background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,248,239,.82));
  border:1px solid rgba(95,47,24,.18);
  box-shadow:0 14px 30px rgba(95,47,24,.14),inset 0 1px 0 rgba(255,255,255,.9);
  overflow:hidden;
}
.brand-logo-frame::before{
  content:"";position:absolute;inset:5px;border-radius:16px;border:1px solid rgba(217,161,95,.22);pointer-events:none;
}
.brand-logo-frame::after{
  content:"";position:absolute;inset:auto 12px -11px 12px;height:20px;border-radius:999px;background:rgba(217,161,95,.20);filter:blur(8px);
}
.brand-logo{
  position:relative;z-index:1;width:76px;height:auto;display:block;object-fit:contain;
  filter:drop-shadow(0 2px 1px rgba(255,255,255,.78));
}
.footer-logo-wrap{
  width:92px;height:60px;margin:0 auto 16px;display:grid;place-items:center;border-radius:22px;
  background:linear-gradient(135deg,#fff,#fff7ed);border:1px solid rgba(217,161,95,.28);
  box-shadow:0 18px 34px rgba(0,0,0,.22);
}
.footer-logo{width:78px;height:auto;display:block;object-fit:contain}

.nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-weight:750}
.nav a{
  position:relative;text-decoration:none;font-size:.92rem;letter-spacing:.01em;
  padding:10px 13px;border-radius:999px;color:rgba(23,17,13,.82);
  transition:background .22s ease,color .22s ease,transform .22s ease;
}
.nav a:hover,.nav a.active{background:rgba(185,118,63,.12);color:var(--mahogany);transform:translateY(-1px)}
.menu-toggle{display:none;border:0;background:var(--espresso);color:#fff;border-radius:14px;padding:10px 13px;font-size:1.1rem;box-shadow:var(--shadow-soft)}

.hero,.section,.newsletter,.content,.page-hero{padding-left:max(5vw,24px);padding-right:max(5vw,24px)}
.hero,.section,.newsletter{padding-top:86px;padding-bottom:86px}
.hero>* , .section>* , .content>* , .page-hero>* , .newsletter>*{max-width:var(--max)}
.hero.split,.section.two-col,.content.two-col{max-width:none}
.split,.two-col{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(340px,.94fr);gap:clamp(34px,5vw,76px);align-items:center}
.hero{
  min-height:82vh;
  position:relative;overflow:hidden;
  background:
    linear-gradient(135deg,rgba(36,22,17,.92),rgba(95,47,24,.78)),
    radial-gradient(circle at 78% 26%,rgba(217,161,95,.35),transparent 28rem);
  color:#fff9f1;
}
.hero::after{
  content:"";position:absolute;inset:auto -12% -38% 44%;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(217,161,95,.28),transparent 62%);filter:blur(10px);pointer-events:none;
}
.hero-copy{position:relative;z-index:1;max-width:760px}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.85rem,6.6vw,6.8rem);line-height:.94;margin:0 0 24px;letter-spacing:-.07em;font-weight:700}
.hero p{font-size:1.16rem;max-width:720px;color:rgba(255,249,241,.86)}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--copper);font-weight:900;font-size:.76rem;margin:0 0 14px}
.hero .eyebrow{color:#f0bc7b}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px;align-items:center}
.btn,button{
  --btn-bg:transparent;--btn-color:var(--espresso);--btn-border:rgba(36,22,17,.85);
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;border:1px solid var(--btn-border);border-radius:999px;padding:13px 23px;
  font-weight:900;letter-spacing:.01em;text-decoration:none;background:var(--btn-bg);color:var(--btn-color);cursor:pointer;
  box-shadow:0 10px 24px rgba(39,22,12,.06);
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease,border-color .22s ease;
}
.btn::after,button::after{content:"→";font-weight:900;transition:transform .22s ease}
.btn:hover,button:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(39,22,12,.13);background:rgba(95,47,24,.08)}
.btn:hover::after,button:hover::after{transform:translateX(3px)}
.btn.primary,button{--btn-bg:linear-gradient(135deg,var(--espresso),var(--mahogany));--btn-color:#fff;--btn-border:transparent}
.hero .btn{--btn-color:#fff;--btn-border:rgba(255,255,255,.42);box-shadow:none}
.hero .btn:hover{background:rgba(255,255,255,.12)}
.hero .btn.primary{--btn-bg:linear-gradient(135deg,#f0bc7b,var(--gold));--btn-color:#241611}

.media-placeholder{
  position:relative;overflow:hidden;min-height:340px;border:1px solid rgba(95,47,24,.17);border-radius:var(--radius);
  background:
    linear-gradient(135deg,rgba(255,255,255,.78),rgba(245,234,219,.64)),
    repeating-linear-gradient(-45deg,rgba(185,118,63,.08) 0 10px,rgba(255,255,255,.18) 10px 20px);
  display:grid;place-items:center;text-align:center;padding:34px;color:var(--muted);box-shadow:var(--shadow);
}
.hero .media-placeholder{background:linear-gradient(135deg,rgba(255,255,255,.15),rgba(255,255,255,.06));border-color:rgba(255,255,255,.22);color:rgba(255,249,241,.82);box-shadow:0 30px 90px rgba(0,0,0,.20)}
.media-placeholder::before{content:"";position:absolute;inset:16px;border:1px dashed rgba(95,47,24,.27);border-radius:calc(var(--radius) - 12px)}
.hero .media-placeholder::before{border-color:rgba(255,255,255,.3)}
.media-placeholder::after{content:"";position:absolute;inset:auto -20% -45% -20%;height:180px;background:radial-gradient(circle,rgba(217,161,95,.22),transparent 60%)}
.media-placeholder.large{min-height:540px}
.media-placeholder span{display:block;font-size:4.1rem;filter:drop-shadow(0 10px 16px rgba(39,22,12,.14))}
.media-placeholder p{font-weight:900;margin:10px 0 0;letter-spacing:.02em}

.section h2,.content h2,.newsletter h2,.page-hero h1{font-family:Georgia,"Times New Roman",serif;line-height:1.03;letter-spacing:-.045em;font-weight:700}
.section h2,.content h2,.newsletter h2{font-size:clamp(2rem,4vw,4rem);margin:0 0 22px}
.section h3,.content h3{margin:26px 0 10px;line-height:1.25;font-size:1.28rem;letter-spacing:-.02em}
.section p,.content p,.page-hero p{color:var(--muted)}
.alt{background:linear-gradient(135deg,rgba(245,234,219,.88),rgba(255,253,249,.78));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cards-3,.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.card,.info-card,.product-card,.post-card,.form{
  position:relative;background:rgba(255,253,249,.88);border:1px solid var(--line);border-radius:var(--radius);padding:30px;
  box-shadow:var(--shadow-soft);backdrop-filter:blur(8px);
}
.card,.info-card,.product-card,.post-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.card:hover,.info-card:hover,.product-card:hover,.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(185,118,63,.35)}
.card .icon{width:58px;height:58px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(135deg,rgba(217,161,95,.22),rgba(95,47,24,.09));font-size:2rem;margin-bottom:14px}
.card a,.post-card>a:not(.btn){font-weight:900;color:var(--mahogany)}
.product-card{display:flex;flex-direction:column;gap:12px}
.product-card .media-placeholder,.post-card .media-placeholder{min-height:220px;margin:-10px -10px 14px;border-radius:24px;box-shadow:none}
.badge{display:inline-flex;width:max-content;border-radius:999px;background:rgba(217,161,95,.18);color:var(--mahogany);padding:7px 13px;font-weight:900;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}
.price-list{display:grid;gap:14px;margin:22px 0}.price-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:13px 0}.price-row span{text-align:right;color:var(--mahogany);font-weight:800}
ul{padding-left:1.1rem;color:var(--muted)}li{margin:.42rem 0}

.page-hero{
  padding-top:90px;padding-bottom:56px;
  background:linear-gradient(135deg,rgba(245,234,219,.88),rgba(255,253,249,.55));
  border-bottom:1px solid var(--line);
}
.page-hero h1{font-size:clamp(2.8rem,6vw,5.8rem);margin:0 0 18px;color:var(--espresso)}
.page-hero p{max-width:850px;font-size:1.08rem}
.content{padding-top:62px;padding-bottom:62px}
.newsletter{text-align:center;background:linear-gradient(135deg,var(--sage),#14231d);color:#fff;position:relative;overflow:hidden}
.newsletter::before{content:"";position:absolute;inset:-40% auto auto -8%;width:420px;height:420px;border-radius:50%;background:rgba(217,161,95,.18);filter:blur(3px)}
.newsletter h2,.newsletter p,.newsletter form{position:relative;margin-left:auto;margin-right:auto}
.newsletter p{color:rgba(255,255,255,.78)}
.inline-form{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px}
.inline-form input,.form input,.form select,.form textarea{
  border:1px solid rgba(95,47,24,.22);border-radius:18px;padding:15px 16px;min-width:260px;background:#fffdf9;color:var(--ink);font:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.form input,.form select,.form textarea{width:100%}
.inline-form input:focus,.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--copper);box-shadow:0 0 0 4px rgba(217,161,95,.14);transform:translateY(-1px)}
.form{display:grid;gap:14px;max-width:780px}.form textarea{min-height:130px;resize:vertical}.source-note{font-size:.88rem;color:var(--muted);margin:0}.form-status{margin:0;padding:12px 14px;border-radius:16px;background:rgba(36,60,50,.08);color:var(--sage);font-weight:800;display:none}.form-status.show{display:block}
.footer{padding:42px max(5vw,24px);background:linear-gradient(135deg,#1a100d,var(--espresso));color:#f9ead7;text-align:center;border-top:1px solid rgba(255,255,255,.1)}
.footer p{margin:6px 0;color:rgba(249,234,215,.82)}

@media(max-width:980px){
  .menu-toggle{display:inline-flex}.nav{display:none;position:absolute;left:max(5vw,24px);right:max(5vw,24px);top:82px;flex-direction:column;align-items:stretch;background:rgba(255,253,249,.98);border:1px solid var(--line);border-radius:24px;padding:14px;box-shadow:var(--shadow)}.nav.open{display:flex}.nav a{padding:13px 15px}.split,.two-col,.grid-2{grid-template-columns:1fr}.hero{min-height:auto}.cards-3,.grid-3{grid-template-columns:1fr}.hero,.section,.newsletter{padding-top:62px;padding-bottom:62px}.content{padding-top:46px;padding-bottom:46px}.media-placeholder.large{min-height:380px}.price-row{display:block}.price-row span{text-align:left;display:block;margin-top:4px}
}
@media(max-width:620px){
  .site-header{padding:12px 18px}.brand-logo-frame{width:70px;height:48px;border-radius:16px}.brand-logo{width:60px}.footer-logo-wrap{width:80px;height:52px}.footer-logo{width:66px}.brand span:last-child{max-width:150px;overflow:hidden;text-overflow:ellipsis}.hero,.section,.newsletter,.content,.page-hero{padding-left:18px;padding-right:18px}.hero h1{font-size:3rem}.page-hero h1{font-size:3rem}.card,.info-card,.product-card,.post-card,.form{padding:22px;border-radius:24px}.inline-form input,.form input,.form select,.form textarea{min-width:0;width:100%}.inline-form button,.form button,.btn{width:100%}.media-placeholder{min-height:260px}.media-placeholder.large{min-height:320px}
}


/* Creative popup navigation upgrade */
body.menu-open{overflow:hidden}
body.menu-open::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:45;
  background:radial-gradient(circle at 82% 18%,rgba(217,161,95,.20),transparent 26rem),rgba(23,17,13,.42);
  backdrop-filter:blur(7px);
}
.site-header{z-index:80}
.menu-toggle{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:54px;
  min-height:48px;
  border:1px solid rgba(217,161,95,.32);
  background:linear-gradient(135deg,var(--espresso),var(--mahogany) 66%,#8b542b);
  color:#fff;
  border-radius:999px;
  padding:12px 18px;
  font-weight:900;
  letter-spacing:.02em;
  box-shadow:0 16px 34px rgba(95,47,24,.24),inset 0 1px 0 rgba(255,255,255,.20);
  cursor:pointer;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
}
.menu-toggle::before{content:"Menu";font-size:.82rem;text-transform:uppercase;letter-spacing:.11em}
.menu-toggle:hover{transform:translateY(-2px);box-shadow:0 22px 42px rgba(95,47,24,.30),inset 0 1px 0 rgba(255,255,255,.22)}
.menu-toggle[aria-expanded="true"]{background:linear-gradient(135deg,#8b542b,var(--mahogany),var(--espresso))}
.menu-toggle[aria-expanded="true"]::before{content:"Close"}
.nav{
  position:fixed !important;
  top:94px !important;
  right:max(5vw,24px) !important;
  left:auto !important;
  z-index:90;
  width:min(430px,calc(100vw - 48px));
  display:grid !important;
  grid-template-columns:1fr 1fr;
  gap:12px;
  padding:28px;
  border-radius:34px;
  background:
    linear-gradient(145deg,rgba(255,253,249,.98),rgba(255,248,239,.94)),
    radial-gradient(circle at 12% 0%,rgba(217,161,95,.22),transparent 18rem);
  border:1px solid rgba(217,161,95,.30);
  box-shadow:0 34px 90px rgba(23,17,13,.28),inset 0 1px 0 rgba(255,255,255,.88);
  backdrop-filter:blur(20px) saturate(145%);
  transform-origin:top right;
  transform:translateY(-12px) scale(.96);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .24s ease,transform .24s ease,visibility .24s ease;
}
.nav::before{
  content:"Explore Bolt Bier-Art";
  grid-column:1/-1;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.55rem;
  line-height:1;
  letter-spacing:-.04em;
  color:var(--espresso);
  margin-bottom:6px;
}
.nav::after{
  content:"";
  position:absolute;
  top:-10px;
  right:30px;
  width:20px;
  height:20px;
  transform:rotate(45deg);
  background:rgba(255,253,249,.98);
  border-left:1px solid rgba(217,161,95,.30);
  border-top:1px solid rgba(217,161,95,.30);
}
.nav.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.nav a{
  display:flex;
  align-items:center;
  min-height:64px;
  border-radius:22px;
  padding:16px 18px !important;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(95,47,24,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.74);
  font-size:.96rem;
}
.nav a:hover,.nav a.active{
  background:linear-gradient(135deg,rgba(217,161,95,.24),rgba(255,255,255,.72));
  border-color:rgba(185,118,63,.34);
  transform:translateY(-2px);
}
.nav a::before{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  margin-right:10px;
  border-radius:11px;
  background:linear-gradient(135deg,rgba(95,47,24,.12),rgba(217,161,95,.18));
  font-size:1rem;
}
.nav a[href$="index.html"]::before{content:"⌂"}
.nav a[href*="brauerei"]::before{content:"🍺"}
.nav a[href*="gastronomie"]::before{content:"🍽"}
.nav a[href*="dirndl"]::before{content:"👗"}
.nav a[href*="reservation"]::before{content:"✦"}
.nav a[href*="shop"]::before{content:"🛍"}
.nav a[href*="news"]::before{content:"✎"}
.nav a[href*="kontakt"]::before{content:"☎"}
@media(max-width:620px){
  .menu-toggle{padding:11px 14px;min-height:44px}.menu-toggle::before{display:none}
  .nav{top:78px !important;right:18px !important;left:18px !important;width:auto;grid-template-columns:1fr;padding:22px;border-radius:28px;max-height:calc(100vh - 104px);overflow:auto}
  .nav a{min-height:56px}
}

/* Real imagery added to the prepared visual slots */
.image-frame,.card-photo{position:relative;overflow:hidden;background:var(--cream);border:1px solid rgba(255,255,255,.64);box-shadow:var(--shadow);isolation:isolate}
.image-frame{min-height:360px;border-radius:var(--radius)}
.image-frame.large{min-height:540px}
.image-frame::after,.card-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(47,25,13,.06),rgba(217,161,95,.12));pointer-events:none;mix-blend-mode:multiply}
.image-frame img,.card-photo img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0;transition:transform .5s ease}
.image-frame:hover img,.card-photo:hover img{transform:scale(1.035)}
.hero-photo{box-shadow:0 34px 95px rgba(0,0,0,.22)}
.portrait-photo img{object-position:center center}
.card-photo{height:190px;border-radius:24px;margin:-10px -10px 18px;box-shadow:none}
.card-photo img{position:absolute}
@media (max-width:800px){.image-frame.large{min-height:380px}.image-frame{min-height:300px}.card-photo{height:210px}}
@media (max-width:520px){.image-frame.large{min-height:320px}.image-frame{min-height:260px}.card-photo{height:190px}}

/* Full-body portrait treatment for the brewery guest image */
.image-frame.portrait-full{
  min-height:560px;
  max-width:470px;
  width:100%;
  justify-self:center;
  background:linear-gradient(135deg,#fff7ed,#eadcc9);
}
.image-frame.portrait-full img{
  object-fit:contain;
  object-position:center bottom;
  padding:10px;
}
@media (max-width:980px){
  .image-frame.portrait-full{max-width:520px;min-height:620px;}
}
@media (max-width:520px){
  .image-frame.portrait-full{min-height:500px;}
  .image-frame.portrait-full img{padding:8px;}
}

/* Photo composition refinement: show complete images instead of cutting important people/products */
.card-photo{
  height:auto;
  aspect-ratio:4 / 3;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 48%, rgba(255,255,255,.98), rgba(245,234,219,.72) 70%),
    linear-gradient(135deg, rgba(217,161,95,.12), rgba(95,47,24,.06));
}
.card-photo img{
  position:relative;
  inset:auto;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  padding:8px;
  background:transparent;
}
.card-photo::after{
  mix-blend-mode:normal;
  background:linear-gradient(135deg,rgba(47,25,13,.02),rgba(217,161,95,.08));
}
.content .image-frame:not(.hero-photo):not(.portrait-full){
  min-height:430px;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 48%, rgba(255,255,255,.96), rgba(245,234,219,.74) 72%),
    linear-gradient(135deg, rgba(217,161,95,.12), rgba(95,47,24,.06));
}
.content .image-frame:not(.hero-photo):not(.portrait-full) img{
  position:relative;
  inset:auto;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  padding:10px;
}
.content .image-frame:not(.hero-photo):not(.portrait-full)::after{
  mix-blend-mode:normal;
  background:linear-gradient(135deg,rgba(47,25,13,.025),rgba(217,161,95,.08));
}
.content.two-col .image-frame:not(.hero-photo):not(.portrait-full){
  align-self:stretch;
}
@media (max-width:800px){
  .content .image-frame:not(.hero-photo):not(.portrait-full){min-height:380px;}
  .card-photo{aspect-ratio:1 / 1;}
}

/* Final no-crop image rule for user-provided photos: keep every photo complete inside its elegant frame. */
.image-frame.portrait-photo{
  min-height:0;
  aspect-ratio:1 / 1;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 48%, rgba(255,255,255,.96), rgba(245,234,219,.76) 72%),
    linear-gradient(135deg, rgba(217,161,95,.12), rgba(95,47,24,.06));
}
.image-frame.portrait-photo img{
  position:relative;
  inset:auto;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  padding:10px;
  background:transparent;
}
.image-frame.portrait-photo::after{
  mix-blend-mode:normal;
  background:linear-gradient(135deg,rgba(47,25,13,.02),rgba(217,161,95,.08));
}
@media (max-width:800px){
  .image-frame.portrait-photo{aspect-ratio:1 / 1;}
}

/* Creative home motion slideshow: elegant movement, no image cropping. */
.hero-showcase{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(440px,1.08fr);
  gap:clamp(30px,5vw,76px);
  align-items:center;
  min-height:82vh;
}
.hero-slideshow{
  position:relative;
  z-index:1;
  min-height:clamp(430px,46vw,650px);
  border-radius:36px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.22);
  background:linear-gradient(135deg,rgba(255,248,239,.10),rgba(36,22,17,.52));
  box-shadow:0 38px 110px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.18);
  isolation:isolate;
}
.hero-slideshow::before{
  content:"";
  position:absolute;
  inset:-22%;
  background:radial-gradient(circle at 20% 20%,rgba(217,161,95,.30),transparent 28rem),radial-gradient(circle at 78% 72%,rgba(255,248,239,.20),transparent 20rem);
  animation:ambientDrift 12s ease-in-out infinite alternate;
  z-index:0;
}
.hero-slideshow::after{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:26px;
  pointer-events:none;
  z-index:4;
}
.slide{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  opacity:0;
  transform:scale(.985) translateY(18px);
  transition:opacity 1.1s ease, transform 1.1s ease;
  z-index:1;
}
.slide::before{
  content:"";
  position:absolute;
  inset:0;
  background:inherit;
  background-image:var(--slide-bg);
  background-size:cover;
  background-position:center;
  filter:blur(24px) saturate(1.05);
  transform:scale(1.12);
  opacity:.46;
}
.slide.is-active{
  opacity:1;
  transform:scale(1) translateY(0);
  z-index:2;
}
.slide img{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  padding:clamp(14px,2.2vw,28px);
  filter:drop-shadow(0 28px 48px rgba(0,0,0,.30));
  animation:photoFloat 6.8s ease-in-out infinite;
}
.slide:nth-child(1){--slide-bg:url('danny-dilani-toast.jpeg')}
.slide:nth-child(2){--slide-bg:url('brauerei-couple.jpeg')}
.slide:nth-child(3){--slide-bg:url('beer-tasting-glasses.jpeg')}
@keyframes ambientDrift{from{transform:translate3d(-2%,1%,0) scale(1)}to{transform:translate3d(2%,-1%,0) scale(1.04)}}
@keyframes photoFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.012)}}
@media (prefers-reduced-motion:reduce){.hero-slideshow::before,.slide img{animation:none}.slide{transition:none}}
@media (max-width:980px){
  .hero-showcase{grid-template-columns:1fr;min-height:auto}
  .hero-slideshow{min-height:560px;order:-1}
}
@media (max-width:620px){
  .hero-slideshow{min-height:430px;border-radius:28px}
  .hero-slideshow::after{inset:12px;border-radius:20px}
}

/* Embedded Tele Züri contribution: native controls, full frame visible, never cropped. */
.video-frame{
  display:grid;
  place-items:center;
  margin:-10px -10px 14px;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(95,47,24,.14);
  background:linear-gradient(135deg,#19100c,#3c2419);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.video-frame video{
  display:block;
  width:100%;
  height:auto;
  max-height:520px;
  object-fit:contain;
  background:#120c09;
}

/* Premium homepage slideshow replacement: manual switching, cinematic, and never cropped. */
.hero-luxury{
  min-height:calc(100vh - 86px);
  grid-template-columns:minmax(360px,.72fr) minmax(520px,1.28fr);
  gap:clamp(34px,5.5vw,88px);
  padding-top:clamp(58px,7vw,96px);
  padding-bottom:clamp(58px,7vw,96px);
  background:
    radial-gradient(circle at 10% 16%,rgba(217,161,95,.22),transparent 26rem),
    radial-gradient(circle at 86% 18%,rgba(255,248,239,.10),transparent 24rem),
    linear-gradient(135deg,#1b100d 0%,#4a281a 52%,#7b4727 100%);
}
.hero-luxury::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.30),transparent 58%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 96px);
  pointer-events:none;
}
.hero-luxury .luxury-copy{
  position:relative;
  z-index:3;
  max-width:620px;
  padding:clamp(10px,2vw,22px) 0;
}
.hero-luxury .luxury-copy h1{
  font-size:clamp(3.1rem,5.4vw,6.9rem);
  letter-spacing:-.065em;
  text-wrap:balance;
}
.hero-luxury .luxury-copy p:not(.eyebrow){max-width:560px;color:rgba(255,249,241,.82)}

.premium-carousel{
  min-height:clamp(560px,50vw,760px);
  border-radius:42px;
  padding:0;
  overflow:visible;
  background:transparent;
  border:0;
  box-shadow:none;
  isolation:isolate;
}
.premium-carousel::before{
  content:"";
  position:absolute;
  inset:8% 4% -6% 8%;
  border-radius:44px;
  background:linear-gradient(135deg,rgba(255,248,239,.14),rgba(217,161,95,.09));
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 38px 110px rgba(0,0,0,.34);
  transform:rotate(-1.2deg);
  animation:premiumGlow 9s ease-in-out infinite alternate;
}
.premium-carousel::after{display:none}
.carousel-radio{position:absolute;opacity:0;pointer-events:none}
.carousel-viewport{
  position:absolute;
  inset:0;
  border-radius:42px;
  overflow:hidden;
  background:linear-gradient(145deg,rgba(255,248,239,.12),rgba(36,22,17,.58));
  border:1px solid rgba(255,255,255,.24);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20);
}
.premium-carousel .slide{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  margin:0;
  padding:clamp(22px,3vw,42px);
  opacity:0 !important;
  transform:translateX(4%) scale(.965) rotate(.4deg) !important;
  transition:opacity .65s ease,transform .75s cubic-bezier(.2,.85,.2,1);
  z-index:1;
  pointer-events:none;
}
.premium-carousel .slide::before{display:none}
.premium-carousel .slide-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  filter:blur(28px) saturate(1.08) brightness(.82);
  transform:scale(1.13);
  opacity:.68;
}
.premium-carousel .slide-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 48%,transparent 0 36%,rgba(23,17,13,.42) 78%),
    linear-gradient(135deg,rgba(36,22,17,.38),rgba(217,161,95,.12));
}
.premium-carousel .slide img{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  max-height:calc(clamp(560px,50vw,760px) - 84px);
  object-fit:contain;
  object-position:center center;
  padding:0;
  border-radius:30px;
  filter:drop-shadow(0 34px 58px rgba(0,0,0,.38));
  animation:none;
}
.premium-carousel figcaption{
  position:absolute;
  left:clamp(28px,3vw,48px);
  bottom:clamp(28px,3vw,48px);
  z-index:5;
  display:flex;
  align-items:center;
  gap:14px;
  max-width:min(78%,560px);
  padding:13px 17px;
  border-radius:999px;
  background:rgba(255,248,239,.88);
  color:var(--espresso);
  border:1px solid rgba(255,255,255,.50);
  box-shadow:0 18px 42px rgba(0,0,0,.20);
  backdrop-filter:blur(14px);
}
.premium-carousel figcaption span{display:none}
.premium-carousel figcaption strong{line-height:1.15;font-size:clamp(.98rem,1.3vw,1.16rem)}
#home-slide-1:checked ~ .carousel-viewport .slide-1,
#home-slide-2:checked ~ .carousel-viewport .slide-2,
#home-slide-3:checked ~ .carousel-viewport .slide-3{
  opacity:1 !important;
  transform:translateX(0) scale(1) rotate(0) !important;
  z-index:3;
  pointer-events:auto;
}
.carousel-arrows{
  position:absolute;
  inset:0;
  z-index:8;
  pointer-events:none;
}
.arrow-pair{display:none;position:absolute;inset:0;align-items:center;justify-content:space-between;padding:0 clamp(14px,2vw,26px)}
#home-slide-1:checked ~ .carousel-arrows .for-1,
#home-slide-2:checked ~ .carousel-arrows .for-2,
#home-slide-3:checked ~ .carousel-arrows .for-3{display:flex}
.carousel-arrow{
  pointer-events:auto;
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:999px;
  background:rgba(255,248,239,.82);
  color:var(--espresso);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 18px 42px rgba(0,0,0,.22);
  backdrop-filter:blur(14px);
  font-size:2.35rem;
  line-height:1;
  cursor:pointer;
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease;
  user-select:none;
}
.carousel-arrow:hover{transform:scale(1.08);background:#fff8ef;box-shadow:0 24px 52px rgba(0,0,0,.26)}
.carousel-dots{
  position:absolute;
  right:clamp(26px,3vw,46px);
  top:clamp(26px,3vw,46px);
  z-index:9;
  display:flex;
  gap:10px;
  padding:9px;
  border-radius:999px;
  background:rgba(23,17,13,.34);
  border:1px solid rgba(255,255,255,.20);
  backdrop-filter:blur(14px);
}
.carousel-dots label{
  display:block;
  width:12px;
  height:12px;
  border-radius:999px;
  background:rgba(255,248,239,.48);
  border:1px solid rgba(255,255,255,.45);
  cursor:pointer;
  transition:width .22s ease,background .22s ease,transform .22s ease;
}
.carousel-dots label:hover{transform:translateY(-1px);background:#fff8ef}
#home-slide-1:checked ~ .carousel-dots label[for="home-slide-1"],
#home-slide-2:checked ~ .carousel-dots label[for="home-slide-2"],
#home-slide-3:checked ~ .carousel-dots label[for="home-slide-3"]{
  width:34px;
  background:linear-gradient(135deg,#f0bc7b,var(--gold));
}
@keyframes premiumGlow{from{transform:rotate(-1.2deg) translate3d(-6px,4px,0)}to{transform:rotate(.8deg) translate3d(8px,-5px,0)}}
@media(max-width:980px){
  .hero-luxury{grid-template-columns:1fr;min-height:auto}
  .premium-carousel{order:-1;min-height:clamp(500px,78vw,720px)}
  .premium-carousel .slide img{max-height:calc(clamp(500px,78vw,720px) - 72px)}
}
@media(max-width:620px){
  .hero-luxury{padding-top:38px;padding-bottom:52px}
  .premium-carousel{min-height:440px;border-radius:30px}
  .carousel-viewport{border-radius:30px}
  .premium-carousel .slide{padding:16px}
  .premium-carousel .slide img{max-height:408px;border-radius:22px}
  .premium-carousel figcaption{left:16px;right:16px;bottom:16px;max-width:none;border-radius:22px}
  .carousel-dots{top:14px;right:14px}
  .carousel-dots label{width:11px;height:11px}
  #home-slide-1:checked ~ .carousel-dots label[for="home-slide-1"],
  #home-slide-2:checked ~ .carousel-dots label[for="home-slide-2"],
  #home-slide-3:checked ~ .carousel-dots label[for="home-slide-3"]{width:30px}
  .carousel-arrow{width:44px;height:44px;font-size:1.9rem}
}

/* Mobile stability polish: phone layout, popup menu, and no-horizontal-scroll fixes */
html,body{max-width:100%;overflow-x:hidden}

@media(max-width:760px){
  body{font-size:16px;line-height:1.62}
  .site-header{
    padding:10px 14px;
    gap:10px;
    min-height:70px;
  }
  .brand{gap:9px;min-width:0;font-size:1rem;letter-spacing:-.02em}
  .brand span:last-child{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .brand-logo-frame{width:66px;height:46px;border-radius:16px;flex:0 0 auto}
  .brand-logo-frame::before{inset:4px;border-radius:12px}
  .brand-logo{width:58px}
  .menu-toggle{
    position:relative;
    z-index:101;
    flex:0 0 auto;
    width:auto;
    min-width:48px;
    min-height:46px;
    padding:10px 13px;
    border-radius:16px;
    touch-action:manipulation;
  }
  .nav{
    top:74px !important;
    left:12px !important;
    right:12px !important;
    width:auto !important;
    max-height:calc(100dvh - 92px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    grid-template-columns:1fr !important;
    gap:10px;
    padding:18px !important;
    border-radius:26px;
  }
  .nav::before{font-size:1.32rem;margin-bottom:2px}
  .nav::after{right:24px}
  .nav a{
    min-height:52px !important;
    padding:13px 14px !important;
    border-radius:18px;
    font-size:.95rem;
  }
  .nav a::before{width:28px;height:28px;margin-right:9px;border-radius:10px}
  body.menu-open{overflow:hidden}

  .hero,.section,.newsletter,.content,.page-hero{padding-left:18px;padding-right:18px}
  .hero,.section,.newsletter{padding-top:48px;padding-bottom:48px}
  .page-hero{padding-top:52px;padding-bottom:38px}
  .content{padding-top:34px;padding-bottom:42px}
  .split,.two-col,.cards-3,.grid-3,.grid-2{grid-template-columns:1fr !important;gap:24px}

  .hero-luxury{
    padding-top:28px;
    padding-bottom:44px;
    min-height:auto;
    gap:28px;
  }
  .hero-luxury .luxury-copy{padding:0;max-width:100%}
  .hero-luxury .luxury-copy h1,
  .hero h1{
    font-size:clamp(2.15rem,11vw,3.35rem);
    line-height:1.02;
    letter-spacing:-.055em;
    margin-bottom:18px;
  }
  .hero p{font-size:1rem;max-width:100%}
  .actions{gap:10px;margin-top:22px}
  .actions .btn{width:100%;min-height:50px}

  .premium-carousel{
    order:-1;
    width:100%;
    min-height:0 !important;
    height:clamp(360px,82vw,500px);
    border-radius:28px;
  }
  .premium-carousel::before{inset:7% 4% -4% 5%;border-radius:30px}
  .carousel-viewport{border-radius:28px}
  .premium-carousel .slide{padding:14px !important}
  .premium-carousel .slide img{
    width:100%;
    height:100%;
    max-height:none !important;
    object-fit:contain;
    border-radius:20px;
  }
  .premium-carousel figcaption{
    left:14px;
    right:14px;
    bottom:14px;
    max-width:none;
    padding:10px 13px;
    border-radius:18px;
  }
  .premium-carousel figcaption strong{font-size:.92rem}
  .carousel-dots{top:12px;right:12px;gap:8px;padding:8px}
  .carousel-dots label{width:10px;height:10px}
  #home-slide-1:checked ~ .carousel-dots label[for="home-slide-1"],
  #home-slide-2:checked ~ .carousel-dots label[for="home-slide-2"],
  #home-slide-3:checked ~ .carousel-dots label[for="home-slide-3"]{width:26px}
  .arrow-pair{padding:0 8px}
  .carousel-arrow{width:42px;height:42px;font-size:1.8rem}

  .section h2,.content h2,.newsletter h2,.page-hero h1{font-size:clamp(1.8rem,9vw,2.6rem);line-height:1.08}
  .card,.info-card,.product-card,.post-card,.form{padding:22px;border-radius:24px}
  .product-card .media-placeholder,.post-card .media-placeholder{min-height:180px}
  .image-frame,.image-frame.large,.content .image-frame:not(.hero-photo):not(.portrait-full){
    min-height:0 !important;
    aspect-ratio:1 / 1;
  }
  .image-frame img,.content .image-frame:not(.hero-photo):not(.portrait-full) img,.card-photo img{
    object-fit:contain !important;
    max-width:100%;
  }
  .image-frame.portrait-full{min-height:0 !important;aspect-ratio:4 / 5;max-width:100%}
  .image-frame.portrait-photo{aspect-ratio:1 / 1;max-width:100%}
  .card-photo{height:auto;aspect-ratio:1 / 1}

  .inline-form{display:grid;grid-template-columns:1fr;gap:12px}
  .inline-form input,.inline-form button,.form input,.form select,.form textarea,.form button{width:100%}
  .price-row{display:block}
  .price-row span{display:block;text-align:left;margin-top:4px}
  .footer{padding-left:18px;padding-right:18px}
  .video-frame video{width:100%;height:auto;max-height:70dvh;object-fit:contain}
}

@media(max-width:390px){
  .brand span:last-child{display:none}
  .premium-carousel{height:350px}
  .hero-luxury .luxury-copy h1,.hero h1{font-size:2.05rem}
  .btn,button{padding:12px 18px}
}

/* Mobile centering correction: keep homepage carousel perfectly centered on phones. */
@media(max-width:760px){
  .hero-luxury{
    justify-items:stretch;
  }
  .hero-luxury > *{
    width:100%;
  }
  .premium-carousel{
    justify-self:center;
    align-self:start;
    width:min(100%, 430px);
    margin-inline:auto;
  }
  .premium-carousel::before{
    inset:14px;
    border-radius:28px;
    transform:none;
    animation:none;
  }
  .carousel-viewport{
    inset:0;
    width:100%;
  }
  .premium-carousel .slide,
  .premium-carousel .slide img{
    margin-inline:auto;
  }
}

@media(max-width:430px){
  .premium-carousel{
    width:min(100%, 100%);
    max-width:390px;
  }
  .premium-carousel::before{
    inset:12px;
  }
}



/* WhatsApp polish: icons in WhatsApp action buttons plus a fixed bottom contact button. */
.whatsapp-icon{
  display:inline-grid;
  place-items:center;
  width:1.28em;
  height:1.28em;
  flex:0 0 auto;
}
.whatsapp-icon svg{
  display:block;
  width:100%;
  height:100%;
  fill:currentColor;
}
.whatsapp-button{
  gap:10px;
}
.whatsapp-float{
  position:fixed;
  right:clamp(18px,3vw,34px);
  bottom:clamp(18px,3vw,34px);
  z-index:60;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:54px;
  padding:14px 20px;
  border-radius:999px;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.01em;
  color:#fff;
  background:linear-gradient(135deg,#1fa855,#108c42);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 18px 44px rgba(16,140,66,.30), inset 0 1px 0 rgba(255,255,255,.22);
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.whatsapp-float:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 58px rgba(16,140,66,.36), inset 0 1px 0 rgba(255,255,255,.24);
  filter:saturate(1.05);
}
.whatsapp-float .whatsapp-icon{
  width:1.45em;
  height:1.45em;
}
@media(max-width:620px){
  .whatsapp-float{
    right:16px;
    bottom:16px;
    min-height:50px;
    padding:13px 16px;
    box-shadow:0 14px 34px rgba(16,140,66,.32), inset 0 1px 0 rgba(255,255,255,.22);
  }
  .whatsapp-float span:last-child{
    display:none;
  }
  .whatsapp-float .whatsapp-icon{
    width:1.55em;
    height:1.55em;
  }
}


/* FINAL mobile premium correction: centered phone hero, no sideways overflow, and cleaner text scale. */
@media(max-width:760px){
  body{overflow-x:hidden}
  .hero-luxury{
    display:flex !important;
    flex-direction:column;
    align-items:center !important;
    justify-content:flex-start;
    text-align:center;
    padding-left:16px !important;
    padding-right:16px !important;
    padding-top:28px !important;
    gap:26px !important;
    width:100%;
  }
  .hero-luxury .luxury-copy{
    width:100%;
    max-width:390px;
    margin:0 auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
  }
  .hero-luxury .luxury-copy .eyebrow{
    text-align:center;
    letter-spacing:.15em;
    font-size:.72rem;
    line-height:1.45;
  }
  .hero-luxury .luxury-copy h1{
    max-width:100%;
    font-size:clamp(2rem,9.2vw,2.95rem) !important;
    line-height:1.04 !important;
    letter-spacing:-.052em !important;
    text-align:center;
    overflow-wrap:break-word;
    hyphens:auto;
  }
  .hero-luxury .luxury-copy p:not(.eyebrow){
    text-align:center;
    max-width:34ch;
    margin-left:auto;
    margin-right:auto;
  }
  .hero-luxury .actions{
    width:100%;
    max-width:360px;
    margin-left:auto;
    margin-right:auto;
  }
  .premium-carousel{
    order:0 !important;
    display:block !important;
    width:calc(100vw - 32px) !important;
    max-width:390px !important;
    height:420px !important;
    min-height:0 !important;
    margin:0 auto !important;
    align-self:center !important;
    justify-self:center !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    overflow:visible;
  }
  .premium-carousel::before{
    inset:10px !important;
    border-radius:30px !important;
    transform:none !important;
    animation:none !important;
  }
  .carousel-viewport{
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    border-radius:30px !important;
    margin:0 auto !important;
  }
  .premium-carousel .slide{
    inset:0 !important;
    padding:14px !important;
    width:100% !important;
    height:100% !important;
  }
  .premium-carousel .slide img{
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:0 auto !important;
  }
  .premium-carousel figcaption{
    left:16px !important;
    right:16px !important;
    bottom:16px !important;
    justify-content:center;
    text-align:center;
  }
}
@media(max-width:390px){
  .premium-carousel{height:390px !important;max-width:360px !important}
}

/* FINAL mobile Über uns order: keep the photo directly under the Über uns intro, before the long text. */
@media(max-width:760px){
  #ueber-uns{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
    align-items:start;
  }
  #ueber-uns > div{display:contents}
  #ueber-uns .eyebrow{order:1;text-align:center;margin-bottom:0}
  #ueber-uns h2{order:2;text-align:center;margin-bottom:6px}
  #ueber-uns > div > p:first-of-type{order:3;text-align:center;margin:0 auto 8px;max-width:34ch}
  #ueber-uns > .image-frame{
    order:4;
    width:min(100%,340px);
    justify-self:center;
    margin:8px auto 16px;
  }
  #ueber-uns h3{order:5;text-align:left;margin-top:4px}
  #ueber-uns > div > p:not(:first-of-type){order:6;text-align:left}
}

/* FINAL social popup: polished compact button with expandable social contacts. */
.whatsapp-float{display:none !important}
.social-pop{
  position:fixed;
  right:clamp(18px,4vw,34px);
  bottom:clamp(18px,4vw,34px);
  z-index:120;
  display:grid;
  justify-items:end;
  gap:12px;
}
.social-pop-check{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.social-main{
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:
    radial-gradient(circle at 35% 28%,rgba(255,255,255,.26),transparent 32%),
    linear-gradient(135deg,#25d366,#128c4a);
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 20px 46px rgba(18,140,74,.34), inset 0 1px 0 rgba(255,255,255,.28);
  cursor:pointer;
  transition:transform .22s ease,box-shadow .22s ease;
}
.social-main:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 26px 58px rgba(18,140,74,.40), inset 0 1px 0 rgba(255,255,255,.30)}
.social-main .whatsapp-icon{width:31px;height:31px}
.social-panel{
  display:grid;
  gap:9px;
  min-width:218px;
  padding:12px;
  border-radius:26px;
  background:rgba(255,253,249,.94);
  border:1px solid rgba(217,161,95,.34);
  box-shadow:0 28px 72px rgba(23,17,13,.24), inset 0 1px 0 rgba(255,255,255,.84);
  backdrop-filter:blur(18px) saturate(145%);
  transform:translateY(10px) scale(.96);
  transform-origin:bottom right;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
}
.social-pop:hover .social-panel,
.social-pop:focus-within .social-panel,
.social-pop-check:checked ~ .social-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.social-item{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:46px;
  padding:10px 12px;
  border-radius:18px;
  text-decoration:none;
  font-weight:900;
  color:var(--espresso);
  background:rgba(255,255,255,.66);
  border:1px solid rgba(95,47,24,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.80);
}
.social-item:hover{background:linear-gradient(135deg,rgba(217,161,95,.22),rgba(255,255,255,.82))}
.social-item .whatsapp-icon,
.social-item .social-icon{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  color:#128c4a;
  font-size:1.15rem;
}
@media(max-width:760px){
  .social-pop{
    right:16px;
    bottom:calc(16px + env(safe-area-inset-bottom));
  }
  .social-main{
    width:56px;
    height:56px;
  }
  .social-main .whatsapp-icon{width:28px;height:28px}
  .social-panel{
    min-width:205px;
    border-radius:24px;
  }
}


/* LAST MOBILE FIX: slideshow first, centered, text stable, contact popup bottom-right and closeable. */
@media(max-width:760px){
  .hero-luxury{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    max-width:100vw !important;
    padding:22px 16px 44px !important;
    gap:24px !important;
    text-align:center !important;
    overflow:hidden !important;
  }
  .hero-luxury .premium-carousel{
    order:-1 !important;
    flex:0 0 auto !important;
    width:min(100%,392px) !important;
    max-width:392px !important;
    height:clamp(330px,78vw,430px) !important;
    min-height:0 !important;
    margin:0 auto 6px !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    align-self:center !important;
    justify-self:center !important;
  }
  .hero-luxury .carousel-viewport{
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
  }
  .hero-luxury .premium-carousel::before{
    inset:10px !important;
    transform:none !important;
  }
  .hero-luxury .luxury-copy{
    order:0 !important;
    width:100% !important;
    max-width:392px !important;
    margin:0 auto !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    text-align:center !important;
  }
  .hero-luxury .luxury-copy .eyebrow{
    max-width:28ch !important;
    margin:0 auto 12px !important;
    text-align:center !important;
    font-size:.78rem !important;
    letter-spacing:.16em !important;
  }
  .hero-luxury .luxury-copy h1{
    max-width:9.2em !important;
    margin:0 auto 16px !important;
    text-align:center !important;
    font-size:clamp(2.15rem,10vw,3.15rem) !important;
    line-height:1.02 !important;
    letter-spacing:-.055em !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    hyphens:auto !important;
  }
  .hero-luxury .luxury-copy p:not(.eyebrow){
    max-width:31ch !important;
    margin:0 auto !important;
    text-align:center !important;
    font-size:1rem !important;
    line-height:1.55 !important;
  }
  .hero-luxury .actions{
    width:100% !important;
    max-width:340px !important;
    margin:22px auto 0 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .hero-luxury .actions .btn{
    width:100% !important;
  }
}

@media(max-width:390px){
  .hero-luxury .premium-carousel{
    width:100% !important;
    max-width:360px !important;
    height:350px !important;
  }
  .hero-luxury .luxury-copy h1{
    font-size:2.12rem !important;
  }
}

/* Closeable social popup: no hover/focus auto-open, always fixed at the bottom-right. */
.social-pop{
  position:fixed !important;
  right:18px !important;
  bottom:calc(18px + env(safe-area-inset-bottom)) !important;
  z-index:999 !important;
  display:grid !important;
  justify-items:end !important;
  gap:10px !important;
  pointer-events:none !important;
}
.social-main{
  pointer-events:auto !important;
  position:relative !important;
  width:58px !important;
  height:58px !important;
  border:0 !important;
  padding:0 !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  color:#fff !important;
  background:linear-gradient(135deg,#25d366,#128c4a) !important;
  box-shadow:0 18px 44px rgba(18,140,74,.36),0 0 0 8px rgba(37,211,102,.10) !important;
}
.social-main::after{content:none !important}
.social-main .whatsapp-icon{width:30px !important;height:30px !important}
.social-plus{
  position:absolute;
  right:-3px;
  top:-4px;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff8ef;
  color:#128c4a;
  font-weight:900;
  font-size:18px;
  line-height:1;
  box-shadow:0 8px 18px rgba(23,17,13,.18);
  transition:transform .22s ease;
}
.social-pop.open .social-plus{transform:rotate(45deg)}
.social-panel{
  pointer-events:none !important;
  position:absolute !important;
  right:0 !important;
  bottom:72px !important;
  min-width:222px !important;
  max-width:calc(100vw - 34px) !important;
  padding:10px !important;
  border-radius:24px !important;
  opacity:0 !important;
  visibility:hidden !important;
  transform:translateY(8px) scale(.96) !important;
  transform-origin:bottom right !important;
  transition:opacity .22s ease,transform .22s ease,visibility .22s ease !important;
}
.social-pop:hover .social-panel,
.social-pop:focus-within .social-panel,
.social-pop-check:checked ~ .social-panel{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(8px) scale(.96) !important;
}
.social-pop.open .social-panel{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) scale(1) !important;
}
.social-item{
  min-height:44px !important;
  border-radius:16px !important;
  font-size:.94rem !important;
}
@media(max-width:760px){
  .social-pop{
    right:14px !important;
    bottom:calc(18px + env(safe-area-inset-bottom)) !important;
  }
  .social-main{
    width:54px !important;
    height:54px !important;
  }
  .social-main .whatsapp-icon{width:28px !important;height:28px !important}
  .social-panel{
    bottom:66px !important;
    min-width:210px !important;
  }
}


/* Elegant map overview for the contact page. */
.map-section{padding-top:28px}
.map-overview-card{
  max-width:var(--max);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(300px,.9fr) minmax(360px,1.1fr);
  gap:clamp(24px,4vw,48px);
  align-items:stretch;
  padding:clamp(22px,3vw,36px);
  border-radius:34px;
  border:1px solid rgba(95,47,24,.16);
  background:
    radial-gradient(circle at 12% 14%,rgba(217,161,95,.18),transparent 20rem),
    linear-gradient(135deg,rgba(255,253,249,.92),rgba(245,234,219,.78));
  box-shadow:var(--shadow);
  overflow:hidden;
}
.map-visual{
  position:relative;
  min-height:360px;
  border-radius:28px;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(95,47,24,.08) 1px,transparent 1px),
    linear-gradient(rgba(95,47,24,.08) 1px,transparent 1px),
    radial-gradient(circle at 45% 48%,rgba(217,161,95,.34),transparent 9rem),
    linear-gradient(135deg,#fff8ef,#ead9c5);
  background-size:54px 54px,54px 54px,auto,auto;
  border:1px solid rgba(95,47,24,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82);
}
.map-visual::before{
  content:"";
  position:absolute;
  inset:22px;
  border-radius:22px;
  border:1px dashed rgba(95,47,24,.24);
}
.map-pin{
  position:absolute;
  left:50%;top:48%;
  transform:translate(-50%,-50%);
  z-index:4;
  display:grid;
  place-items:center;
  width:82px;height:82px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--espresso),var(--mahogany) 60%,var(--gold));
  color:#fff8ef;
  font-size:2.5rem;
  box-shadow:0 24px 55px rgba(95,47,24,.28),0 0 0 16px rgba(217,161,95,.14);
}
.map-pin::after{
  content:"Bolt Bier-Art";
  position:absolute;
  top:92px;
  white-space:nowrap;
  padding:8px 13px;
  border-radius:999px;
  background:rgba(255,253,249,.90);
  color:var(--espresso);
  font-size:.82rem;
  font-weight:900;
  box-shadow:0 12px 28px rgba(39,22,12,.10);
}
.map-route{
  position:absolute;
  height:12px;
  border-radius:999px;
  background:rgba(185,118,63,.34);
  box-shadow:0 0 0 1px rgba(255,255,255,.45) inset;
}
.route-one{width:74%;left:-8%;top:32%;transform:rotate(18deg)}
.route-two{width:88%;right:-14%;bottom:30%;transform:rotate(-16deg);background:rgba(36,60,50,.24)}
.route-three{width:58%;left:20%;top:62%;transform:rotate(38deg);background:rgba(217,161,95,.36)}
.map-details{align-self:center}
.map-details h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.6vw,3.7rem);line-height:1.03;letter-spacing:-.045em;margin:0 0 18px}
.map-details p{color:var(--muted)}
.address-card{
  display:flex;
  align-items:center;
  gap:14px;
  margin:24px 0;
  padding:17px 18px;
  border-radius:22px;
  background:rgba(255,255,255,.66);
  border:1px solid rgba(95,47,24,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.address-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:16px;background:rgba(217,161,95,.20);font-size:1.5rem;flex:0 0 auto}
.address-card strong,.address-card span{display:block}.address-card span{color:var(--muted)}
.map-actions{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:820px){
  .map-overview-card{grid-template-columns:1fr;padding:20px;border-radius:28px}
  .map-visual{min-height:280px;order:2}
  .map-actions .btn{width:100%}
}

/* Luxury menu button upgrade only: premium Swiss-lounge feel, rest untouched. */
.menu-toggle{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-width:128px;
  min-height:54px;
  padding:0 18px 0 20px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,226,177,.52) !important;
  background:
    linear-gradient(135deg,rgba(255,231,189,.18),rgba(255,255,255,.04) 20%,rgba(64,30,18,.08) 36%),
    radial-gradient(circle at 24% 12%,rgba(255,226,177,.40),transparent 34%),
    linear-gradient(135deg,#1b0d08 0%,#4a2112 45%,#7a3f20 100%) !important;
  color:#fff8ed !important;
  box-shadow:
    0 18px 42px rgba(79,38,20,.30),
    0 5px 14px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -12px 24px rgba(0,0,0,.16) !important;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-size:0 !important;
}
.menu-toggle::before{
  content:"Menu" !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  font-size:.76rem !important;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-right:13px;
  text-shadow:0 1px 12px rgba(255,226,177,.28);
}
.menu-toggle::after{
  content:"" !important;
  width:31px;
  height:31px;
  flex:0 0 31px;
  border-radius:999px;
  background:
    linear-gradient(#fff8ed,#fff8ed) center 9px/15px 2px no-repeat,
    linear-gradient(#fff8ed,#fff8ed) center 15px/15px 2px no-repeat,
    linear-gradient(#fff8ed,#fff8ed) center 21px/15px 2px no-repeat,
    radial-gradient(circle at 35% 24%,rgba(255,255,255,.48),transparent 36%),
    rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.24);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 10px 20px rgba(0,0,0,.16);
  transform:none !important;
  transition:transform .28s ease, background .28s ease;
}
.menu-toggle span{position:relative;z-index:2}
.menu-toggle:before,.menu-toggle:after{position:relative;z-index:2}
.menu-toggle:hover{
  transform:translateY(-3px) scale(1.015) !important;
  box-shadow:
    0 24px 54px rgba(79,38,20,.38),
    0 8px 18px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.38),
    inset 0 -12px 24px rgba(0,0,0,.14) !important;
}
.menu-toggle[aria-expanded="true"]::before{content:"Close" !important;}
.menu-toggle[aria-expanded="true"]::after{
  background:
    linear-gradient(#fff8ed,#fff8ed) center/17px 2px no-repeat,
    linear-gradient(#fff8ed,#fff8ed) center/17px 2px no-repeat,
    radial-gradient(circle at 35% 24%,rgba(255,255,255,.48),transparent 36%),
    rgba(255,255,255,.12);
  transform:rotate(45deg) !important;
}
.menu-toggle[aria-expanded="true"]::after{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 10px 20px rgba(0,0,0,.16);
}
.menu-toggle[aria-expanded="true"]{
  background:
    radial-gradient(circle at 24% 12%,rgba(255,226,177,.38),transparent 34%),
    linear-gradient(135deg,#7a3f20 0%,#4a2112 50%,#1b0d08 100%) !important;
}
.menu-toggle::marker{display:none}
.menu-toggle:empty::before{content:"Menu" !important;}
.site-header .menu-toggle{
  backdrop-filter:blur(18px) saturate(150%);
}
.site-header .menu-toggle:before{
  animation:menuTextGlow 4.8s ease-in-out infinite alternate;
}
.site-header .menu-toggle:after{
  animation:menuIconBreath 4.8s ease-in-out infinite alternate;
}
.menu-toggle .unused{display:none}
@keyframes menuTextGlow{from{text-shadow:0 1px 10px rgba(255,226,177,.20)}to{text-shadow:0 1px 18px rgba(255,226,177,.48)}}
@keyframes menuIconBreath{from{filter:drop-shadow(0 0 0 rgba(255,226,177,0))}to{filter:drop-shadow(0 0 9px rgba(255,226,177,.28))}}

.nav{
  border-color:rgba(255,226,177,.38) !important;
  background:
    radial-gradient(circle at 12% 0%,rgba(255,226,177,.28),transparent 18rem),
    linear-gradient(145deg,rgba(255,253,249,.985),rgba(255,244,229,.955)) !important;
  box-shadow:
    0 42px 110px rgba(23,17,13,.34),
    0 12px 30px rgba(95,47,24,.15),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
}
.nav a{
  background:linear-gradient(135deg,rgba(255,255,255,.74),rgba(255,248,239,.46)) !important;
}
.nav a:hover,.nav a.active{
  background:linear-gradient(135deg,rgba(255,226,177,.34),rgba(255,255,255,.80)) !important;
}

@media(max-width:760px){
  .menu-toggle{
    min-width:82px !important;
    min-height:58px !important;
    padding:0 12px !important;
    border-radius:22px !important;
    gap:8px !important;
  }
  .menu-toggle::before{
    content:"" !important;
    width:18px;
    height:18px;
    margin:0 2px 0 0;
    border-radius:7px;
    background:
      linear-gradient(#fff8ed,#fff8ed) center 4px/18px 2px no-repeat,
      linear-gradient(#fff8ed,#fff8ed) center 9px/18px 2px no-repeat,
      linear-gradient(#fff8ed,#fff8ed) center 14px/18px 2px no-repeat !important;
  }
  .menu-toggle::after{
    width:30px;
    height:30px;
    flex-basis:30px;
    background:
      linear-gradient(#fff8ed,#fff8ed) 12px center/13px 2px no-repeat,
      linear-gradient(45deg,transparent 48%,#fff8ed 49% 58%,transparent 59%) 14px 8px/10px 10px no-repeat,
      linear-gradient(-45deg,transparent 48%,#fff8ed 49% 58%,transparent 59%) 14px 12px/10px 10px no-repeat,
      radial-gradient(circle at 35% 24%,rgba(255,255,255,.45),transparent 36%),
      rgba(255,255,255,.10) !important;
  }
  .menu-toggle[aria-expanded="true"]::before{
    content:"" !important;
    background:
      linear-gradient(45deg,transparent 44%,#fff8ed 45% 55%,transparent 56%) center/20px 20px no-repeat,
      linear-gradient(-45deg,transparent 44%,#fff8ed 45% 55%,transparent 56%) center/20px 20px no-repeat !important;
  }
  .menu-toggle[aria-expanded="true"]::after{transform:rotate(45deg) !important;}
}

/* Gastronomie creative photo feature + shop PDF overview, added without changing existing content. */
.gastro-feature-section{padding-top:18px}
.gastro-showpiece{
  max-width:var(--max);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);
  gap:clamp(24px,4vw,54px);
  align-items:center;
  padding:clamp(18px,2.6vw,30px);
  border-radius:38px;
  border:1px solid rgba(217,161,95,.30);
  background:
    radial-gradient(circle at 18% 8%,rgba(217,161,95,.20),transparent 22rem),
    linear-gradient(135deg,rgba(255,253,249,.92),rgba(245,234,219,.78));
  box-shadow:var(--shadow);
  overflow:hidden;
}
.gastro-panorama{
  position:relative;
  min-height:430px;
  margin:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(95,47,24,.14);
  background:linear-gradient(135deg,#21130f,#5a321d);
  box-shadow:0 28px 70px rgba(39,22,12,.18),inset 0 1px 0 rgba(255,255,255,.18);
}
.gastro-panorama::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:url('gastronomie-brau-stuebli-overview.jpg');
  background-size:cover;
  background-position:center;
  filter:blur(24px) saturate(1.05) brightness(.78);
  transform:scale(1.10);
  opacity:.70;
}
.gastro-panorama::after{
  content:"";
  position:absolute;
  inset:16px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.22);
  pointer-events:none;
}
.gastro-halo{
  position:absolute;
  inset:auto 10% -20% 10%;
  height:160px;
  border-radius:50%;
  background:rgba(217,161,95,.24);
  filter:blur(28px);
}
.gastro-panorama img{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  max-height:470px;
  object-fit:contain;
  object-position:center;
  padding:14px;
  border-radius:26px;
  filter:drop-shadow(0 24px 44px rgba(0,0,0,.30));
}
.gastro-feature-copy h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.6vw,3.8rem);line-height:1.03;letter-spacing:-.045em;margin:0 0 18px}
.gastro-feature-copy p:not(.eyebrow){color:var(--muted)}
.shop-price-section{padding-top:0}
.price-overview-card{
  max-width:var(--max);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(320px,.88fr) minmax(0,1.12fr);
  gap:clamp(24px,4vw,54px);
  align-items:stretch;
  padding:clamp(22px,3vw,34px);
  border-radius:38px;
  border:1px solid rgba(217,161,95,.30);
  background:
    radial-gradient(circle at 12% 0%,rgba(217,161,95,.20),transparent 20rem),
    linear-gradient(135deg,rgba(255,253,249,.94),rgba(245,234,219,.78));
  box-shadow:var(--shadow);
}
.price-overview-copy h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.6vw,3.8rem);line-height:1.03;letter-spacing:-.045em;margin:0 0 18px}
.price-overview-copy p:not(.eyebrow){color:var(--muted)}
.price-pills{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 26px}
.price-pills span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  border-radius:999px;
  padding:8px 13px;
  background:rgba(255,255,255,.70);
  border:1px solid rgba(95,47,24,.12);
  color:var(--espresso);
  font-weight:850;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.pdf-preview-card{
  display:grid;
  gap:10px;
  padding:14px;
  border-radius:30px;
  background:linear-gradient(135deg,rgba(36,22,17,.08),rgba(217,161,95,.10));
  border:1px solid rgba(95,47,24,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
.pdf-preview{
  width:100%;
  min-height:560px;
  border:0;
  border-radius:22px;
  background:#fff;
  box-shadow:0 20px 55px rgba(39,22,12,.12);
}
@media(max-width:900px){
  .gastro-showpiece,.price-overview-card{grid-template-columns:1fr;border-radius:30px}
  .gastro-panorama{min-height:340px}
  .gastro-panorama img{max-height:380px}
  .pdf-preview{min-height:460px}
}
@media(max-width:620px){
  .gastro-feature-section{padding-top:6px}
  .gastro-showpiece,.price-overview-card{padding:16px;border-radius:26px}
  .gastro-panorama{min-height:280px;border-radius:22px}
  .gastro-panorama::after{inset:10px;border-radius:16px}
  .gastro-panorama img{max-height:310px;padding:10px;border-radius:18px}
  .price-pills span{width:100%;justify-content:center;text-align:center}
  .pdf-preview{min-height:390px;border-radius:18px}
}

/* Shop creative photo display: full image visible, no cropping. */
.shop-creative-gallery{
  position:relative;
  display:grid;
  gap:16px;
  padding:18px;
  border-radius:var(--radius);
  background:
    radial-gradient(circle at 20% 8%,rgba(217,161,95,.22),transparent 18rem),
    linear-gradient(135deg,rgba(255,253,249,.92),rgba(245,234,219,.72));
  border:1px solid rgba(217,161,95,.28);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.shop-creative-gallery::before{
  content:"";
  position:absolute;
  inset:14px;
  border:1px solid rgba(95,47,24,.10);
  border-radius:calc(var(--radius) - 10px);
  pointer-events:none;
}
.shop-panorama{
  position:relative;
  z-index:1;
  margin:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:24px;
  background:linear-gradient(135deg,#fff8ef,#efe1cf);
  border:1px solid rgba(255,255,255,.75);
  box-shadow:0 18px 45px rgba(39,22,12,.12);
}
.shop-panorama.primary{aspect-ratio:16 / 7;}
.shop-panorama.secondary{aspect-ratio:16 / 7;transform:translateX(22px);max-width:88%;justify-self:end;}
.shop-panorama img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  display:block;
  padding:8px;
}
.shop-gallery-note{
  position:absolute;
  left:28px;
  bottom:28px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:11px 15px;
  border-radius:999px;
  background:rgba(255,248,239,.90);
  border:1px solid rgba(255,255,255,.74);
  box-shadow:0 16px 34px rgba(39,22,12,.14);
  backdrop-filter:blur(12px);
  color:var(--espresso);
}
.shop-gallery-note span{font-size:1.18rem;}
.shop-gallery-note strong{line-height:1;font-size:.94rem;}
@media(max-width:760px){
  .shop-creative-gallery{padding:14px;border-radius:24px;gap:12px;}
  .shop-creative-gallery::before{inset:10px;border-radius:18px;}
  .shop-panorama.primary,.shop-panorama.secondary{aspect-ratio:16 / 9;max-width:100%;transform:none;justify-self:stretch;}
  .shop-panorama img{padding:6px;}
  .shop-gallery-note{position:relative;left:auto;bottom:auto;justify-content:center;border-radius:18px;margin-top:2px;}
}

/* Premium Swiss brewery restaurant background refinement: clean, realistic, balanced, text-friendly. */
:root{
  --swiss-cream:#fbf6ee;
  --swiss-paper:#fffaf3;
  --swiss-oak:#b98250;
  --swiss-walnut:#3b2218;
  --swiss-copper:#a76334;
  --swiss-stone:#ece3d8;
}
html{
  background:#fbf6ee;
}
body{
  background:
    linear-gradient(180deg,rgba(255,250,243,.96),rgba(248,240,229,.96) 48%,rgba(255,250,243,.98)),
    repeating-linear-gradient(90deg,rgba(96,58,35,.030) 0 1px,transparent 1px 120px),
    repeating-linear-gradient(0deg,rgba(96,58,35,.020) 0 1px,transparent 1px 68px),
    #fbf6ee !important;
}
body::before{
  opacity:.18 !important;
  background-image:
    linear-gradient(90deg,transparent 0 18%,rgba(118,78,48,.045) 18% 18.5%,transparent 18.5% 100%),
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(104,63,38,.035));
  background-size:260px 100%,100% 100%;
  mask-image:linear-gradient(to bottom,black 0%,black 58%,transparent 100%) !important;
}
.site-header{
  background:rgba(255,250,243,.91) !important;
  border-bottom:1px solid rgba(72,42,26,.13) !important;
  box-shadow:0 10px 30px rgba(43,25,16,.07) !important;
}
.hero-luxury{
  background:
    linear-gradient(90deg,rgba(31,18,13,.84),rgba(59,34,24,.74) 48%,rgba(95,56,34,.68)),
    repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 96px),
    linear-gradient(135deg,#2f1b13,#5f3721 58%,#7d4929) !important;
}
.hero-luxury::before{
  background:
    linear-gradient(90deg,rgba(0,0,0,.34),rgba(0,0,0,.06) 58%,rgba(0,0,0,.18)),
    repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 74px),
    repeating-linear-gradient(90deg,rgba(0,0,0,.055) 0 1px,transparent 1px 150px) !important;
}
.premium-carousel::before,
.hero-slideshow::before{
  background:linear-gradient(135deg,rgba(255,250,243,.16),rgba(185,118,63,.08)) !important;
  filter:none !important;
}
.carousel-viewport{
  background:
    linear-gradient(145deg,rgba(255,250,243,.10),rgba(33,20,15,.54)) !important;
}
.page-hero,
.alt{
  background:
    linear-gradient(135deg,rgba(255,250,243,.95),rgba(241,231,218,.88)),
    repeating-linear-gradient(90deg,rgba(95,47,24,.025) 0 1px,transparent 1px 92px) !important;
}
.section:not(.newsletter),
.content{
  background-image:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0)) !important;
}
.card,.info-card,.product-card,.post-card,.form,.gastro-showpiece,.price-overview-card,.shop-creative-gallery{
  background:
    linear-gradient(145deg,rgba(255,252,247,.94),rgba(247,238,227,.88)) !important;
  border-color:rgba(95,47,24,.14) !important;
  box-shadow:0 22px 58px rgba(43,25,16,.10) !important;
}
.newsletter{
  background:
    linear-gradient(135deg,rgba(26,47,39,.98),rgba(17,31,26,.98)),
    repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 88px) !important;
}
.newsletter::before{
  background:rgba(185,118,63,.14) !important;
  filter:blur(16px) !important;
}
.footer{
  background:
    linear-gradient(135deg,#1d120e,#2b1a13 58%,#1a100d) !important;
}
@media(max-width:760px){
  body{
    background:
      linear-gradient(180deg,rgba(255,250,243,.98),rgba(248,240,229,.98) 54%,rgba(255,250,243,.98)),
      repeating-linear-gradient(90deg,rgba(96,58,35,.025) 0 1px,transparent 1px 86px),
      #fbf6ee !important;
  }
  .hero-luxury{
    background:
      linear-gradient(180deg,rgba(43,25,18,.92),rgba(74,43,27,.88)),
      repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 86px),
      #442719 !important;
  }
}


/* PDF preview shown as a static image only, so visitors can view it without browser edit controls. */
.pdf-preview-image{
  display:block;
  height:auto;
  min-height:0;
  max-height:640px;
  object-fit:contain;
  object-position:center top;
  padding:10px;
}
@media(max-width:900px){.pdf-preview-image{min-height:0;max-height:none}}

/* Elegant press preview for Zürcher Oberländer article: full image visible, no cropping. */
.press-card{
  overflow:hidden;
}
.press-preview{
  position:relative;
  display:grid;
  place-items:center;
  margin:-10px -10px 18px;
  padding:16px;
  border-radius:26px;
  background:
    linear-gradient(145deg,rgba(255,253,249,.98),rgba(241,231,218,.84)),
    radial-gradient(circle at 18% 6%,rgba(217,161,95,.16),transparent 18rem);
  border:1px solid rgba(95,47,24,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 22px 52px rgba(43,25,16,.10);
  overflow:hidden;
}
.press-preview::before{
  content:"Presse";
  position:absolute;
  top:16px;
  left:16px;
  z-index:2;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,248,239,.88);
  border:1px solid rgba(255,255,255,.68);
  color:var(--espresso);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 12px 28px rgba(43,25,16,.12);
  backdrop-filter:blur(10px);
}
.press-preview img{
  width:100%;
  height:auto;
  max-height:580px;
  object-fit:contain;
  object-position:center top;
  display:block;
  border-radius:18px;
  box-shadow:0 16px 42px rgba(43,25,16,.14);
  background:#fff;
}
@media(max-width:760px){
  .press-preview{padding:12px;border-radius:22px;margin:-6px -6px 16px;}
  .press-preview img{max-height:none;border-radius:16px;}
}

/* Elegant Dirnd’l Aktion preview: full user photo visible, no cropping. */
.dirndl-action-preview{
  position:relative;
  display:grid;
  place-items:center;
  margin:-10px -10px 18px;
  padding:16px;
  border-radius:26px;
  background:
    linear-gradient(145deg,rgba(255,253,249,.98),rgba(241,231,218,.86)),
    radial-gradient(circle at 20% 10%,rgba(145,22,38,.13),transparent 20rem);
  border:1px solid rgba(95,47,24,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 22px 52px rgba(43,25,16,.10);
  overflow:hidden;
}
.dirndl-action-preview::before{
  content:"Aktion";
  position:absolute;
  top:16px;
  left:16px;
  z-index:2;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,248,239,.9);
  border:1px solid rgba(255,255,255,.72);
  color:var(--espresso);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 12px 28px rgba(43,25,16,.12);
  backdrop-filter:blur(10px);
}
.dirndl-action-preview img{
  width:100%;
  height:auto;
  max-height:580px;
  object-fit:contain;
  object-position:center center;
  display:block;
  border-radius:18px;
  box-shadow:0 16px 42px rgba(43,25,16,.14);
  background:#fffaf4;
}
@media(max-width:760px){
  .dirndl-action-preview{padding:12px;border-radius:22px;margin:-6px -6px 16px;}
  .dirndl-action-preview img{max-height:none;border-radius:16px;}
}

/* FINAL LAUNCH POLISH — simple Swiss luxury palette + strict no-crop media. */
:root{
  --ink:#150f0b;
  --espresso:#1f130d;
  --mahogany:#4a2618;
  --copper:#9b6339;
  --gold:#c99250;
  --champagne:#f8f1e7;
  --linen:#efe4d6;
  --porcelain:#fffaf3;
  --sage:#20372e;
  --muted:#6f6258;
  --line:rgba(66,38,24,.15);
  --shadow:0 28px 80px rgba(31,19,13,.12);
  --shadow-soft:0 16px 42px rgba(31,19,13,.08);
}
body{
  background:
    radial-gradient(circle at 12% -8%,rgba(201,146,80,.12),transparent 30rem),
    linear-gradient(180deg,#fbf7f0 0%,#f2e8da 54%,#fbf7f0 100%) !important;
  color:var(--ink) !important;
}
body::before{
  opacity:.12 !important;
  background-image:
    linear-gradient(90deg,rgba(92,59,38,.06) 1px,transparent 1px),
    linear-gradient(180deg,rgba(255,255,255,.55),rgba(98,61,39,.03)) !important;
  background-size:132px 100%,100% 100% !important;
}
.site-header{
  background:rgba(255,250,243,.94) !important;
  box-shadow:0 18px 48px rgba(31,19,13,.08) !important;
}
.card,.info-card,.product-card,.post-card,.form,.gastro-showpiece,.price-overview-card,.shop-creative-gallery{
  background:linear-gradient(145deg,rgba(255,252,247,.98),rgba(244,236,226,.92)) !important;
  border:1px solid rgba(74,38,24,.14) !important;
  box-shadow:0 24px 64px rgba(31,19,13,.10) !important;
}
.card:hover,.info-card:hover,.product-card:hover,.post-card:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 34px 86px rgba(31,19,13,.14) !important;
}
.btn.primary,button{
  background:linear-gradient(135deg,#24140d,#5c2f1d) !important;
  color:#fffaf3 !important;
}
.newsletter{
  background:linear-gradient(135deg,#183128,#101f1a) !important;
}

/* Never crop user-provided article/news images. The frame adapts to the photo. */
.post-card figure.no-crop-photo,
.post-card .card-photo.no-crop-photo,
.post-card .press-preview.no-crop-photo,
.post-card .dirndl-action-preview.no-crop-photo{
  aspect-ratio:auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  display:block !important;
  overflow:visible !important;
  padding:18px !important;
  margin:-10px -10px 20px !important;
  border-radius:28px !important;
  background:linear-gradient(145deg,#fffaf3,#efe2d2) !important;
  border:1px solid rgba(74,38,24,.15) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 22px 56px rgba(31,19,13,.11) !important;
}
.post-card figure.no-crop-photo::after,
.post-card .card-photo.no-crop-photo::after,
.post-card .press-preview.no-crop-photo::after,
.post-card .dirndl-action-preview.no-crop-photo::after{
  display:none !important;
}
.post-card figure.no-crop-photo img,
.post-card .card-photo.no-crop-photo img,
.post-card .press-preview.no-crop-photo img,
.post-card .dirndl-action-preview.no-crop-photo img{
  position:relative !important;
  inset:auto !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  padding:0 !important;
  border-radius:20px !important;
  background:#fff !important;
  transform:none !important;
  box-shadow:0 18px 44px rgba(31,19,13,.12) !important;
}
.post-card figure.no-crop-photo:hover img,
.post-card .card-photo.no-crop-photo:hover img,
.post-card .press-preview.no-crop-photo:hover img,
.post-card .dirndl-action-preview.no-crop-photo:hover img{
  transform:none !important;
}

/* Keep the opening poster readable and fully visible. */
.post-card .card-photo.no-crop-photo img[src*="eroeffnung"]{
  max-width:min(100%,680px) !important;
  margin-inline:auto !important;
}

@media(max-width:760px){
  .post-card figure.no-crop-photo,
  .post-card .card-photo.no-crop-photo,
  .post-card .press-preview.no-crop-photo,
  .post-card .dirndl-action-preview.no-crop-photo{
    padding:12px !important;
    margin:-6px -6px 18px !important;
    border-radius:22px !important;
  }
  .post-card figure.no-crop-photo img,
  .post-card .card-photo.no-crop-photo img,
  .post-card .press-preview.no-crop-photo img,
  .post-card .dirndl-action-preview.no-crop-photo img{
    border-radius:16px !important;
  }
  .content.grid-2{gap:22px !important;}
}

/* News page: clean creator row + elegant like button, no extra marks/text clutter. */
.news-grid .news-post{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.post-author{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:2px;
  color:var(--espresso);
}
.author-avatar{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(145deg,#fffaf3,#eadbc9);
  border:1px solid rgba(74,38,24,.16);
  box-shadow:0 12px 28px rgba(31,19,13,.10), inset 0 1px 0 rgba(255,255,255,.82);
  font-size:1.1rem;
}
.post-author strong{
  display:block;
  font-size:.95rem;
  letter-spacing:.01em;
}
.post-author small{
  display:block;
  margin-top:1px;
  color:var(--muted);
  font-size:.78rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.news-post .eyebrow{display:none !important;}
.post-actions{
  margin-top:auto;
  padding-top:16px;
  border-top:1px solid rgba(74,38,24,.12);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.post-actions > a{
  font-weight:900;
  color:var(--mahogany);
  text-decoration:none;
}
.like-button{
  width:auto !important;
  min-height:42px !important;
  padding:9px 15px !important;
  border-radius:999px !important;
  background:rgba(255,250,243,.86) !important;
  color:var(--espresso) !important;
  border:1px solid rgba(74,38,24,.16) !important;
  box-shadow:0 12px 28px rgba(31,19,13,.08) !important;
  font-weight:900;
  gap:8px;
}
.like-button::after{display:none !important;}
.like-button .heart{
  font-size:1.25rem;
  line-height:1;
  color:#b64b3b;
  transition:transform .2s ease;
}
.like-button:hover .heart{transform:scale(1.15);}
.like-button.is-liked{
  background:linear-gradient(135deg,#fff0ec,#fffaf3) !important;
  border-color:rgba(182,75,59,.32) !important;
}
.like-button.is-liked .heart{color:#c83b2d;}
@media(max-width:760px){
  .post-actions{align-items:stretch;}
  .like-button{min-width:132px;}
  .like-text{display:none;}
}


/* === Final targeted fixes: mobile menu, premium beer slide, and real map embed === */
.menu-toggle{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  white-space:nowrap;
  line-height:1;
}
.menu-toggle::before,
.menu-toggle::after{
  content:none !important;
}
.menu-toggle{
  font-size:0 !important;
}
.menu-toggle .menu-icon-lines,
.menu-toggle .menu-icon-orb{
  position:relative;
  z-index:1;
  display:block;
  flex:0 0 auto;
}
.menu-toggle .menu-icon-lines{
  width:19px;
  height:13px;
  border-radius:6px;
  background:
    linear-gradient(#fff8ed,#fff8ed) center 1px/19px 2px no-repeat,
    linear-gradient(#fff8ed,#fff8ed) center 6px/19px 2px no-repeat,
    linear-gradient(#fff8ed,#fff8ed) center 11px/19px 2px no-repeat;
}
.menu-toggle .menu-icon-orb{
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.26);
  background:
    linear-gradient(#fff8ed,#fff8ed) center/16px 2px no-repeat,
    linear-gradient(45deg,transparent 47%,#fff8ed 48% 56%,transparent 57%) 18px 10px/10px 10px no-repeat,
    linear-gradient(-45deg,transparent 47%,#fff8ed 48% 56%,transparent 57%) 18px 15px/10px 10px no-repeat,
    radial-gradient(circle at 32% 24%,rgba(255,255,255,.28),transparent 38%),
    rgba(255,255,255,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 8px 16px rgba(0,0,0,.14);
}
.menu-toggle[aria-expanded="true"] .menu-icon-lines{
  background:
    linear-gradient(45deg,transparent 44%,#fff8ed 45% 55%,transparent 56%) center/20px 20px no-repeat,
    linear-gradient(-45deg,transparent 44%,#fff8ed 45% 55%,transparent 56%) center/20px 20px no-repeat;
}
.menu-toggle[aria-expanded="true"] .menu-icon-orb{
  background:
    linear-gradient(45deg,transparent 44%,#fff8ed 45% 55%,transparent 56%) center/18px 18px no-repeat,
    linear-gradient(-45deg,transparent 44%,#fff8ed 45% 55%,transparent 56%) center/18px 18px no-repeat,
    radial-gradient(circle at 32% 24%,rgba(255,255,255,.28),transparent 38%),
    rgba(255,255,255,.10);
}
@media (max-width: 760px){
  .site-header .menu-toggle{
    min-width:84px !important;
    min-height:58px !important;
    padding:0 14px !important;
    border-radius:24px !important;
    gap:10px !important;
    align-self:center;
  }
  .site-header .menu-toggle .menu-icon-orb{
    width:36px;
    height:36px;
  }
}

.map-overview-card--real{
  align-items:stretch;
}
.map-visual--real{
  padding:0 !important;
  overflow:hidden;
  min-height:430px;
  background:#efe8dd;
}
.map-embed{
  display:block;
  width:100%;
  height:100%;
  min-height:430px;
  border:0;
  filter:saturate(1.02) contrast(1.02);
}
@media (max-width:820px){
  .map-visual--real,
  .map-embed{
    min-height:320px;
  }
}

/* Final mobile menu refinement: elegant Swiss-style menu button and popover. */
@media (max-width: 980px){
  .site-header{
    gap:16px;
  }

  .menu-toggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    min-width:96px !important;
    min-height:58px !important;
    padding:0 16px 0 18px !important;
    border-radius:22px !important;
    border:1px solid rgba(203,181,141,.38) !important;
    background:linear-gradient(135deg,#17372f 0%,#20453c 52%,#2d5a4f 100%) !important;
    color:#f8f3e8 !important;
    font-size:0 !important;
    line-height:0 !important;
    letter-spacing:normal !important;
    text-transform:none !important;
    box-shadow:0 16px 34px rgba(20,42,36,.22), inset 0 1px 0 rgba(255,255,255,.14), inset 0 -10px 20px rgba(0,0,0,.10) !important;
    transform:none !important;
    backdrop-filter:blur(10px) saturate(120%);
  }
  .menu-toggle:hover{
    transform:translateY(-1px) !important;
    box-shadow:0 18px 38px rgba(20,42,36,.26), inset 0 1px 0 rgba(255,255,255,.16), inset 0 -10px 20px rgba(0,0,0,.10) !important;
  }
  .menu-toggle::before,
  .site-header .menu-toggle::before,
  .menu-toggle:empty::before{
    content:"Menü" !important;
    display:block !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    background:none !important;
    border-radius:0 !important;
    font-size:.82rem !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.14em !important;
    text-transform:uppercase !important;
    color:#f7f1e6 !important;
    text-shadow:none !important;
    animation:none !important;
  }
  .menu-toggle::after,
  .site-header .menu-toggle::after{
    content:"" !important;
    display:block !important;
    width:34px !important;
    height:34px !important;
    flex:0 0 34px !important;
    border-radius:50% !important;
    background:
      linear-gradient(#f7f1e6,#f7f1e6) center 10px/16px 2px no-repeat,
      linear-gradient(#f7f1e6,#f7f1e6) center 16px/16px 2px no-repeat,
      linear-gradient(#f7f1e6,#f7f1e6) center 22px/16px 2px no-repeat,
      rgba(255,255,255,.10) !important;
    border:1px solid rgba(255,255,255,.18) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.16) !important;
    transform:none !important;
    animation:none !important;
  }
  .menu-toggle[aria-expanded="true"]{
    background:linear-gradient(135deg,#214b40 0%,#2f6658 58%,#5c8a78 100%) !important;
  }
  .menu-toggle[aria-expanded="true"]::before,
  .site-header .menu-toggle[aria-expanded="true"]::before{
    content:"Schliessen" !important;
  }
  .menu-toggle[aria-expanded="true"]::after,
  .site-header .menu-toggle[aria-expanded="true"]::after{
    background:
      linear-gradient(45deg,transparent 44%,#f7f1e6 45% 55%,transparent 56%) center/16px 16px no-repeat,
      linear-gradient(-45deg,transparent 44%,#f7f1e6 45% 55%,transparent 56%) center/16px 16px no-repeat,
      rgba(255,255,255,.10) !important;
    transform:none !important;
  }

  .nav{
    top:92px !important;
    left:18px !important;
    right:18px !important;
    padding:20px !important;
    border-radius:30px !important;
    border:1px solid rgba(31,72,62,.15) !important;
    background:linear-gradient(180deg,rgba(249,246,239,.985) 0%,rgba(241,236,227,.985) 100%) !important;
    box-shadow:0 36px 80px rgba(22,23,20,.20), 0 10px 24px rgba(33,47,42,.08), inset 0 1px 0 rgba(255,255,255,.92) !important;
    gap:12px !important;
  }
  .nav::before{
    content:"Navigation" !important;
    display:block !important;
    margin:0 0 8px !important;
    padding:0 4px !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:1.05rem !important;
    font-weight:700 !important;
    letter-spacing:-.02em !important;
    color:#17372f !important;
  }
  .nav a,
  .nav a:hover,
  .nav a.active{
    min-height:58px !important;
    display:flex !important;
    align-items:center !important;
    padding:14px 16px !important;
    border-radius:20px !important;
    border:1px solid rgba(31,72,62,.10) !important;
    background:rgba(255,255,255,.72) !important;
    color:#25211d !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.86) !important;
    transform:none !important;
  }
  .nav a:hover,
  .nav a.active{
    background:linear-gradient(135deg,rgba(45,90,79,.08),rgba(255,255,255,.88)) !important;
    border-color:rgba(45,90,79,.18) !important;
  }
  .nav a::before{
    background:rgba(23,55,47,.07) !important;
    color:#2d5a4f !important;
  }
}

/* Final mobile menu button cleanup: single elegant hamburger / close icon only. */
@media (max-width:760px){
  .site-header .menu-toggle,
  .menu-toggle{
    position:relative !important;
    display:grid !important;
    place-items:center !important;
    width:78px !important;
    min-width:78px !important;
    height:58px !important;
    min-height:58px !important;
    padding:0 !important;
    border-radius:24px !important;
    overflow:hidden !important;
    font-size:0 !important;
    line-height:0 !important;
    color:transparent !important;
    text-indent:-9999px !important;
    white-space:nowrap !important;
    letter-spacing:0 !important;
    background:
      radial-gradient(circle at 24% 18%, rgba(255,255,255,.18), transparent 28%),
      linear-gradient(135deg,#22544b 0%, #2b6a5f 42%, #1f433d 100%) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    box-shadow:
      0 14px 32px rgba(18,41,37,.26),
      inset 0 1px 0 rgba(255,255,255,.24),
      inset 0 -8px 16px rgba(0,0,0,.12) !important;
    transform:none !important;
    backdrop-filter:blur(10px) saturate(115%);
  }

  .site-header .menu-toggle::before,
  .menu-toggle::before{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    width:26px !important;
    height:2.5px !important;
    margin:0 !important;
    border-radius:999px !important;
    background:#fff9f1 !important;
    transform:translate(-50%,-50%) !important;
    box-shadow:0 -8px 0 #fff9f1, 0 8px 0 #fff9f1 !important;
    animation:none !important;
    filter:none !important;
  }

  .site-header .menu-toggle::after,
  .menu-toggle::after{
    content:none !important;
    display:none !important;
    background:none !important;
    box-shadow:none !important;
  }

  .site-header .menu-toggle:hover,
  .menu-toggle:hover,
  .site-header .menu-toggle:focus-visible,
  .menu-toggle:focus-visible{
    transform:translateY(-1px) !important;
    box-shadow:
      0 18px 38px rgba(18,41,37,.30),
      inset 0 1px 0 rgba(255,255,255,.26),
      inset 0 -8px 16px rgba(0,0,0,.12) !important;
  }

  .site-header .menu-toggle[aria-expanded="true"],
  .menu-toggle[aria-expanded="true"]{
    background:
      radial-gradient(circle at 24% 18%, rgba(255,255,255,.16), transparent 28%),
      linear-gradient(135deg,#1f433d 0%, #255249 52%, #16342f 100%) !important;
  }

  .site-header .menu-toggle[aria-expanded="true"]::before,
  .menu-toggle[aria-expanded="true"]::before{
    width:24px !important;
    height:24px !important;
    background:
      linear-gradient(45deg, transparent 44%, #fff9f1 45% 55%, transparent 56%),
      linear-gradient(-45deg, transparent 44%, #fff9f1 45% 55%, transparent 56%) !important;
    box-shadow:none !important;
    border-radius:0 !important;
  }
}

/* Final correction: mobile menu button shows ONLY three hamburger lines, no text, no extra symbols, no extra circles. */
@media (max-width:760px){
  .menu-toggle,
  .site-header .menu-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:72px !important;
    min-width:72px !important;
    max-width:72px !important;
    height:72px !important;
    min-height:72px !important;
    max-height:72px !important;
    padding:0 !important;
    border-radius:28px !important;
    font-size:0 !important;
    line-height:0 !important;
    text-indent:-9999px !important;
    color:transparent !important;
    overflow:hidden !important;
    position:relative !important;
    background:linear-gradient(145deg,#2a675e 0%, #2d6b61 45%, #234e48 100%) !important;
    border:1px solid rgba(255,255,255,.18) !important;
    box-shadow:0 12px 28px rgba(18,41,37,.22), inset 0 1px 0 rgba(255,255,255,.22), inset 0 -10px 18px rgba(0,0,0,.10) !important;
  }

  .menu-toggle span,
  .site-header .menu-toggle span{
    display:none !important;
  }

  .menu-toggle::after,
  .site-header .menu-toggle::after,
  .menu-toggle[aria-expanded="true"]::after,
  .site-header .menu-toggle[aria-expanded="true"]::after{
    content:none !important;
    display:none !important;
    background:none !important;
    box-shadow:none !important;
    border:none !important;
  }

  .menu-toggle::before,
  .site-header .menu-toggle::before,
  .menu-toggle[aria-expanded="true"]::before,
  .site-header .menu-toggle[aria-expanded="true"]::before{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    width:28px !important;
    height:3px !important;
    border-radius:999px !important;
    background:#fff8ef !important;
    transform:translate(-50%,-50%) !important;
    box-shadow:0 -10px 0 #fff8ef, 0 10px 0 #fff8ef !important;
    margin:0 !important;
    filter:none !important;
    animation:none !important;
  }

  .menu-toggle:hover,
  .site-header .menu-toggle:hover,
  .menu-toggle:focus-visible,
  .site-header .menu-toggle:focus-visible,
  .menu-toggle[aria-expanded="true"],
  .site-header .menu-toggle[aria-expanded="true"]{
    background:linear-gradient(145deg,#2a675e 0%, #2d6b61 45%, #234e48 100%) !important;
    transform:none !important;
  }
}

/* Desktop correction: menu button shows only the same clean three hamburger lines, no text or extra marks. */
@media (min-width:761px){
  .menu-toggle,
  .site-header .menu-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:72px !important;
    min-width:72px !important;
    max-width:72px !important;
    height:56px !important;
    min-height:56px !important;
    max-height:56px !important;
    padding:0 !important;
    border-radius:24px !important;
    font-size:0 !important;
    line-height:0 !important;
    text-indent:-9999px !important;
    color:transparent !important;
    overflow:hidden !important;
    position:relative !important;
    background:linear-gradient(145deg,#2a675e 0%, #2d6b61 45%, #234e48 100%) !important;
    border:1px solid rgba(255,255,255,.18) !important;
    box-shadow:0 12px 28px rgba(18,41,37,.22), inset 0 1px 0 rgba(255,255,255,.22), inset 0 -10px 18px rgba(0,0,0,.10) !important;
    transform:none !important;
  }

  .menu-toggle span,
  .site-header .menu-toggle span{
    display:none !important;
  }

  .menu-toggle::after,
  .site-header .menu-toggle::after,
  .menu-toggle[aria-expanded="true"]::after,
  .site-header .menu-toggle[aria-expanded="true"]::after{
    content:none !important;
    display:none !important;
    background:none !important;
    box-shadow:none !important;
    border:none !important;
  }

  .menu-toggle::before,
  .site-header .menu-toggle::before,
  .menu-toggle[aria-expanded="true"]::before,
  .site-header .menu-toggle[aria-expanded="true"]::before{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    width:28px !important;
    height:3px !important;
    border-radius:999px !important;
    background:#fff8ef !important;
    transform:translate(-50%,-50%) !important;
    box-shadow:0 -10px 0 #fff8ef, 0 10px 0 #fff8ef !important;
    margin:0 !important;
    filter:none !important;
    animation:none !important;
  }

  .menu-toggle:hover,
  .site-header .menu-toggle:hover,
  .menu-toggle:focus-visible,
  .site-header .menu-toggle:focus-visible,
  .menu-toggle[aria-expanded="true"],
  .site-header .menu-toggle[aria-expanded="true"]{
    background:linear-gradient(145deg,#2a675e 0%, #2d6b61 45%, #234e48 100%) !important;
    transform:none !important;
  }
}
