/* =================================================================
   M&H APARTMENTS SALZGITTER — Design System "Quiet Luxury"
   Palette: Ivory · Eiche · Pinie-Grün · Messing · Salbei
   ================================================================= */

/* ---------- RESET ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
img,svg,picture{display:block;max-width:100%}
img{height:auto}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:none;cursor:pointer}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:4px}

/* ---------- TOKENS ---------- */
:root{
  --ivory:#F5F6F5; --ivory-2:#ECEDEA; --paper:#FFFFFF;
  --pine:#1C1E1D; --pine-2:#292C2B; --pine-soft:#3B3F3D;
  --brass:#DEC080; --brass-2:#957324; --brass-soft:#EEDFB4;
  --sage:#9B9A93; --sage-soft:#EFEBE0;
  --ink:#1A1C1B; --ink-2:#3B3E3C; --muted:#666967;
  --cream-text:#F1F1EE; --cream-muted:rgba(241,241,238,.70);
  --star:#E8B34C;
  --line:rgba(20,22,21,.12); --line-2:rgba(20,22,21,.06);

  --serif:'Space Grotesk','Inter',system-ui,sans-serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;

  --fs-h1:clamp(2.7rem, 1.85rem + 3.7vw, 5rem);
  --fs-h2:clamp(1.95rem, 1.45rem + 2.15vw, 3.15rem);
  --fs-h3:clamp(1.18rem, 1.08rem + 0.4vw, 1.4rem);
  --fs-lead:clamp(1.05rem, 0.99rem + 0.35vw, 1.27rem);

  --r-sm:8px; --r:12px; --r-lg:18px; --r-pill:100px;
  --sh-sm:0 2px 10px rgba(34,32,27,.06);
  --sh-md:0 14px 38px rgba(34,32,27,.10);
  --sh-lg:0 30px 70px rgba(34,32,27,.17);
  --sh-brass:0 12px 34px rgba(176,137,78,.30);

  --wrap:1200px; --wrap-wide:1320px;
  --pad-sec:clamp(4.5rem, 3rem + 6vw, 8rem);
  --ease:cubic-bezier(.22,.61,.24,1);
}

/* ---------- BASE ---------- */
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--ivory);
  line-height:1.62;
  font-size:1.0625rem;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.01em;color:var(--ink)}
strong{font-weight:600}
::selection{background:var(--brass);color:#fff}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1.15rem,.6rem + 2vw,2rem)}
.section{position:relative;padding-block:var(--pad-sec)}
.section--cream{background:var(--ivory-2)}
.section--pine{background:var(--pine);color:var(--cream-text)}
.section--pine .h2,.section--pine h3{color:var(--cream-text)}

/* ---------- TYPO HELPERS ---------- */
.eyebrow{font-family:var(--sans);font-size:.8rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--brass-2);margin-bottom:1.1rem;display:inline-flex;align-items:center;gap:.6rem}
.eyebrow--light{color:var(--brass-soft)}
.eyebrow::before{content:"";width:26px;height:1px;background:currentColor;opacity:.6}
.h2{font-size:var(--fs-h2);margin-bottom:1.1rem}
.h2--light{color:var(--cream-text)}
.lead{font-size:var(--fs-lead);color:var(--muted);max-width:56ch;line-height:1.6}
.lead--light{color:var(--cream-muted)}
.body{color:var(--muted);margin-top:1rem;max-width:58ch}
.section__head{max-width:720px;margin-bottom:clamp(2.4rem,1.6rem + 2vw,3.6rem)}
.section__head--center{margin-inline:auto;text-align:center}
.section__head--center .lead{margin-inline:auto}
.section__head--center .eyebrow::before{display:none}
.section__head--center .eyebrow::after{content:"";width:26px;height:1px;background:currentColor;opacity:.6}

.link-arrow{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:var(--brass-2);margin-top:1.6rem;transition:gap .3s var(--ease)}
.link-arrow .ico{width:1.15em;height:1.15em}
.link-arrow:hover{gap:.9rem}

.ico{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.18em}

/* ---------- BUTTONS ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:var(--sans);font-weight:600;font-size:.98rem;letter-spacing:.01em;
  padding:.95rem 1.7rem;border-radius:var(--r);cursor:pointer;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s var(--ease),color .3s var(--ease);
  white-space:nowrap;line-height:1}
.btn .ico{width:1.15em;height:1.15em}
.btn--sm{padding:.7rem 1.25rem;font-size:.9rem}
.btn--lg{padding:1.15rem 2.2rem;font-size:1.05rem}
.btn--primary{background:var(--pine);color:var(--cream-text);box-shadow:var(--sh-sm)}
.btn--primary:hover{background:var(--pine-2);transform:translateY(-2px);box-shadow:var(--sh-md)}
.btn--gold{background:var(--brass);color:#fff;box-shadow:var(--sh-sm)}
.btn--gold:hover{background:var(--brass-2);transform:translateY(-2px);box-shadow:var(--sh-brass)}
.btn--outline{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn--outline:hover{box-shadow:inset 0 0 0 1.5px var(--pine);background:var(--pine);color:var(--cream-text);transform:translateY(-2px)}
.btn--ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn--ghost:hover{background:var(--ink);color:var(--ivory)}
.btn--ghost-light{background:transparent;color:var(--cream-text);box-shadow:inset 0 0 0 1.5px rgba(242,236,223,.4)}
.btn--ghost-light:hover{background:rgba(242,236,223,.12)}
.finalcta .btn--outline{color:var(--cream-text);box-shadow:inset 0 0 0 1.5px rgba(242,236,223,.45)}
.finalcta .btn--outline:hover{background:var(--cream-text);color:var(--pine)}

/* ---------- TOPBAR ---------- */
.topbar{background:var(--pine);color:var(--cream-text);font-size:.82rem}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:40px;padding-block:.35rem}
.topbar__msg{display:flex;align-items:center;gap:.55rem;color:var(--cream-muted)}
.topbar__msg .ico{width:1rem;height:1rem;color:var(--brass-soft)}
.topbar__contact{display:flex;gap:1.4rem;flex:none}
.topbar__link{display:inline-flex;align-items:center;gap:.4rem;font-weight:500;transition:color .3s}
.topbar__link .ico{width:.95rem;height:.95rem;color:var(--brass-soft)}
.topbar__link:hover{color:#fff}

/* ---------- HEADER ---------- */
.header{position:sticky;top:0;z-index:50;transition:background .4s var(--ease),box-shadow .4s var(--ease),color .4s var(--ease);color:var(--cream-text)}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:76px}
.header.scrolled{background:rgba(244,246,243,.9);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line),0 8px 30px rgba(20,30,25,.06);color:var(--ink)}
.header.nav-open{background:transparent;box-shadow:none;color:var(--cream-text)}

