/* =========================================================
   Hotel am Park Waltrop – Stylesheet
   Schriften: Fraunces (Überschriften), Figtree (Text) – lokal, SIL OFL
   ========================================================= */

@font-face{font-family:"Fraunces";src:url("../fonts/fraunces-latin.woff2") format("woff2-variations"),url("../fonts/fraunces-latin.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fraunces";src:url("../fonts/fraunces-latin-ext.woff2") format("woff2-variations"),url("../fonts/fraunces-latin-ext.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Figtree";src:url("../fonts/figtree-latin.woff2") format("woff2-variations"),url("../fonts/figtree-latin.woff2") format("woff2");font-weight:300 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Figtree";src:url("../fonts/figtree-latin-ext.woff2") format("woff2-variations"),url("../fonts/figtree-latin-ext.woff2") format("woff2");font-weight:300 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- Farben aus dem Haus: Wandputz, Kirschholz, Weinregal, Messinglampen, Salbei-Tagesdecken ---------- */
:root{
  --putz:#F5EBE3;          /* Wandfarbe der Zimmer – Seitenhintergrund */
  --putz-hell:#FBF6F1;     /* hellere Flächen */
  --tinte:#2B211C;         /* Fließtext */
  --grau:#6A5D55;          /* Nebentext */
  --linie:#E2D2C5;         /* Trennlinien */
  --holz:#2E1F18;          /* dunkle Bereiche: Bar, Header, Footer */
  --holz-text:#F5EBE3;
  --holz-grau:#CDB8A6;
  --holz-linie:rgba(245,235,227,.16);
  --bordeaux:#7A2E3A;      /* Aktionsfarbe: Weinregal & Lampenschirm */
  --bordeaux-dunkel:#62232E;
  --messing:#B48A4A;       /* Rahmen & Details: Messinglampen */
  --messing-hell:#D6B37E;
  --salbei:#59634F;        /* ruhiger Ton für den Trauerkaffee */
  --salbei-dunkel:#465040;
  --salbei-hell:#E9EAE1;

  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --header-h:76px;
  --radius:3px;
}

/* ---------- Basis ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--putz);color:var(--tinte);font:400 1.0625rem/1.68 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
@media (min-width:900px){body{font-size:1.125rem}}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}
p{margin:0 0 1em;max-width:64ch}
ul,ol{margin:0;padding:0}
address{font-style:normal}
h1,h2,h3{font-family:var(--serif);font-weight:400;font-optical-sizing:auto;font-variation-settings:"SOFT" 50,"WONK" 0;line-height:1.08;letter-spacing:-.012em;margin:0 0 .45em;text-wrap:balance}
h1{font-size:clamp(2.3rem,5.4vw,4.2rem)}
h2{font-size:clamp(2rem,3.9vw,3.15rem)}
h3{font-size:clamp(1.35rem,1.9vw,1.65rem);font-weight:450;line-height:1.2}
:focus-visible{outline:3px solid var(--messing);outline-offset:3px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--putz-hell);color:var(--tinte);padding:10px 16px;border-radius:var(--radius);font-weight:600}
.skip-link:focus{top:12px}

.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
@media (min-width:700px){.wrap{width:min(1180px,100% - 72px)}}
.wrap--narrow{width:min(780px,100% - 40px)}

.section{padding-block:clamp(68px,9vw,124px)}
.section--hell{background:var(--putz-hell)}
.section--holz{background:var(--holz);color:var(--holz-text)}
.section--salbei{background:var(--salbei-hell)}
.lead{font-size:1.15em;line-height:1.6;color:var(--grau)}
.section--holz .lead{color:var(--holz-grau)}
.small{font-size:.92rem;color:var(--grau)}
.section--holz .small{color:var(--holz-grau)}

/* ---------- Rahmen aus dem Logo: oben und unten geschlossen, seitlich offen ---------- */
.frame{position:relative;padding:clamp(24px,3vw,38px)}
.frame::before{content:"";position:absolute;inset:0;border:1.5px solid var(--frame,var(--messing));pointer-events:none;
  -webkit-mask:linear-gradient(#000 0 0) top/100% var(--arm,24%) no-repeat,linear-gradient(#000 0 0) bottom/100% var(--arm,24%) no-repeat;
          mask:linear-gradient(#000 0 0) top/100% var(--arm,24%) no-repeat,linear-gradient(#000 0 0) bottom/100% var(--arm,24%) no-repeat}

/* ---------- Buttons ---------- */
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:48px;padding:.8em 1.35em;border:1.5px solid transparent;border-radius:var(--radius);font:600 1rem/1.1 var(--sans);text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.btn svg{width:1.15em;height:1.15em;flex:none}
.btn--primary{background:var(--bordeaux);color:#FBF6F1}
.btn--primary:hover{background:var(--bordeaux-dunkel)}
.btn--line{border-color:currentColor;background:transparent;color:inherit}
.btn--line:hover{background:rgba(43,33,28,.06)}
.on-dark .btn--line:hover,.section--holz .btn--line:hover{background:rgba(245,235,227,.1)}
.btn--light{background:var(--putz);color:var(--tinte)}
.btn--light:hover{background:#fff}
.text-link{font-weight:600;color:var(--bordeaux);text-decoration:underline;text-decoration-color:rgba(122,46,58,.35)}
.text-link:hover{text-decoration-color:currentColor}
.section--holz .text-link{color:var(--messing-hell);text-decoration-color:rgba(214,179,126,.4)}

/* ---------- Header ---------- */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;color:var(--holz-text);transition:background-color .3s,box-shadow .3s}
.site-header.is-solid{background:rgba(46,31,24,.97);box-shadow:0 1px 0 var(--holz-linie)}
@supports (backdrop-filter:blur(8px)){.site-header.is-solid{background:rgba(46,31,24,.9);backdrop-filter:blur(8px)}}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--header-h)}
.brand{display:block;flex:none}
.brand img{height:42px;width:auto}
.nav-list{display:flex;align-items:center;gap:30px;list-style:none}
.nav-list a{text-decoration:none;font-weight:500;font-size:.98rem;padding:6px 0;border-bottom:1.5px solid transparent}
.nav-list a:hover,.nav-list a[aria-current="page"]{border-bottom-color:var(--messing-hell)}
.nav-list .nav-cta a{display:inline-flex;align-items:center;gap:.5em;border:1.5px solid rgba(245,235,227,.55);border-radius:var(--radius);padding:.55em 1em}
.nav-list .nav-cta a:hover{background:rgba(245,235,227,.1);border-color:var(--holz-text)}
.nav-list .nav-cta svg{width:1.05em;height:1.05em}
.nav-toggle{display:none;align-items:center;justify-content:center;width:48px;height:48px;margin-right:-10px;background:none;border:0;color:inherit;cursor:pointer}
.nav-toggle svg{width:28px;height:28px}
.nav-toggle .icon-close{display:none}

@media (max-width:959px){
  .nav-toggle{display:inline-flex}
  .site-nav{position:fixed;inset:var(--header-h) 0 0 0;background:var(--holz);padding:24px 20px 40px;overflow-y:auto;visibility:hidden;opacity:0;transition:opacity .25s,visibility .25s}
  .nav-open .site-nav{visibility:visible;opacity:1}
  .nav-open .site-header{background:var(--holz)}
  .nav-open .nav-toggle .icon-menu{display:none}
  .nav-open .nav-toggle .icon-close{display:block}
  .nav-list{flex-direction:column;align-items:stretch;gap:0}
  .nav-list a{display:block;font-family:var(--serif);font-size:1.7rem;font-weight:400;padding:14px 0;border-bottom:1px solid var(--holz-linie)}
  .nav-list .nav-cta{margin-top:24px}
  .nav-list .nav-cta a{font-family:var(--sans);font-size:1.05rem;font-weight:600;justify-content:center;padding:14px}
  body.nav-open{overflow:hidden}
}

/* ---------- Startseite: Hero ---------- */
.hero{position:relative;display:grid;place-items:center;min-height:min(100svh,900px);padding:calc(var(--header-h) + 48px) 0 64px;overflow:hidden;background:var(--holz);color:var(--holz-text);text-align:center}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 45%,rgba(46,31,24,.55) 0%,rgba(46,31,24,.86) 70%),linear-gradient(rgba(46,31,24,.25),rgba(46,31,24,.25))}
.hero__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
.hero__logo{width:min(560px,88vw);height:auto;margin-bottom:clamp(20px,3vw,34px)}
.hero h1{font-size:clamp(1.55rem,2.8vw,2.25rem);font-weight:400;margin-bottom:.5em;max-width:24ch}
.hero p{color:#E9DACD;margin-inline:auto;max-width:52ch}
.hero .btns{justify-content:center;margin-top:20px}
.hero__facts{display:flex;flex-wrap:wrap;justify-content:center;list-style:none;margin-top:40px;font-size:.95rem;color:#E2CFBE}
.hero__facts li{padding:2px 18px}
.hero__facts li+li{border-left:1px solid rgba(214,179,126,.5)}
@media (prefers-reduced-motion:no-preference){
  .hero__logo{animation:logo-in 1.4s cubic-bezier(.2,.7,.2,1) both}
  .hero__inner>*:not(.hero__logo){animation:fade-in .9s .55s ease both}
}
@media (max-width:600px){
  .hero .btns{flex-direction:column;align-items:stretch;width:100%;max-width:330px}
  .hero__facts{flex-direction:column;gap:2px;margin-top:28px}
  .hero__facts li+li{border-left:0}
}
@keyframes logo-in{from{opacity:0;transform:scale(.97);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}

/* ---------- Unterseiten: Kopfbereich ---------- */
.page-hero{position:relative;overflow:hidden;background:var(--holz);color:var(--holz-text);padding:calc(var(--header-h) + clamp(56px,8vw,104px)) 0 clamp(56px,7vw,88px)}
.page-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(46,31,24,.94) 0%,rgba(46,31,24,.82) 45%,rgba(46,31,24,.45) 100%)}
.page-hero .wrap{position:relative;z-index:1}
.page-hero h1{max-width:16ch}
.page-hero p{color:#E6D5C6;max-width:56ch;font-size:1.1em}
.page-hero .btns{margin-top:24px}
.crumb{font-size:.92rem;margin-bottom:18px;color:var(--holz-grau)}
.crumb a{color:var(--holz-text)}
.page-hero--plain{padding-bottom:clamp(40px,5vw,64px)}
.page-hero--plain::after{display:none}

/* ---------- Abschnittskopf ---------- */
.section-head{display:grid;gap:8px 72px;margin-bottom:clamp(36px,5vw,60px)}
@media (min-width:900px){.section-head{grid-template-columns:1fr 1.1fr;align-items:end}.section-head .lead{margin-bottom:.4em}}

/* ---------- Hotel ---------- */
.room{display:grid;gap:28px;margin-bottom:clamp(48px,7vw,88px)}
@media (min-width:960px){
  .room{grid-template-columns:1.6fr 1fr;gap:56px;align-items:center}
  .room--reverse{grid-template-columns:1fr 1.25fr}
  .room--reverse .room__media{order:2}
}
.room__info h3{font-size:clamp(1.7rem,2.6vw,2.2rem);margin-bottom:.15em}
.room__meta{color:var(--grau);font-size:.95rem;margin-bottom:18px}
.room__price{font-family:var(--serif);font-variation-settings:"SOFT" 50;font-size:2.6rem;line-height:1;color:var(--bordeaux);margin-bottom:18px}
.room__price small{font-family:var(--sans);font-size:.95rem;color:var(--grau);margin-left:.35em}
.room__media img{width:100%;height:100%;object-fit:cover}
.room__single{display:block;aspect-ratio:3/2;overflow:hidden}

.gallery a{display:block;overflow:hidden;background:#e8dbd0;position:relative}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.gallery a:hover img{transform:scale(1.035)}
.gallery--mosaic{display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}
.gallery--mosaic a{aspect-ratio:3/2}
.gallery--mosaic a:first-child{grid-column:1/-1}
.gallery--mosaic a:nth-child(n+6){display:none}
@media (min-width:700px){
  .gallery--mosaic{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);aspect-ratio:16/9}
  .gallery--mosaic a{aspect-ratio:auto}
  .gallery--mosaic a:first-child{grid-column:span 2;grid-row:span 2}
}
.gallery-more{display:inline-flex;align-items:center;gap:.5em;margin-top:12px;background:none;border:0;padding:6px 0;font:600 .95rem/1.2 var(--sans);color:var(--bordeaux);cursor:pointer;text-decoration:underline;text-decoration-color:rgba(122,46,58,.35);text-underline-offset:.18em}
.gallery-more:hover{text-decoration-color:currentColor}

.stay-facts{display:grid;gap:36px 56px;padding-top:clamp(36px,5vw,56px);border-top:1px solid var(--linie)}
@media (min-width:760px){.stay-facts{grid-template-columns:1.4fr 1fr}}
@media (min-width:1100px){.stay-facts{grid-template-columns:1.5fr 1fr 1fr 1fr}}
.stay-facts h3{font-size:1.35rem}
.stay-facts p{color:var(--grau);font-size:.98rem}
.check-list{list-style:none}
.check-list li{position:relative;padding:.3em 0 .3em 1.35em}
.check-list li::before{content:"";position:absolute;left:0;top:1.02em;width:.7em;height:1.5px;background:var(--messing)}
.check-list--cols{columns:2 150px;column-gap:28px}
.check-list--cols li{break-inside:avoid}
.note{font-size:.9rem;color:var(--grau);margin-top:28px}

/* ---------- Restaurant ---------- */
.resto{display:grid;gap:48px}
@media (min-width:960px){.resto{grid-template-columns:1fr 1.05fr;gap:72px;align-items:center}}
.hours{margin:30px 0 28px;--frame:var(--messing-hell)}
.hours h3{font-size:1.35rem;margin-bottom:.6em}
.hours dl{display:grid;grid-template-columns:auto 1fr;gap:6px 24px;margin:0}
.hours dt{font-weight:600}
.hours dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}
.hours .small{margin:14px 0 0}
.section--hell .hours,.hours--light{--frame:var(--messing)}
.resto__media{position:relative;padding-bottom:18%}
.resto__media .m1{display:block;aspect-ratio:4/3;overflow:hidden}
.resto__media .m2{position:absolute;left:-6%;bottom:0;width:40%;aspect-ratio:2/3;overflow:hidden;border:8px solid var(--holz)}
@media (max-width:959px){.resto__media .m2{left:auto;right:-4px}}
.dishes-block{margin-top:clamp(56px,7vw,96px)}
.dishes{list-style:none;display:grid;gap:0 64px}
@media (min-width:860px){.dishes{grid-template-columns:1fr 1fr}}
.dish{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 20px;padding:18px 0;border-bottom:1px solid var(--holz-linie)}
.dish__name{font-family:var(--serif);font-variation-settings:"SOFT" 50;font-size:1.3rem;line-height:1.25}
.dish__price{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.dish__desc{grid-column:1/-1;color:var(--holz-grau);font-size:.95rem}
.dishes-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

/* ---------- Feiern ---------- */
.split{display:grid;gap:40px}
@media (min-width:960px){.split{grid-template-columns:1fr 1fr;gap:72px;align-items:center}.split--wide-media{grid-template-columns:1.15fr 1fr}}
.split__media a,.split__media>img{display:block;aspect-ratio:4/3;overflow:hidden}
.split__media img{width:100%;height:100%;object-fit:cover}
.event-links{display:grid;gap:20px;margin-top:clamp(48px,6vw,80px)}
@media (min-width:760px){.event-links{grid-template-columns:1fr 1fr;gap:28px}}
.event-link{display:block;text-decoration:none;background:var(--putz-hell);transition:background-color .2s}
.event-link:hover{background:#fff}
.event-link h3{font-size:1.75rem}
.event-link p{color:var(--grau)}
.event-link--trauer{--frame:var(--salbei)}
.event-link--trauer .text-link{color:var(--salbei-dunkel);text-decoration-color:rgba(70,80,64,.35)}

/* ---------- Geschichte ---------- */
.history{display:grid;gap:40px}
@media (min-width:960px){.history{grid-template-columns:1fr 1.5fr;gap:80px;align-items:start}.history__intro{position:sticky;top:calc(var(--header-h) + 40px)}}
.timeline{list-style:none}
.timeline li{display:grid;gap:6px 32px;padding:26px 0;border-top:1px solid var(--linie)}
.timeline li:last-child{border-bottom:1px solid var(--linie)}
@media (min-width:600px){.timeline li{grid-template-columns:120px 1fr}}
.timeline__year{font-family:var(--serif);font-variation-settings:"SOFT" 100,"WONK" 1;font-size:2.4rem;line-height:1;color:var(--bordeaux)}
.timeline h3{font-size:1.4rem;margin-bottom:.35em}
.timeline p{color:var(--grau);margin:0}
.history .text-link{display:inline-block;margin-top:8px;font-size:.95rem}

/* ---------- Kontakt ---------- */
.contact-grid{display:grid;gap:44px}
@media (min-width:860px){.contact-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.contact-grid{grid-template-columns:1fr 1fr 1.1fr;gap:56px}}
.contact-grid h3{font-size:1.4rem}
.contact-grid address{margin-bottom:18px}
.contact-list{list-style:none;margin-bottom:18px}
.contact-list li{margin:6px 0}
.contact-list a{display:inline-flex;align-items:center;gap:.65em;text-decoration:none;font-weight:500;padding:4px 0}
.contact-list a:hover{color:var(--bordeaux)}
.contact-list svg{width:1.25em;height:1.25em;color:var(--bordeaux);flex:none}
.social{display:flex;gap:18px}
.contact-grid .hours{margin:0}
.contact-grid .btn{margin-top:18px}

/* ---------- Speisekarte ---------- */
.menu-nav{position:sticky;top:var(--header-h);z-index:20;background:var(--putz);border-bottom:1px solid var(--linie)}
.menu-nav ul{display:flex;gap:6px;list-style:none;overflow-x:auto;padding:12px 0;scrollbar-width:none}
.menu-nav ul::-webkit-scrollbar{display:none}
.menu-nav a{display:block;white-space:nowrap;padding:.42em .9em;border:1px solid var(--linie);border-radius:var(--radius);text-decoration:none;font-size:.93rem;font-weight:500;background:var(--putz-hell)}
.menu-nav a:hover{border-color:var(--messing)}
.menu-season{margin-bottom:clamp(48px,6vw,80px);background:var(--putz-hell);--frame:var(--bordeaux);--arm:14%}
.menu-season h2{margin-bottom:.15em}
.menu-season__intro{color:var(--grau);margin-bottom:12px}
.menu-season .menu-items{display:grid;gap:0 64px}
@media (min-width:860px){.menu-season .menu-items{grid-template-columns:1fr 1fr}}
.menu{columns:2 400px;column-gap:80px}
.menu-cat{break-inside:avoid;margin-bottom:clamp(44px,5vw,64px)}
.menu-cat h2,.menu-season h2{font-size:clamp(1.8rem,2.6vw,2.3rem);scroll-margin-top:calc(var(--header-h) + 80px)}
.menu-items{list-style:none}
.menu-item{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:0 10px;padding:11px 0}
.menu-item__name{font-family:var(--serif);font-variation-settings:"SOFT" 50;font-size:1.2rem;line-height:1.3}
.menu-item__dots{border-bottom:2px dotted #CDB9A9;transform:translateY(-.3em);min-width:16px}
.menu-item__price{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.menu-item__desc{grid-column:1/-1;color:var(--grau);font-size:.95rem;line-height:1.5;margin-top:2px}
.menu-extra{margin:4px 0 8px;padding-left:14px;border-left:2px solid var(--linie);font-size:.95rem;color:var(--grau)}
.menu-extra p{margin:0 0 4px}
.menu-extra ul{list-style:none}
.menu-extra li{display:flex;justify-content:space-between;gap:16px;max-width:340px}
.menu-foot{border-top:1px solid var(--linie);padding-top:24px;color:var(--grau);font-size:.95rem}

/* ---------- Feiern & Trauerkaffee: Inhalte ---------- */
.occasions{display:grid;gap:0 48px;list-style:none}
@media (min-width:700px){.occasions{grid-template-columns:1fr 1fr}}
@media (min-width:1050px){.occasions{grid-template-columns:repeat(3,1fr)}}
.occasions li{padding:24px 0;border-top:1px solid var(--linie)}
.occasions h3{font-size:1.4rem;margin-bottom:.3em}
.occasions p{color:var(--grau);margin:0;font-size:.98rem}
.points{list-style:none;display:grid;gap:22px}
.points h3{font-size:1.3rem;margin-bottom:.2em}
.points p{color:var(--grau);margin:0}
.steps{list-style:none;counter-reset:step;display:grid;gap:32px}
@media (min-width:860px){.steps{grid-template-columns:repeat(3,1fr);gap:48px}}
.steps li{counter-increment:step;padding-top:20px;border-top:1px solid var(--linie)}
.steps li::before{content:counter(step);display:block;font-family:var(--serif);font-variation-settings:"SOFT" 100,"WONK" 1;font-size:3rem;line-height:1;color:var(--bordeaux);margin-bottom:14px}
.steps h3{font-size:1.4rem;margin-bottom:.3em}
.steps p{color:var(--grau);margin:0}
.aside-note{margin-top:36px;color:var(--grau)}

.faq{max-width:820px}
.faq details{border-top:1px solid var(--linie)}
.faq details:last-child{border-bottom:1px solid var(--linie)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font-family:var(--serif);font-variation-settings:"SOFT" 50;font-size:1.3rem;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:14px;height:14px;background:linear-gradient(currentColor 0 0) center/14px 1.5px no-repeat,linear-gradient(currentColor 0 0) center/1.5px 14px no-repeat;color:var(--bordeaux);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--grau);padding-bottom:20px;margin:0}

.cta-band{text-align:center}
.cta-band .frame{max-width:860px;margin-inline:auto;padding:clamp(36px,5vw,64px) clamp(20px,5vw,64px);--frame:var(--messing-hell);--arm:22%}
.cta-band p{margin-inline:auto;color:var(--holz-grau)}
.cta-band .btns{justify-content:center;margin-top:24px}

/* Trauerkaffee: ruhigere Farben */
.page--trauer{--bordeaux:var(--salbei);--bordeaux-dunkel:var(--salbei-dunkel)}
.page--trauer .page-hero__bg{filter:grayscale(.55)}
.page--trauer .steps li::before{color:var(--salbei)}

/* ---------- Rechtliches ---------- */
.legal h2{font-size:1.55rem;margin-top:1.8em}
.legal h3{font-size:1.2rem;margin-top:1.4em}
.legal p,.legal li{color:#43372F}
.legal ul{padding-left:1.2em;margin-bottom:1em}

/* ---------- Footer ---------- */
.site-footer{background:var(--holz);color:var(--holz-grau);padding:clamp(56px,7vw,88px) 0 28px;font-size:.98rem}
.footer-grid{display:grid;gap:36px}
@media (min-width:760px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px}}
.footer-logo{width:190px;height:auto;margin-bottom:16px}
.footer-h{font:600 1rem/1.3 var(--sans);color:var(--holz-text);margin-bottom:12px;letter-spacing:0}
.site-footer ul{list-style:none}
.site-footer li{margin:5px 0}
.site-footer a{text-decoration:none}
.site-footer a:hover{color:var(--holz-text);text-decoration:underline}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:48px;padding-top:22px;border-top:1px solid var(--holz-linie);font-size:.9rem}
.footer-bottom p{margin:0}
.footer-bottom a+a{margin-left:20px}

/* ---------- Mobile Schnellleiste ---------- */
.mobile-bar{position:fixed;inset:auto 0 0 0;z-index:40;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:var(--holz);box-shadow:0 -1px 0 var(--holz-linie)}
.mobile-bar a{display:flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;border-radius:var(--radius);text-decoration:none;font-weight:600;color:var(--holz-text);border:1.5px solid rgba(245,235,227,.45)}
.mobile-bar a.is-primary{background:var(--bordeaux);border-color:var(--bordeaux)}
.mobile-bar svg{width:1.2em;height:1.2em}
@media (max-width:899px){.site-footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))}}
@media (min-width:900px){.mobile-bar{display:none}}

/* ---------- Bildbetrachter ---------- */
.lightbox{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(24,16,12,.94);color:var(--holz-text)}
.lightbox::backdrop{background:rgba(24,16,12,.94)}
.lightbox[open]{display:grid;grid-template-rows:1fr auto;place-items:center}
.lightbox figure{margin:0;display:grid;place-items:center;gap:12px;padding:64px 64px 0;max-width:100%;max-height:100%}
.lightbox img{max-width:min(1400px,100%);max-height:calc(100vh - 150px);width:auto;height:auto;object-fit:contain}
.lightbox figcaption{font-size:.95rem;color:var(--holz-grau);text-align:center;max-width:70ch;padding:0 16px 20px}
.lightbox button{position:absolute;display:grid;place-items:center;width:52px;height:52px;border:0;border-radius:50%;background:rgba(245,235,227,.1);color:var(--holz-text);cursor:pointer}
.lightbox button:hover{background:rgba(245,235,227,.2)}
.lightbox button svg{width:24px;height:24px}
.lb-close{top:14px;right:14px}
.lb-prev{left:14px;top:50%;transform:translateY(-50%)}
.lb-next{right:14px;top:50%;transform:translateY(-50%)}
@media (max-width:700px){.lightbox figure{padding:64px 8px 0}.lb-prev,.lb-next{top:auto;bottom:14px;transform:none}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

@media print{.site-header,.mobile-bar,.menu-nav,.btns,.nav-toggle{display:none!important}body{background:#fff;padding:0}.page-hero{background:#fff;color:#000;padding:20px 0}.page-hero::after,.page-hero__bg{display:none}.menu{columns:2}}
