/* ============================================================
   FeWo AlpenBase · Living Menu (hero) — CSS
   Aус Monolith v1.25 extrahiert (nur Hero, ohne .ab-* Sektionen).
   Einbinden: page.includeCSS.livingmenu = fileadmin/alpenbase/css/living-menu.css
   ============================================================ */
#fewo-lm,#fewo-lm *,#fewo-lm *::before,#fewo-lm *::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth}
body{overflow-x:hidden}
section[id]{scroll-margin-top:88px}
#fewo-lm{
  --cream:#F5F0E5;--ink:#130e0a;--brown:#5e4c42;--ochre:#C4A47C;
  --olive:#748459;--rose:#D53B55;--snow:#F5EFE6;
  position:relative;width:100%;height:130vh;
  font-family:"Schibsted Grotesk",system-ui,sans-serif;background:var(--cream);
}
#fewo-lm .lm-stage{
  position:sticky;top:0;width:100%;height:100vh;
  overflow:hidden;background:var(--ink);transition:background .6s ease;
}
#fewo-lm.is-menu .lm-stage{background:#F5F0E5}
#fewo-lm .lm-tile{position:absolute;overflow:hidden;will-change:left,top,width,height,opacity;}
#fewo-lm .lm-photo-tile{cursor:default;outline:1px solid transparent;isolation:isolate}
#fewo-lm.is-menu .lm-photo-tile[data-is-chosen="1"]{cursor:pointer}
#fewo-lm .lm-photo-tile .lm-bg{
  position:absolute;inset:-24px;
  background-size:cover;background-position:center;
  transition:filter .75s ease,transform .75s ease;will-change:filter,transform;
}
#fewo-lm .lm-photo-tile .lm-overlay{position:absolute;inset:0;z-index:2;background:rgba(19,14,10,0);transition:background .5s;}
#fewo-lm.is-menu .lm-photo-tile:hover .lm-overlay{background:rgba(19,14,10,.40)}
#fewo-lm.is-menu .lm-photo-tile:hover .lm-bg{filter:blur(4px);transform:scale(1.03)}
#fewo-lm .lm-photo-tile::after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(245,240,229,.07);transition:box-shadow .4s;}
#fewo-lm.is-menu .lm-photo-tile:hover::after{box-shadow:inset 0 0 0 1px rgba(116,132,89,.3)}
#fewo-lm.is-menu .lm-photo-tile[data-is-chosen="0"]{pointer-events:none;visibility:hidden;}
#fewo-lm .lm-label{
  position:absolute;top:50%;left:0;right:0;z-index:10;
  padding:0 clamp(10px,1.5vw,18px);pointer-events:none;
  opacity:0;transform:translateY(calc(-50% + 10px));transition:opacity .45s,transform .45s;
}
#fewo-lm.is-menu .lm-photo-tile:hover .lm-label{opacity:1;transform:translateY(-50%)}
#fewo-lm .lm-label-num{display:block;font-family:"Schibsted Grotesk",system-ui,sans-serif;font-size:11px;font-weight:100;letter-spacing:.22em;color:rgba(245,239,230,.55);margin-bottom:10px;}
#fewo-lm .lm-label-title{display:block;font-family:"Schibsted Grotesk",system-ui,sans-serif;font-weight:300;font-size:32px;line-height:1.1;color:#fff;letter-spacing:.01em;}
#fewo-lm .lm-sub{margin-top:12px;max-height:0;overflow:hidden;transition:max-height .4s ease .1s}
#fewo-lm.is-menu .lm-photo-tile:hover .lm-sub{max-height:200px}
#fewo-lm .lm-sub-item{display:block;padding:11px 0;font-family:"Schibsted Grotesk",system-ui,sans-serif;font-size:22px;font-weight:200;letter-spacing:.03em;color:rgba(245,239,230,.78);border-top:1px solid rgba(245,239,230,.15);text-decoration:none;transition:color .25s;}
#fewo-lm .lm-sub-item:hover{color:#fff}
#lm-sticky{position:fixed;top:0;left:0;right:0;height:80px;z-index:999;display:flex;opacity:0;pointer-events:none;transition:opacity .4s ease,height .45s cubic-bezier(.4,0,.2,1);overflow:hidden;}
#lm-sticky.is-visible{opacity:1;pointer-events:auto}
#lm-sticky.is-expanded{height:300px}
.lst-col{position:relative;flex:1;overflow:hidden;cursor:pointer;background:#748459;border-right:1px solid rgba(245,239,230,.15);transition:background .3s ease;}
.lst-col:hover{background:#617049}
.lst-col:last-child{border-right:none}
.lst-bg{display:none}
.lst-mini{position:absolute;bottom:0;left:0;right:0;height:80px;display:flex;align-items:center;padding:0 clamp(12px,1.5vw,24px);gap:8px;z-index:2;transition:opacity .25s ease;}
#lm-sticky.is-expanded .lst-mini{opacity:0;pointer-events:none}
.lst-num{font-family:"Schibsted Grotesk",system-ui,sans-serif;font-size:11px;font-weight:100;letter-spacing:.2em;color:rgba(245,239,230,.5);flex-shrink:0}
.lst-cat{font-family:"Schibsted Grotesk",system-ui,sans-serif;font-size:20px;font-weight:300;letter-spacing:.02em;color:#fff}
.lst-drop{position:absolute;inset:0;padding:clamp(20px,3vh,32px) clamp(14px,1.8vw,26px);z-index:2;text-align:left;opacity:0;transform:translateY(-6px);transition:opacity .35s ease,transform .35s ease;display:flex;flex-direction:column;justify-content:center;}
#lm-sticky.is-expanded .lst-drop{opacity:1;transform:translateY(0)}
.lst-drop-title{display:block;font-family:"Schibsted Grotesk",system-ui,sans-serif;font-size:24px;font-weight:300;color:#fff;margin-bottom:18px;letter-spacing:.01em;}
.lst-drop-sub{display:block;padding:9px 0;font-family:"Schibsted Grotesk",system-ui,sans-serif;font-size:20px;font-weight:200;letter-spacing:.03em;color:rgba(245,239,230,.8);border-top:1px solid rgba(245,239,230,.18);text-decoration:none;transition:color .25s;}
.lst-drop-sub:hover{color:#fff}
.lst-logo-col{background:#F5F0E5!important;cursor:default}
.lst-logo-col:hover{background:#F5F0E5!important}
.lst-logo-mini{position:absolute;bottom:0;left:0;right:0;height:80px;display:flex;align-items:center;justify-content:center;z-index:2;transition:opacity .25s ease;}
#lm-sticky.is-expanded .lst-logo-mini{opacity:0;pointer-events:none}
.lst-logo-mini img{height:52px;width:auto}
.lst-logo-drop{position:absolute;inset:0;padding:20px 16px;background:#F5F0E5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;z-index:2;opacity:0;transform:translateY(-4px);transition:opacity .35s ease,transform .35s ease;}
#lm-sticky.is-expanded .lst-logo-drop{opacity:1;transform:translateY(0)}
.lst-logo-tel{font-family:"Schibsted Grotesk",system-ui,sans-serif;font-size:17px;font-weight:200;letter-spacing:.04em;color:#5e4c42;text-decoration:none;transition:color .25s}
.lst-logo-tel:hover{color:#D53B55}
.lst-logo-addr{font-family:"Schibsted Grotesk",system-ui,sans-serif;font-size:11px;font-weight:100;letter-spacing:.12em;color:rgba(94,76,66,.65);text-align:center;line-height:2}
.lst-cta{display:inline-block;padding:10px 22px;font-family:"Schibsted Grotesk",system-ui,sans-serif;font-size:15px;font-weight:300;text-decoration:none;color:#F5F0E5;background:#130e0a;transition:background .3s}
.lst-cta:hover{background:#748459}
/* ── LOGO BLOCK: frame 1 action buttons ── */
#fewo-lm .lm-logo-frame1{
  display:flex;flex-direction:column;align-items:center;
  width:100%;gap:0;
  opacity:1;transform:translateY(0);
  transition:opacity .35s ease,transform .35s ease;
}
#fewo-lm.is-menu .lm-logo-frame1{
  opacity:0;transform:translateY(-6px);pointer-events:none;position:absolute;
}
/* nav: Wohnung/Kontakt — olive text-links, Anfrage — accent */
#fewo-lm .fwlm-nav{display:flex;flex-wrap:nowrap;gap:14px;justify-content:center;align-items:center;}
#fewo-lm .fwlm-pill{font-family:inherit;font-weight:600;font-size:14px;letter-spacing:.14em;text-transform:uppercase;line-height:1;text-decoration:none;border-radius:999px;transition:.18s ease;white-space:nowrap;}
#fewo-lm .fwlm-pill--olive{color:var(--olive);background:none;border:none;padding:4px;border-bottom:1px solid transparent;border-radius:0;}
#fewo-lm .fwlm-pill--olive:hover{border-bottom-color:var(--olive);}
#fewo-lm .fwlm-pill--accent{color:var(--cream);background:var(--brown);border:1px solid var(--brown);padding:8px 18px;box-shadow:0 4px 12px -6px rgba(94,76,66,.7);}
#fewo-lm .fwlm-pill--accent:hover{background:var(--brown-hover);transform:translateY(-1px);}
/* guest block — only with .has-token */
#fewo-lm .fwlm-token{display:none;}
#fewo-lm.has-token .fwlm-token{display:flex;flex-direction:column;align-items:center;gap:9px;width:100%;margin-top:15px;padding-top:14px;border-top:1px solid var(--hairline);}
#fewo-lm .fwlm-token-label{font-family:inherit;font-weight:600;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--olive);}
#fewo-lm .fwlm-token-name{font-size:14px;color:var(--brown);margin-top:-3px;}
#fewo-lm .fwlm-pill--olive-solid{color:var(--cream);background:var(--olive);border:1px solid var(--olive);padding:8px 18px;font-size:14px;}
#fewo-lm .fwlm-pill--olive-solid:hover{background:#677750;transform:translateY(-1px);}
/* quick contact — olive family (icons, no labels) */
#fewo-lm .fwlm-contact{display:flex;gap:14px;justify-content:center;margin-top:16px;}
#fewo-lm .fwlm-ico-wrap{display:flex;text-decoration:none;}
#fewo-lm .fwlm-ico{width:36px;height:36px;border-radius:50%;border:1px solid var(--olive-line);background:var(--olive-tint);color:var(--olive);display:grid;place-items:center;transition:.18s ease;}
#fewo-lm .fwlm-ico svg{width:18px;height:18px;}
#fewo-lm .fwlm-ico-wrap:hover .fwlm-ico{background:var(--olive-tint2);border-color:var(--olive);color:#586a42;transform:translateY(-2px);}
/* scroll arrow -> Morph-Trigger; ruhiger olive-Kontur, kein dunkler BG */
#fewo-lm .fwlm-scroll{margin-top:18px;width:36px;height:36px;border-radius:50%;border:1px solid var(--olive-line);background:transparent;color:var(--olive);display:grid;place-items:center;cursor:pointer;padding:0;transition:.18s ease;animation:fwlm-bob 2.1s ease-in-out infinite;}
#fewo-lm .fwlm-scroll svg{width:18px;height:18px;}
#fewo-lm .fwlm-scroll:hover{background:var(--olive-tint);border-color:var(--olive);color:#586a42;}
@keyframes fwlm-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
/* logo tile gap killer */
#fewo-lm.is-menu .lm-logo-tile::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:8px;background:var(--cream);z-index:1;}
#fewo-lm .lm-logo-tile{
  background:var(--cream);z-index:10;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  padding:clamp(20px,3.5vh,48px) clamp(14px,2vw,28px) 0;
  box-shadow:inset 2px 0 0 rgba(200,190,175,.3),inset -2px 0 0 rgba(200,190,175,.3),0 0 0 1px rgba(200,190,175,.45),0 12px 48px rgba(19,14,10,.18);
}
#fewo-lm .lm-logo-photo{position:absolute;bottom:0;left:0;right:0;height:70%;background-size:cover;background-position:center center;opacity:0;transition:opacity .8s ease .4s;}
#fewo-lm.is-menu .lm-logo-photo{opacity:1}
#fewo-lm .lm-logo-gradient{position:absolute;bottom:0;left:0;right:0;height:70%;background:linear-gradient(180deg,var(--cream) 0%,rgba(245,240,229,.95) 15%,rgba(245,240,229,0) 65%);z-index:1;pointer-events:none;opacity:0;transition:opacity .8s ease .4s;}
#fewo-lm.is-menu .lm-logo-gradient{opacity:1}
#fewo-lm .lm-logo-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;width:100%;font-family:"Schibsted Grotesk",system-ui,sans-serif;--olive-tint:rgba(116,132,89,.09);--olive-tint2:rgba(116,132,89,.16);--olive-line:rgba(116,132,89,.42);--brown-hover:#6f5a4e;--hairline:rgba(94,76,66,.14);}
#fewo-lm .lm-logo-img{width:90%;max-width:90%;margin-bottom:clamp(12px,2vh,24px);}
#fewo-lm .lm-logo-rule{width:28px;height:1px;background:var(--olive);opacity:.4;margin-bottom:clamp(12px,2vh,22px);}
#fewo-lm .lm-logo-contact{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;opacity:0;transform:translateY(8px);transition:opacity .5s ease .25s,transform .5s ease .25s;}
#fewo-lm.is-menu .lm-logo-contact{opacity:1;transform:translateY(0)}
#fewo-lm .lm-logo-tel{font-size:clamp(15px,1.4vw,19px);font-weight:200;letter-spacing:.06em;color:var(--brown);text-decoration:none;transition:color .25s;}
#fewo-lm .lm-logo-tel:hover{color:var(--rose)}
#fewo-lm .lm-logo-addr{font-size:clamp(11px,.95vw,17px);font-weight:100;letter-spacing:.16em;color:rgba(19,14,10,.55);text-align:center;line-height:2;text-transform:uppercase;}
#fewo-lm .lm-menu-nav{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;margin-top:6px;}
#fewo-lm .lm-tile.is-expanded{z-index:50!important}
#fewo-lm .lm-return{position:absolute;bottom:0;left:0;right:0;height:54px;z-index:60;display:flex;align-items:center;justify-content:center;background:linear-gradient(0deg,rgba(19,14,10,.88),transparent);opacity:0;pointer-events:none;transition:opacity .4s;}
#fewo-lm.has-expanded .lm-return{opacity:1;pointer-events:auto}
#fewo-lm .lm-return-btn{font-size:8px;font-weight:200;letter-spacing:.3em;text-transform:uppercase;color:var(--olive);background:none;border:1px solid rgba(116,132,89,.35);padding:9px 22px;cursor:pointer;transition:border-color .3s;}
#fewo-lm .lm-return-btn:hover{border-color:var(--olive)}
#fewo-lm .lm-track-wrap{position:absolute;bottom:0;left:0;right:0;height:80px;z-index:8;background:#748459;overflow:visible;opacity:0;transform:translateY(100%);transition:opacity .5s ease,transform .5s ease;}
#fewo-lm.is-menu .lm-track-wrap{opacity:1;transform:translateY(0);}
#fewo-lm .lm-track-fill{display:none}
#fewo-lm .lm-track-dot{display:none}
#fewo-lm .lmb-col{position:absolute;bottom:0;height:80px;background:#748459;border-right:1px solid rgba(245,239,230,.15);cursor:pointer;}
#fewo-lm .lmb-col:last-child{border-right:none}
#fewo-lm .lmb-logo{background:#F5F0E5;z-index:2;cursor:pointer;}
#fewo-lm .lmb-mini{position:absolute;bottom:0;left:0;right:0;height:80px;display:flex;align-items:center;padding:0 clamp(10px,1.5vw,20px);gap:6px;}
#fewo-lm .lmb-num{font-family:"Schibsted Grotesk",system-ui,sans-serif;font-size:11px;font-weight:100;letter-spacing:.2em;color:rgba(245,239,230,.5);}
#fewo-lm .lmb-cat{font-family:"Schibsted Grotesk",system-ui,sans-serif;font-size:20px;font-weight:300;color:#fff;}
#fewo-lm .lmb-logo-img{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);height:44px;width:auto;}
#fewo-lm .lm-sub,
#fewo-lm .lm-sub-item{pointer-events:auto}