.brand{display:inline-flex;align-items:center;gap:.7rem;color:inherit}
.brand__mark{font-family:var(--serif);font-weight:600;font-size:1.6rem;letter-spacing:-.02em;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:12px;
  background:var(--brass);color:#fff;box-shadow:var(--sh-sm)}
.brand__amp{font-size:.85em;opacity:.9;margin:0 .02em}
.brand__text{display:flex;flex-direction:column;line-height:1}
.brand__name{font-family:var(--serif);font-size:1.32rem;font-weight:500;letter-spacing:.01em}
.brand__sub{font-family:var(--sans);font-size:.66rem;font-weight:600;letter-spacing:.34em;text-transform:uppercase;opacity:.72;margin-top:.28rem}

.nav{display:flex;gap:.35rem}
.nav__link{position:relative;padding:.55rem .85rem;font-size:.95rem;font-weight:500;border-radius:8px;transition:color .25s,background .25s}
.nav__link::after{content:"";position:absolute;left:.85rem;right:.85rem;bottom:.35rem;height:1.5px;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav__link:hover::after{transform:scaleX(1)}

.header__cta{display:flex;align-items:center;gap:.9rem}
.header__phone{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;box-shadow:inset 0 0 0 1.5px currentColor;opacity:.85;transition:.3s}
.header__phone .ico{width:1.2rem;height:1.2rem}
.header__phone:hover{opacity:1;background:var(--brass);color:#fff;box-shadow:none}

.burger{display:none;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;border-radius:10px}
.burger span{width:24px;height:2px;background:currentColor;border-radius:2px;transition:.3s var(--ease)}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- MOBILE NAV ---------- */
.mobilenav{position:fixed;inset:0;z-index:49;background:var(--pine);color:var(--cream-text);
  transform:translateX(100%);transition:transform .45s var(--ease);visibility:hidden}
.mobilenav.open{transform:none;visibility:visible}
.mobilenav__inner{display:flex;flex-direction:column;gap:.4rem;padding:8rem 1.9rem 2.5rem}
.mobilenav__link{font-family:var(--serif);font-size:1.5rem;padding:.6rem 0;border-bottom:1px solid rgba(242,236,223,.12)}
.mobilenav__btn{margin-top:1.4rem;justify-content:center}
.mobilenav__contact{display:flex;flex-direction:column;gap:.6rem;margin-top:1.6rem;color:var(--cream-muted);font-weight:500}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:clamp(620px,90vh,940px);display:flex;align-items:center;
  color:var(--cream-text);overflow:hidden;padding-block:clamp(2rem,5vh,4rem);margin-top:-116px;padding-top:140px}
.hero__media,.hero__media img{position:absolute;inset:0;width:100%;height:100%}
.hero__media img{object-fit:cover;object-position:center}
.hero__scrim{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(16,17,16,.55) 0%,rgba(16,17,16,.26) 34%,rgba(16,17,16,.42) 66%,rgba(13,14,13,.74) 100%),
  radial-gradient(120% 80% at 15% 30%,rgba(13,14,13,.5),transparent 60%)}
.hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,4vw,4rem);align-items:center;width:100%}
.hero__copy{max-width:38rem}
.eyebrow--light{text-shadow:0 1px 12px rgba(0,0,0,.3)}
.hero__title{font-size:var(--fs-h1);color:#fff;font-weight:500;letter-spacing:-.015em;text-shadow:0 2px 30px rgba(0,0,0,.28);margin-bottom:1.3rem}
.hero__sub{font-size:clamp(1.05rem,.98rem + .4vw,1.3rem);color:rgba(255,255,255,.9);max-width:34rem;line-height:1.58;text-shadow:0 1px 16px rgba(0,0,0,.35)}
.hero__chips{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.9rem}
.hero__chips li{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;
  padding:.55rem 1rem;border-radius:var(--r-pill);
  background:rgba(255,255,255,.12);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.hero__chips .ico{width:1.05rem;height:1.05rem;color:var(--brass-soft)}

.hero__scroll{position:absolute;left:50%;bottom:1.6rem;transform:translateX(-50%);z-index:2;
  width:26px;height:42px;border-radius:14px;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
.hero__scroll span{position:absolute;left:50%;top:8px;width:4px;height:8px;border-radius:2px;background:#fff;transform:translateX(-50%);animation:scrolldot 1.8s var(--ease) infinite}
@keyframes scrolldot{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}70%{opacity:1}100%{opacity:0;transform:translate(-50%,12px)}}

/* ---------- BOOKING BAR ---------- */
.bookbar{background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border-radius:var(--r-lg);
  padding:1.5rem;box-shadow:var(--sh-lg);color:var(--ink)}
.bookbar--hero{width:100%;max-width:430px;justify-self:end}
.bookbar__title{font-family:var(--serif);font-size:1.28rem;margin-bottom:1.1rem;color:var(--ink)}
.bookbar__fields{display:flex;flex-direction:column;gap:.7rem}
.field{display:flex;flex-direction:column;gap:.34rem}
.field__label{font-size:.74rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.field__input{width:100%;padding:.82rem .95rem;border-radius:var(--r-sm);background:#fff;
  box-shadow:inset 0 0 0 1.5px var(--line);font-size:1rem;font-weight:500;color:var(--ink);
  transition:box-shadow .25s;appearance:none;-webkit-appearance:none}
.field__input:focus{outline:none;box-shadow:inset 0 0 0 1.5px var(--brass)}
select.field__input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236C6658' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.4rem}
.bookbar__submit{width:100%;margin-top:.3rem;padding-block:1rem}
.bookbar__note{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--muted);margin-top:1rem;line-height:1.4}
.bookbar__note .ico{width:1rem;height:1rem;color:var(--sage);flex:none}

.bookbar--solid{max-width:920px;margin:0 auto;background:var(--paper)}
.bookbar--solid .bookbar__fields{flex-direction:row;align-items:flex-end;gap:1rem}
.bookbar--solid .field{flex:1}
.bookbar--solid .bookbar__submit{width:auto;flex:none;margin:0;padding-inline:2rem}

/* ---------- TRUSTBAR ---------- */
.trustbar{background:var(--pine);color:var(--cream-text);border-top:1px solid rgba(242,236,223,.08)}
.trustbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.2rem 1.6rem;padding-block:1.5rem}
.trustbar__item{display:inline-flex;align-items:center;gap:.6rem;font-size:.92rem;font-weight:500;color:var(--cream-text)}
.trustbar__item .ico{width:1.35rem;height:1.35rem;color:var(--brass-soft)}

/* ---------- DECO ---------- */
.deco{position:absolute;pointer-events:none;z-index:0}
.deco--dots{top:8%;right:-40px;width:220px;height:220px;opacity:.5;
  background-image:radial-gradient(var(--sage) 1.4px,transparent 1.4px);background-size:18px 18px;
  -webkit-mask-image:radial-gradient(circle,#000 40%,transparent 72%);mask-image:radial-gradient(circle,#000 40%,transparent 72%)}
.deco--glow{top:-10%;left:-8%;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(222,192,128,.16),transparent 62%)}
.deco--rings{top:50%;left:50%;width:min(1000px,120%);height:min(1000px,120%);transform:translate(-50%,-50%);opacity:.5;
  background:
    radial-gradient(circle,transparent 39%,rgba(217,194,154,.14) 39.4%,transparent 40%),
    radial-gradient(circle,transparent 29%,rgba(217,194,154,.12) 29.4%,transparent 30%),
    radial-gradient(circle,transparent 19%,rgba(217,194,154,.10) 19.4%,transparent 20%)}
.intro,.apartments{position:relative;overflow:hidden}
.intro .wrap,.apartments .wrap,.buchen .wrap{position:relative;z-index:1}

/* ---------- INTRO ---------- */
.intro__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2.5rem,4vw,5rem);align-items:center}
.intro__stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm)}
.stat{background:var(--paper);padding:clamp(1.5rem,2vw,2.2rem)}
.stat__num{display:block;font-family:var(--serif);font-size:clamp(2.1rem,1.6rem + 1.8vw,3rem);font-weight:500;color:var(--pine);line-height:1}
.stat__unit{font-size:.5em;color:var(--brass-2)}
.stat__label{display:block;margin-top:.5rem;font-size:.9rem;color:var(--muted)}

/* ---------- BENEFITS (pine) ---------- */
.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}
.benefit{padding:2rem 1.6rem;border-radius:var(--r-lg);background:var(--pine-2);
  box-shadow:inset 0 0 0 1px rgba(242,236,223,.08);transition:transform .35s var(--ease),background .35s}
.benefit:hover{transform:translateY(-5px);background:var(--pine-soft)}
.benefit__ico{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;
  background:rgba(217,194,154,.14);color:var(--brass-soft);margin-bottom:1.2rem}
.benefit__ico svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.benefit__title{font-size:1.18rem;color:var(--cream-text);margin-bottom:.5rem}
.benefit p{font-size:.94rem;color:var(--cream-muted);line-height:1.55}

/* ---------- APARTMENTS ---------- */
.aptgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.7rem}
.apt{display:flex;flex-direction:column;background:var(--paper);border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--sh-sm);transition:transform .4s var(--ease),box-shadow .4s var(--ease);border:1px solid var(--line-2)}
.apt:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.apt--featured{box-shadow:var(--sh-md);border-color:var(--brass-soft)}
.apt__media{position:relative;aspect-ratio:4/3;overflow:hidden}
.apt__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.apt:hover .apt__media img{transform:scale(1.05)}
.apt__badge{position:absolute;top:1rem;left:1rem;font-size:.72rem;font-weight:600;letter-spacing:.03em;
  padding:.4rem .8rem;border-radius:var(--r-pill);background:rgba(255,255,255,.95);color:var(--ink);box-shadow:var(--sh-sm)}
.apt__badge--gold{background:var(--brass);color:#fff}
.apt__body{display:flex;flex-direction:column;flex:1;padding:1.6rem}
.apt__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.9rem}
.apt__title{font-size:1.4rem}
.apt__price{font-family:var(--serif);font-size:1.5rem;color:var(--pine);font-weight:600;line-height:1;text-align:right;white-space:nowrap}
.apt__price span{display:inline;font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:normal;text-transform:lowercase;color:var(--muted);margin-right:.22rem;vertical-align:baseline}
.apt__price small{font-family:var(--sans);font-size:.62rem;font-weight:500;color:var(--muted);letter-spacing:.02em}
.apt__specs{display:flex;flex-wrap:wrap;gap:.4rem 1rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--line-2)}
.apt__specs li{display:inline-flex;align-items:center;gap:.4rem;font-size:.86rem;color:var(--ink-2);font-weight:500}
.apt__specs .ico{width:1.05rem;height:1.05rem;color:var(--brass-2)}
.apt__desc{font-size:.95rem;color:var(--muted);flex:1;margin-bottom:1.2rem}
.apt__amen{display:flex;gap:.55rem;margin-bottom:1.3rem}
.apt__amen span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:var(--ivory-2);color:var(--pine)}
.apt__amen .ico{width:1.15rem;height:1.15rem}
.apt__cta{width:100%}
.apartments__legal{margin:1.8rem auto 0;font-size:.82rem;color:var(--muted);max-width:70ch;text-align:center}

/* ---------- AUSSTATTUNG ---------- */
.amengrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.amen{display:flex;gap:1.1rem;padding:1.5rem;background:var(--paper);border-radius:var(--r);box-shadow:var(--sh-sm);
  border:1px solid var(--line-2);transition:transform .3s var(--ease),box-shadow .3s}
.amen:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.amen__ico{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex:none;border-radius:12px;
  background:var(--sage-soft);color:var(--pine)}
.amen__ico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.amen h3{font-size:1.06rem;margin-bottom:.3rem}
.amen p{font-size:.9rem;color:var(--muted);line-height:1.5}

/* ---------- CHECK-IN STEPS ---------- */
.checkin__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2.5rem,4vw,5rem);align-items:center}
.steps{display:flex;flex-direction:column;gap:1.1rem}
.step{display:flex;gap:1.3rem;align-items:flex-start;padding:1.5rem 1.7rem;background:var(--paper);border-radius:var(--r);
  box-shadow:var(--sh-sm);border:1px solid var(--line-2);position:relative}
.step__num{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;border-radius:50%;
  font-family:var(--serif);font-size:1.3rem;font-weight:600;background:var(--pine);color:var(--brass-soft)}
.step h3{font-size:1.12rem;margin-bottom:.25rem}
.step p{font-size:.92rem;color:var(--muted)}

/* ---------- FIRMEN ---------- */
.firmen__grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(2.5rem,4vw,4.5rem);align-items:stretch}
.firmen__media{position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lg)}
.firmen__media img{width:100%;height:100%;object-fit:cover;min-height:100%}
.firmen__badge{position:absolute;left:1.3rem;bottom:1.3rem;background:var(--brass);color:#fff;padding:.9rem 1.3rem;border-radius:var(--r);box-shadow:var(--sh-md);display:flex;flex-direction:column;line-height:1.15}
.firmen__badge strong{font-family:var(--serif);font-size:1.35rem;font-weight:600}
.firmen__badge span{font-size:.82rem;opacity:.92}
.checklist{display:flex;flex-direction:column;gap:.75rem;margin:1.6rem 0}
.checklist li{display:flex;align-items:flex-start;gap:.7rem;font-size:1rem}
.checklist .ico{width:1.25rem;height:1.25rem;flex:none;margin-top:.15rem;color:var(--brass)}
.checklist--light li{color:var(--cream-text)}
.checklist--light .ico{color:var(--brass-soft)}
.firmen__actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.9rem}

/* ---------- LAGE ---------- */
.lage__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:1.7rem}
.lage__card{background:var(--paper);border-radius:var(--r-lg);padding:clamp(1.6rem,2.5vw,2.4rem);box-shadow:var(--sh-md);border:1px solid var(--line-2)}
.lage__addr{display:flex;gap:1rem;align-items:flex-start;padding-bottom:1.4rem;margin-bottom:1.4rem;border-bottom:1px solid var(--line-2)}
.lage__pin{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;flex:none;border-radius:14px;background:var(--pine);color:var(--brass-soft)}
.lage__pin svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lage__addr strong{font-family:var(--serif);font-size:1.3rem;color:var(--ink);display:block;margin-bottom:.2rem}
.lage__addr p{color:var(--muted)}
.lage__dist{display:flex;flex-direction:column}
.lage__dist li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line-2);font-weight:500}
.lage__dist li:last-child{border-bottom:none}
.lage__km{color:var(--brass-2);font-weight:600;font-size:.92rem;white-space:nowrap}
.lage__hint{display:flex;gap:.5rem;align-items:flex-start;margin-top:1.2rem;font-size:.8rem;color:var(--muted)}
.lage__hint .ico{width:1rem;height:1rem;flex:none;color:var(--sage);margin-top:.1rem}
.lage__side{display:flex;flex-direction:column;gap:1.7rem}
.lage__photo{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-md);flex:1}
.lage__photo img{width:100%;height:100%;min-height:220px;object-fit:cover}
.lage__pills-title{font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.9rem}
.pills{display:flex;flex-wrap:wrap;gap:.6rem}
.pill{padding:.55rem 1.05rem;border-radius:var(--r-pill);background:var(--paper);font-size:.9rem;font-weight:500;
  box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink-2)}

/* ---------- GALERIE ---------- */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:1.1rem}
.gallery__item{overflow:hidden;border-radius:var(--r);box-shadow:var(--sh-sm)}
.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.gallery__item:hover img{transform:scale(1.06)}
.gallery__item--tall{grid-row:span 2}
.gallery__item--wide{grid-column:span 2}

/* ---------- BEWERTUNGEN ---------- */
.bewertungen__head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:clamp(2.2rem,3vw,3.4rem)}
.section__head--left{margin-bottom:0;max-width:640px}
.ratingbox{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1.4rem 1.8rem;background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--sh-md);border:1px solid var(--line-2);flex:none}
.ratingbox__score{font-family:var(--serif);font-size:2.8rem;font-weight:600;color:var(--pine);line-height:1}
.ratingbox__score span{font-size:.42em;color:var(--muted)}
.ratingbox__stars{display:flex;gap:.15rem}
.ratingbox__stars svg{width:20px;height:20px;fill:var(--star);stroke:none}
.ratingbox__meta{font-size:.82rem;color:var(--muted)}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.review{display:flex;flex-direction:column;gap:1rem;padding:1.8rem;background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--sh-sm);border:1px solid var(--line-2)}
.review__stars{color:var(--star);letter-spacing:.15em;font-size:1.05rem}
.review blockquote{font-family:var(--serif);font-size:1.12rem;line-height:1.5;color:var(--ink-2);flex:1}
.review figcaption{display:flex;flex-direction:column;padding-top:1rem;border-top:1px solid var(--line-2)}
.review__name{font-weight:600}
.review__role{font-size:.85rem;color:var(--muted)}
.reviews__note{margin-top:1.4rem;font-size:.8rem;color:var(--muted);font-style:italic}

/* ---------- BUCHEN / ENGINE ---------- */
.buchen{overflow:hidden;background:linear-gradient(rgba(15,16,15,.85),rgba(13,14,13,.9)),url("../img/bg-buchen.jpg");background-size:cover;background-position:center}
.buchen .bookbar--solid{margin-bottom:1.5rem}
.engine{max-width:920px;margin:0 auto}
.engine__fallback{position:relative;overflow:hidden;text-align:center;padding:clamp(2.5rem,4vw,3.6rem);border-radius:var(--r-lg);
  background:linear-gradient(180deg,var(--pine-2),var(--pine));box-shadow:var(--sh-lg);box-shadow:inset 0 0 0 1px rgba(242,236,223,.1),var(--sh-lg)}
.engine__glow{position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:120%;height:120%;
  background:radial-gradient(circle,rgba(217,194,154,.18),transparent 60%);pointer-events:none}
.engine__fallback>*{position:relative;z-index:1}
.engine__badge{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--brass-soft);padding:.45rem .9rem;border-radius:var(--r-pill);background:rgba(217,194,154,.12);box-shadow:inset 0 0 0 1px rgba(217,194,154,.3);margin-bottom:1.3rem}
.engine__fallback h3{font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);color:var(--cream-text);margin-bottom:.7rem}
.engine__fallback>p{color:var(--cream-muted);max-width:44ch;margin:0 auto 1.7rem}
.engine__mini{font-size:.82rem;color:var(--cream-muted);margin-top:1.2rem}
.engine iframe{width:100%;min-height:640px;border:none;border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--sh-lg);display:block}
.buchen__contact{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.4rem;margin-top:2rem;color:var(--cream-muted)}
.buchen__contact a{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:var(--cream-text)}
.buchen__contact .ico{width:1.15rem;height:1.15rem;color:var(--brass-soft)}

/* ---------- FAQ ---------- */
.faq__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2.5rem,4vw,5rem);align-items:start}
.faq__intro{position:sticky;top:110px}
.faq__contact{margin-top:1.4rem;color:var(--muted)}
.faq__contact a{color:var(--brass-2);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.accordion{display:flex;flex-direction:column;gap:.8rem}
.acc{background:var(--paper);border-radius:var(--r);box-shadow:var(--sh-sm);border:1px solid var(--line-2);overflow:hidden}
.acc summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.3rem 1.5rem;
  font-family:var(--serif);font-size:1.1rem;font-weight:500;cursor:pointer;list-style:none;color:var(--ink)}
.acc summary::-webkit-details-marker{display:none}
.acc__ico{position:relative;width:22px;height:22px;flex:none}
.acc__ico::before,.acc__ico::after{content:"";position:absolute;top:50%;left:50%;background:var(--brass-2);border-radius:2px;transition:transform .3s var(--ease)}
.acc__ico::before{width:14px;height:2px;transform:translate(-50%,-50%)}
.acc__ico::after{width:2px;height:14px;transform:translate(-50%,-50%)}
.acc[open] .acc__ico::after{transform:translate(-50%,-50%) scaleY(0)}
.acc__body{padding:0 1.5rem 1.4rem;color:var(--muted);line-height:1.6}
.acc[open] summary{color:var(--brass-2)}

/* ---------- FINAL CTA ---------- */
.finalcta{background:linear-gradient(rgba(15,16,15,.82),rgba(13,14,13,.9)),url("../img/bg-final.jpg");background-size:cover;background-position:center;color:var(--cream-text);text-align:center}
.finalcta__inner{max-width:660px;margin:0 auto}
.finalcta__title{font-size:clamp(2rem,1.5rem + 2.2vw,3.2rem);color:#fff;margin-bottom:1rem}
.finalcta__sub{font-size:var(--fs-lead);color:var(--cream-muted);margin-bottom:2rem}
.finalcta__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ---------- FOOTER ---------- */
.footer{background:#141514;color:var(--cream-muted);font-size:.95rem}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem;padding-block:clamp(3rem,4vw,4.5rem)}
.brand--footer .brand__name,.brand--footer .brand__sub{color:var(--cream-text)}
.footer__tagline{margin:1.3rem 0 1.5rem;max-width:32ch;line-height:1.6}
.footer__social{display:flex;gap:.7rem}
.footer__social a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(242,236,223,.22);transition:.3s}
.footer__social svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.footer__social a:hover{background:var(--brass);color:#fff;box-shadow:none;transform:translateY(-2px)}
.footer__col h3{color:var(--cream-text);font-family:var(--sans);font-size:.82rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.2rem}
.footer__col a{display:block;padding:.32rem 0;transition:color .25s}
.footer__col a:hover{color:var(--brass-soft)}
.footer__addr{margin-bottom:.8rem;line-height:1.6}
.footer__hours{margin-top:.9rem;font-size:.86rem;opacity:.8;line-height:1.6}
.footer__book p{margin-bottom:1.1rem;line-height:1.55}

.footer__pay{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem;
  padding-block:1.6rem;border-top:1px solid rgba(242,236,223,.1)}
.footer__pay-label{display:inline-flex;align-items:center;gap:.55rem;font-size:.88rem;color:var(--cream-text);font-weight:500}
.footer__pay-label .ico{width:1.15rem;height:1.15rem;color:var(--brass-soft)}
.paylogos{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}
.paylogos svg{height:30px;width:auto;border-radius:5px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);display:block}

.footer__bottom{border-top:1px solid rgba(242,236,223,.1);padding-block:1.4rem;font-size:.85rem}
.footer__bottom-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}
.footer__legal{display:flex;flex-wrap:wrap;gap:1.3rem}
.footer__legal a,.footer__legal-btn{color:var(--cream-muted);font-size:.85rem;transition:color .25s}
.footer__legal a:hover,.footer__legal-btn:hover{color:var(--brass-soft)}
.footer__by a{color:var(--brass-soft);font-weight:600}

/* ---------- STICKY BAR (mobil) ---------- */
.stickybar{position:fixed;left:0;right:0;bottom:0;z-index:45;display:none;align-items:center;justify-content:space-between;gap:1rem;
  padding:.75rem 1.1rem;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);box-shadow:0 -6px 24px rgba(20,30,25,.12);
  transform:translateY(110%);transition:transform .4s var(--ease);padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}
.stickybar.show{transform:none}
.stickybar__info{display:flex;flex-direction:column;line-height:1.2}
.stickybar__price{font-family:var(--serif);font-size:1.25rem;font-weight:600;color:var(--pine)}
.stickybar__price small{font-family:var(--sans);font-size:.6rem;font-weight:500;color:var(--muted)}
.stickybar__meta{font-size:.74rem;color:var(--muted)}
.stickybar__btn{flex:none}

/* ---------- COOKIE ---------- */
.cookie{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:60;max-width:460px;margin-left:auto;
  background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--sh-lg);border:1px solid var(--line);
  transform:translateY(140%);transition:transform .5s var(--ease)}
.cookie.show{transform:none}
.cookie[hidden]{display:block}
.cookie__inner{padding:1.6rem}
.cookie__text h3{font-size:1.2rem;margin-bottom:.5rem}
.cookie__text p{font-size:.88rem;color:var(--muted);line-height:1.55}
.cookie__text a{color:var(--brass-2);text-decoration:underline;text-underline-offset:2px}
.cookie__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.3rem}
.cookie__btn{flex:1;min-width:120px;padding:.7rem 1rem;font-size:.88rem}

/* ---------- REVEAL ---------- */
.js .reveal{opacity:0;transform:translateY(24px);animation:revealsafe .7s var(--ease) 2.4s forwards}
.reveal.is-in{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .8s var(--ease);animation:none}
@keyframes revealsafe{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none;animation:none}
  .hero__scroll span{animation:none}
}

/* =================================================================
   RESPONSIVE
   ================================================================= */
@media (max-width:1024px){
  .hero__inner{grid-template-columns:1fr;gap:2.2rem}
  .bookbar--hero{justify-self:stretch;max-width:520px}
  .intro__grid,.checkin__grid,.firmen__grid,.lage__grid,.faq__grid{grid-template-columns:1fr}
  .benefits{grid-template-columns:repeat(2,1fr)}
  .aptgrid{grid-template-columns:1fr 1fr}
  .apt--featured{grid-column:span 2}
  .amengrid{grid-template-columns:repeat(2,1fr)}
  .reviews{grid-template-columns:1fr}
  .faq__intro{position:static}
  .firmen__grid{direction:ltr}
  .lage__side{flex-direction:row}
  .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}
  .gallery__item--wide{grid-column:span 2}
  .gallery__item--tall{grid-row:span 1}
}
@media (max-width:860px){
  .nav,.topbar__contact,.header__phone,.topbar__more{display:none}
  .burger{display:flex}
  .topbar__inner{justify-content:center}
  .stat__num{font-size:2.1rem}
  .lage__side{flex-direction:column}
  .bewertungen__head{flex-direction:column;align-items:flex-start}
  .bookbar--solid .bookbar__fields{flex-wrap:wrap}
  .bookbar--solid .field{flex:1 1 40%}
  .bookbar--solid .bookbar__submit{width:100%;flex:1 1 100%}
}
@media (max-width:640px){
  :root{--pad-sec:clamp(3.5rem,2.5rem + 5vw,5rem)}
  .header__inner{min-height:64px}
  .hero{margin-top:-104px;padding-top:120px;min-height:auto;padding-bottom:2.5rem}
  .brand__sub{display:none}
  .brand__mark{width:42px;height:42px;font-size:1.45rem}
  .aptgrid,.amengrid,.benefits{grid-template-columns:1fr}
  .apt--featured{grid-column:auto}
  .intro__stats{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr;grid-auto-rows:230px}
  .gallery__item--wide,.gallery__item--tall{grid-column:auto;grid-row:auto}
  .stickybar{display:flex}
  .cookie{left:.6rem;right:.6rem;bottom:.6rem}
  .footer__pay{flex-direction:column;align-items:flex-start}
  .firmen__actions .btn,.finalcta__actions .btn{width:100%}
  .hero__chips li{font-size:.82rem;padding:.45rem .8rem}
}

/* ---------- BRAND-LOGO + GOLD (Sekundärfarbe aus den Logo-Dächern) ---------- */
.brand__logo{height:42px;width:auto;display:block;flex:none}
.brand--footer .brand__logo{height:38px}
.brand__name{font-size:1.16rem;letter-spacing:.005em}
.btn--gold{color:var(--ink)}
.btn--gold:hover{color:var(--ink);background:#C7A559}
::selection{background:var(--brass);color:var(--ink)}
@media (max-width:640px){ .brand__logo{height:36px} }

/* ---------- "Direkt buchen lohnt sich" – Hintergrundbild ---------- */
.directbenefits{
  background-image:
    linear-gradient(180deg, rgba(17,18,17,.88) 0%, rgba(17,18,17,.74) 42%, rgba(15,16,15,.90) 100%),
    url("../img/bg-direct.jpg");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.directbenefits .benefit{
  background:rgba(26,28,27,.52);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-shadow:inset 0 0 0 1px rgba(238,223,180,.16), 0 16px 40px rgba(0,0,0,.30);
}
.directbenefits .benefit:hover{background:rgba(40,44,42,.60)}

/* ---------- Animierte Icons in "Direkt buchen lohnt sich" ---------- */
.directbenefits .benefit__ico{animation:bIcoFloat 3.6s ease-in-out infinite;will-change:transform;transition:background .3s var(--ease)}
.directbenefits .benefit:nth-child(1) .benefit__ico{animation-delay:0s}
.directbenefits .benefit:nth-child(2) .benefit__ico{animation-delay:.45s}
.directbenefits .benefit:nth-child(3) .benefit__ico{animation-delay:.9s}
.directbenefits .benefit:nth-child(4) .benefit__ico{animation-delay:1.35s}
@keyframes bIcoFloat{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-5px) rotate(-2deg)}}
.directbenefits .benefit__ico svg{transition:transform .4s var(--ease)}
.directbenefits .benefit:hover .benefit__ico{animation-play-state:paused;background:rgba(222,192,128,.24)}
.directbenefits .benefit:hover .benefit__ico svg{animation:bIcoPop .6s var(--ease)}
@keyframes bIcoPop{0%{transform:scale(1) rotate(0deg)}35%{transform:scale(1.22) rotate(-10deg)}70%{transform:scale(.96) rotate(5deg)}100%{transform:scale(1) rotate(0deg)}}
@media (prefers-reduced-motion:reduce){
  .directbenefits .benefit__ico,.directbenefits .benefit:hover .benefit__ico svg{animation:none}
}

/* ---------- Header-Buchungs-Button (premium) ---------- */
.header__book{background:linear-gradient(135deg,#E7CD8E,#D5B871);color:#1A1C1B;font-weight:700;box-shadow:0 8px 22px rgba(216,188,119,.38),inset 0 1px 0 rgba(255,255,255,.35)}
.header__book:hover{background:linear-gradient(135deg,#EDD69B,#CBAD63);color:#1A1C1B;transform:translateY(-2px);box-shadow:0 12px 30px rgba(216,188,119,.5),inset 0 1px 0 rgba(255,255,255,.4)}
.header__book .ico{width:1.05rem;height:1.05rem}

/* ---------- Lage: animierter Pin ---------- */
.lage__pin{position:relative}
.lage__pin svg{animation:pinBob 2.4s ease-in-out infinite}
.lage__pin::after{content:"";position:absolute;inset:-5px;border-radius:16px;border:2px solid var(--brass);opacity:0;animation:pinRing 2.4s ease-out infinite;pointer-events:none}
@keyframes pinBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes pinRing{0%{transform:scale(.85);opacity:.55}100%{transform:scale(1.3);opacity:0}}

/* ---------- Für Firmen: Bild volle Spaltenhöhe ---------- */
@media (max-width:1024px){ .firmen__media img{height:auto;min-height:0;aspect-ratio:4/3} }
@media (prefers-reduced-motion:reduce){ .lage__pin svg,.lage__pin::after{animation:none} }

/* ---------- Bild-Marquee (zwei gegenläufige Reihen) ---------- */
.galerie .section__head{text-align:center;margin-inline:auto}
.galerie .section__head .eyebrow::before{display:none}
.galerie .section__head .lead{margin-inline:auto}
.marquee{display:flex;flex-direction:column;gap:1.15rem;overflow:hidden;margin-top:clamp(2rem,3vw,3.2rem);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.marquee__row{overflow:hidden}
.marquee__track{display:flex;gap:1.15rem;width:max-content;animation:marqLeft 64s linear infinite;will-change:transform}
.marquee__track--rev{animation:marqRight 64s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__item{flex:0 0 auto;width:clamp(230px,25vw,340px);aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-sm);background:var(--ivory-2)}
.marquee__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease)}
.marquee__item:hover img{transform:scale(1.05)}
@keyframes marqLeft{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes marqRight{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media (prefers-reduced-motion:reduce){ .marquee__track{animation:none} }

/* ---------- Bewertungen als Marquee ---------- */
.reviews-marquee{overflow:hidden;margin-top:clamp(1.5rem,2.5vw,2.5rem);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.reviews-track{display:flex;gap:1.4rem;width:max-content;animation:marqLeft 70s linear infinite;will-change:transform}
.reviews-marquee:hover .reviews-track{animation-play-state:paused}
.reviews-track .review{flex:0 0 auto;width:min(360px,82vw);margin:0}
@media (prefers-reduced-motion:reduce){ .reviews-track{animation:none} }

/* ---------- Jetzt buchen: Reassurance-Zeile ---------- */
.buchen__assurance{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2.2rem;max-width:860px;margin:2.2rem auto 0;padding-top:2rem;border-top:1px solid rgba(238,242,236,.15);list-style:none}
.buchen__assurance li{display:inline-flex;align-items:center;gap:.6rem;font-size:1rem;font-weight:500;color:var(--cream-text)}
.buchen__assurance .ico{width:1.35rem;height:1.35rem;color:var(--brass-soft);flex:none}

/* ---------- FAQ Kontakt-/Profilkarte ---------- */
.contact-card{display:flex;flex-direction:column;background:var(--paper);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-md);border:1px solid var(--line-2);margin-top:2rem}
.contact-card__media{width:100%;height:clamp(220px,24vw,290px);background:var(--ivory-2)}
.contact-card__media img{width:100%;height:100%;object-fit:cover;object-position:50% 24%}
.contact-card__body{padding:1.6rem 1.7rem 1.8rem;display:flex;flex-direction:column}
.contact-card__eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-2);margin-bottom:.5rem}
.contact-card__text{font-size:.95rem;color:var(--muted);line-height:1.5}
.contact-card__phone{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--serif);font-size:clamp(1.15rem, 1rem + .55vw, 1.35rem);font-weight:600;color:var(--ink);margin:1rem 0 1.2rem}
.contact-card__phone .ico{width:1.15rem;height:1.15rem;color:var(--brass-2)}
.contact-card__actions{display:flex;gap:.6rem;flex-wrap:wrap}
.contact-card__actions .btn{flex:1;min-width:120px;justify-content:center}

/* ---------- Self-Check-in: Premium-Boxen + Puls-Strahl ---------- */
.checkin{position:relative;overflow:hidden}
.steps3{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;margin-top:clamp(2.6rem,4vw,3.8rem)}
.steps3__beam{position:absolute;top:86px;left:15%;right:15%;height:3px;border-radius:3px;z-index:0;
  background:linear-gradient(90deg,transparent 0%,var(--brass) 18%,#F4E4BA 50%,var(--brass) 82%,transparent 100%);
  background-size:220% 100%;animation:beamFlow 3.4s linear infinite;box-shadow:0 0 16px rgba(222,192,128,.6)}
@keyframes beamFlow{0%{background-position:120% 0}100%{background-position:-120% 0}}
.step3{position:relative;z-index:1;background:var(--paper);border:1px solid var(--line-2);border-radius:var(--r-lg);
  padding:2.7rem 1.9rem 2.2rem;text-align:center;box-shadow:var(--sh-md);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.step3:hover{transform:translateY(-7px);box-shadow:var(--sh-lg)}
.step3__num{position:absolute;top:1.3rem;right:1.5rem;font-family:var(--serif);font-size:1.05rem;font-weight:700;color:var(--brass);opacity:.5}
.step3__ico{display:inline-flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:24px;margin-bottom:1.35rem;
  background:radial-gradient(circle at 32% 26%,#F6EBCD,#E3C988);color:#725618;position:relative;
  box-shadow:0 14px 30px rgba(222,192,128,.5),inset 0 1px 0 rgba(255,255,255,.65)}
.step3__ico svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;animation:step3Float 3.6s ease-in-out infinite}
.step3:nth-child(3) .step3__ico svg{animation-delay:.5s}
.step3:nth-child(4) .step3__ico svg{animation-delay:1s}
@keyframes step3Float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.step3:hover .step3__ico{animation:step3Pop .6s var(--ease)}
@keyframes step3Pop{0%{transform:scale(1) rotate(0)}40%{transform:scale(1.1) rotate(-7deg)}100%{transform:scale(1) rotate(0)}}
.step3 h3{font-size:1.28rem;margin-bottom:.55rem}
.step3 p{color:var(--muted);font-size:.96rem;line-height:1.55}
.checkin__cta{text-align:center;margin-top:clamp(2rem,3vw,2.8rem)}
@media (max-width:820px){ .steps3{grid-template-columns:1fr;gap:1.2rem} .steps3__beam{display:none} }
@media (prefers-reduced-motion:reduce){ .steps3__beam,.step3__ico svg{animation:none} }

/* ---------- Ausstattung: Split-Layout (Bild + elegante Liste) ---------- */
.ausstattung__grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(2rem,4vw,3.8rem);align-items:stretch}
.ausstattung__media{position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lg);min-height:100%}
.ausstattung__media img{width:100%;height:100%;object-fit:cover;min-height:460px}
.ausstattung__badge{position:absolute;left:1.4rem;bottom:1.4rem;background:rgba(18,19,18,.72);backdrop-filter:blur(8px);color:var(--cream-text);padding:.9rem 1.3rem;border-radius:var(--r);display:flex;flex-direction:column;line-height:1.2;box-shadow:var(--sh-md)}
.ausstattung__badge strong{font-family:var(--serif);font-size:1.2rem}
.ausstattung__badge span{font-size:.82rem;opacity:.85;margin-top:.1rem}
.ausstattung__content{display:flex;flex-direction:column;justify-content:center}
.ausstattung__content .section__head{max-width:none;margin-bottom:1.4rem}
.ausstattung .amengrid{grid-template-columns:1fr 1fr;gap:0 1.9rem}
.ausstattung .amen{display:flex;gap:.85rem;align-items:flex-start;padding:.95rem 0;background:none;border:none;border-bottom:1px solid var(--line-2);border-radius:0;box-shadow:none;transition:none}
.ausstattung .amen:hover{transform:none;box-shadow:none}
.ausstattung .amen__ico{width:42px;height:42px;flex:none;border-radius:11px;background:rgba(222,192,128,.16);color:var(--brass-2)}
.ausstattung .amen__ico svg{width:21px;height:21px}
.ausstattung .amen h3{font-size:1rem;margin-bottom:.15rem}
.ausstattung .amen p{font-size:.85rem;line-height:1.45}
@media (max-width:860px){ .ausstattung__grid{grid-template-columns:1fr} .ausstattung__media img{min-height:300px} }
@media (max-width:560px){ .ausstattung .amengrid{grid-template-columns:1fr} }

/* ---------- Willkommen: Editorial-Bild + Kennzahlen ---------- */
.intro__grid{grid-template-columns:.9fr 1.1fr}
.intro__media{position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lg)}
.intro__media img{width:100%;aspect-ratio:4/4.7;object-fit:cover;display:block}
.intro__badge{position:absolute;left:1.3rem;bottom:1.3rem;background:rgba(255,255,255,.93);backdrop-filter:blur(10px);border-radius:var(--r);padding:.9rem 1.2rem;box-shadow:var(--sh-md);display:flex;flex-direction:column;gap:.05rem}
.intro__badge-stars{color:var(--star);letter-spacing:.12em;font-size:.95rem}
.intro__badge strong{font-family:var(--serif);font-size:1.25rem;font-weight:600;color:var(--ink);line-height:1.1;margin-top:.2rem}
.intro__badge span{font-size:.8rem;color:var(--muted)}
.intro__stats{display:flex;flex-wrap:wrap;gap:1.4rem 2.4rem;margin:1.9rem 0 1.5rem;padding-top:1.7rem;border-top:1px solid var(--line-2);background:none;border-radius:0;overflow:visible;box-shadow:none}
.istat{display:flex;flex-direction:column;background:none;padding:0}
.istat__num{font-family:var(--serif);font-size:clamp(1.9rem, 1.4rem + 1.1vw, 2.4rem);font-weight:600;color:var(--pine);line-height:1}
.istat__label{font-size:.85rem;color:var(--muted);margin-top:.35rem}
@media (max-width:1024px){ .intro__grid{grid-template-columns:1fr} .intro__media img{aspect-ratio:16/10} .intro__badge{left:1.1rem;bottom:1.1rem} }

/* ---------- Apartments: 3D-Coverflow-Karussell ---------- */
.aptcarousel{position:relative;max-width:1080px;margin:clamp(2rem,3vw,3rem) auto 0;padding:0 clamp(.75rem,5vw,3.5rem)}
.aptcarousel__stage{position:relative;height:668px;perspective:1900px;transform-style:preserve-3d}
.aptcarousel .apt{position:absolute;top:50%;left:50%;width:min(384px,86vw);margin:0;
  transition:transform .55s var(--ease),opacity .5s var(--ease),box-shadow .5s var(--ease);
  backface-visibility:hidden;will-change:transform,opacity}
.aptcarousel .apt.is-active{box-shadow:var(--sh-lg)}
.aptcarousel .apt:not(.is-active){cursor:pointer}
.aptcarousel .apt:not(.is-active):hover{box-shadow:var(--sh-lg)}
.aptcarousel__arrow{position:absolute;top:145px;transform:translateY(-50%);z-index:60;
  width:54px;height:54px;border-radius:50%;background:var(--paper);color:var(--ink);border:1px solid var(--line-2);
  display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-md);
  transition:background .3s var(--ease),color .3s var(--ease),box-shadow .3s var(--ease)}
.aptcarousel__arrow svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.aptcarousel__arrow:hover{background:var(--brass);color:#fff;border-color:transparent;box-shadow:var(--sh-brass)}
.aptcarousel__arrow--prev{left:0}
.aptcarousel__arrow--next{right:0}
.aptcarousel__dots{display:flex;justify-content:center;gap:.55rem;margin-top:1.6rem}
.aptcarousel__dot{width:9px;height:9px;padding:0;border:none;border-radius:50%;background:var(--line);cursor:pointer;transition:background .3s var(--ease),width .3s var(--ease)}
.aptcarousel__dot.is-active{background:var(--brass);width:28px;border-radius:5px}
@media (max-width:560px){ .aptcarousel{padding:0 .35rem} .aptcarousel__arrow{width:44px;height:44px} .aptcarousel__arrow svg{width:20px;height:20px} }

/* ---------- Header breiter ---------- */
.header__inner,.topbar__inner{max-width:1440px}

/* ---------- Mobile-Fixes: Header-CTA + Hero-Headline ---------- */
.header__book-short{display:none}
@media (max-width:640px){
  .header__inner{gap:.5rem;min-height:60px}
  .brand__logo{height:34px}
  .brand__name{font-size:1rem}
  .header__book{padding:.5rem .95rem;font-size:.82rem;gap:.4rem}
  .header__book .ico{width:.95rem;height:.95rem}
  .header__book-full{display:none}
  .header__book-short{display:inline}
  .hero__title{font-size:clamp(1.6rem, 0.9rem + 3.4vw, 2.2rem);line-height:1.14}
  .hero__sub{font-size:1rem}
}

/* ---------- Lordicon in den 3 Schritten ---------- */
.step3__ico lord-icon{width:46px;height:46px;display:block}

/* ---------- Buchen-Button im Mobil-Header ausblenden (Burger enthält Buchung) ---------- */
@media (max-width:860px){ .header__book{display:none} }

/* ---------- Ausstattung mobil: 5 zeigen + "Mehr sehen" ---------- */
.amen-more{display:none}
@media (max-width:640px){
  .ausstattung .amengrid{grid-template-columns:1fr}
  .ausstattung .amengrid:not(.is-expanded) .amen:nth-child(n+6){display:none}
  .amen-more{display:inline-flex;align-items:center;gap:.45rem;margin-top:.8rem;padding:.7rem .2rem;
    background:none;border:none;color:var(--brass-2);font-family:var(--sans);font-weight:600;font-size:.98rem;
    cursor:pointer;text-decoration:underline;text-underline-offset:4px}
  .amen-more svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s var(--ease)}
  .amen-more[aria-expanded="true"] svg{transform:rotate(180deg)}
}
