x-dc{display:block}

@font-face{ font-family:'PP Cirka'; src:url('ppcirka-regular.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:'PP Cirka'; src:url('ppcirka-bold.woff2') format('woff2'); font-weight:600 700; font-style:normal; font-display:swap; }
@font-face{ font-family:'PP Telegraf'; src:url('pptelegraf-light.woff2') format('woff2'); font-weight:300; font-style:normal; font-display:swap; }
@font-face{ font-family:'PP Telegraf'; src:url('pptelegraf-regular.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:'PP Telegraf'; src:url('pptelegraf-bold.woff2') format('woff2'); font-weight:500 800; font-style:normal; font-display:swap; }
:root{ --bg:#FBF7EF; --ink:#0B0B0B; --rust:#93381A; --forest:#101A10; --green:#518059; --line:#0B0B0B;
  /* Abstände – hier zentral anpassen */
  --band:clamp(400px,33vw,480px); --sp-head:38px; --sp-hero:clamp(4px,1.2vw,18px);
  --sp-xl:clamp(48px,5vw,72px); --sp-l:clamp(36px,3.6vw,52px); --sp-m:clamp(24px,2.8vw,40px); --strip:clamp(320px,34vw,500px); }
body{ margin:0; background:var(--bg); color:var(--ink); font-family:'PP Telegraf','Archivo',sans-serif; }
a{ color:inherit; text-decoration:none; }
:focus{ outline:none; }
:focus-visible{ outline:2px solid var(--rust); outline-offset:4px; border-radius:2px; }
.on-dark :focus-visible, .split .panel :focus-visible{ outline-color:#FBF7EF; }
.lang-en{ display:none; }
.is-en .lang-de{ display:none; } .is-en .lang-en{ display:inline; }
.wrap{ width:100%; box-sizing:border-box; overflow-x:hidden; background:var(--bg); }
.pad{ padding-left:45px; padding-right:45px; box-sizing:border-box; }
.cirka{ font-family:'PP Cirka','Fraunces',serif; font-weight:700; }
.claim{ font-family:'PP Cirka','Fraunces',serif; font-weight:700; font-size:clamp(37px,4.42vw,64px); line-height:1.15; margin:0; }
.t55{ font-size:clamp(29px,3.23vw,47px); line-height:1.15; margin:0; font-weight:400; }
.t35{ font-size:clamp(20px,2.08vw,30px); line-height:1.15; margin:0; font-weight:400; }
.t25{ font-size:clamp(15px,1.49vw,21px); line-height:1.15; margin:0; font-weight:400; }
.t22{ font-size:clamp(14px,1.32vw,19px); line-height:1.15; margin:0; font-weight:400; }
.label{ font-size:clamp(15px,1.49vw,21px); line-height:1.15; margin:0 0 12px; font-weight:400; }
b, .b{ font-weight:600; }
.al-wrap{ background:var(--rust) !important; display:flex; align-items:stretch; justify-content:center; padding:clamp(48px,4.4vw,64px) 24px clamp(40px,3.6vw,52px); min-height:var(--band); box-sizing:border-box; }
.al-card{ display:flex; flex-direction:column; justify-content:space-between; }
.al-card{ width:min(360px,100%); background:#fff; border-radius:14px; box-shadow:0 16px 44px rgba(0,0,0,0.35); padding:22px 22px 22px; zoom:0.874; font-family:'PP Telegraf','Inter',sans-serif; color:#1b1b1b; font-size:13px; line-height:1.3; }
.al-head{ display:flex; flex-direction:column; gap:2px; padding-bottom:16px; border-bottom:1px solid #eee; margin-bottom:14px; }
.al-name{ font-weight:600; font-size:17px; letter-spacing:.02em; } .al-sub{ color:#777; font-size:12px; }
.al-sec{ margin-bottom:16px; } .al-lbl{ font-weight:500; margin:0 0 8px; display:flex; justify-content:space-between; } .al-mon{ font-weight:400; color:#777; }
.al-row{ display:flex; flex-wrap:wrap; gap:6px; }
.al-chip{ border:1px solid #ddd; border-radius:8px; padding:7px 0; min-width:44px; text-align:center; font-size:12.5px; }
.al-times .al-chip{ min-width:50px; flex:1; } .al-chip.al-g{ flex:1; min-width:0; }
.al-chip.al-sel, .al-d.al-sel{ background:#93381A; border-color:#93381A; color:#fff; }
.al-cal{ display:grid; grid-template-columns:repeat(7,1fr); gap:4px; text-align:center; font-size:12px; }
.al-wd{ color:#999; font-size:11px; padding-bottom:2px; } .al-d{ padding:6px 0; border-radius:7px; } .al-d.al-off{ color:#ccc; }
.al-btn{ background:#1b1b1b; color:#fff; text-align:center; border-radius:9px; padding:12px 0; font-weight:500; margin-top:4px; }
.al-pow{ text-align:center; color:#aaa; font-size:10.5px; margin:12px 0 0; letter-spacing:.03em; }
.reflogo{ opacity:.9; }
.reflogo:hover{ opacity:1; }
.hl{ font-weight:500; }
.lead{ display:block; margin-bottom:0.575em; }
.hol > span{ grid-template-columns:max-content max-content 1fr; column-gap:12px; row-gap:6px; font-variant-numeric:tabular-nums; }
.hol i{ font-style:normal; }
.hol > .lang-de{ display:grid; } .is-en .hol > .lang-de{ display:none; } .is-en .hol > .lang-en{ display:grid; }
.pill{ display:inline-flex; align-items:center; justify-content:center; min-width:162px; height:45px; box-sizing:border-box; padding:0 24px;
  border:1.5px solid currentColor; border-radius:22.5px; font-size:13px; line-height:1; white-space:nowrap; transition:background .25s ease, color .25s ease; }
.pill:hover{ background:var(--ink); color:var(--bg); }
.on-dark .pill:hover{ background:var(--bg); color:var(--forest); }
.pills{ display:flex; gap:18px; flex-wrap:wrap; }
.media{ position:relative; overflow:hidden; background:#e9e2d4; }
.media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.ph{ position:absolute; top:14px; left:14px; z-index:2; background:rgba(16,26,16,0.55); color:#FBF7EF; font-size:10px; letter-spacing:0.08em; text-transform:uppercase; padding:5px 9px; border-radius:2px; }
.split{ display:grid; grid-template-columns:1fr 1fr; min-height:var(--band); }
.split .panel{ box-sizing:border-box; padding:clamp(48px,4.4vw,64px) 45px clamp(40px,3.6vw,52px); display:flex; flex-direction:column; justify-content:space-between; gap:36px; color:#FBF7EF; }
.rule-row{ display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:40px; }
.rule-row .ln{ height:1.5px; background:var(--line); min-width:80px; }
.two{ display:grid; grid-template-columns:1fr 1fr; column-gap:20px; }
.imp{ display:grid; grid-template-columns:minmax(160px,1fr) 2fr; column-gap:20px; max-width:1100px; }
.imp-k, .imp-v{ padding:18px 0 20px; border-top:1px solid rgba(11,11,11,0.22); }
.imp-k{ font-weight:500; }
.imp-m{ display:inline-block; margin-top:6px; opacity:.62; }
@media (max-width:700px){ .imp{ grid-template-columns:1fr; } .imp-v{ border-top:0; padding-top:0; } }
.mbook{ display:grid; grid-template-columns:1fr 1fr; gap:2px; background:rgba(11,11,11,.15); }
.mpage{ background:#fff; aspect-ratio:420/595; container-type:inline-size; flex-direction:column; padding:10% 10.2% 7%; box-sizing:border-box; color:#191919; }
.mpage .m-sec{ margin-bottom:5.5cqw; }
.mpage .m-h{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:2.4cqw; }
.mpage h4{ margin:0; color:var(--green); font-weight:600; font-size:4cqw; }
.mpage .m-sub{ font-size:2.5cqw; opacity:.75; }
.mpage .m-row{ display:flex; justify-content:space-between; gap:4cqw; padding:1.7cqw 0 2.1cqw; border-bottom:1px solid rgba(25,25,25,.55); font-size:2.85cqw; line-height:1.3; }
.mpage .m-row:first-of-type{ border-top:1px solid rgba(25,25,25,.55); }
.mpage .m-h + .m-row{ border-top:1px solid rgba(25,25,25,.55); }
.mpage .m-al{ opacity:.85; }
.mpage .m-d{ display:block; font-size:2.5cqw; opacity:.8; margin-top:.4cqw; }
.mpage .m-r{ white-space:nowrap; font-size:2.5cqw; }
.mpage .m-spacer{ flex:1; min-height:4cqw; }
.mpage .m-foot{ margin:0; font-family:"PP Cirka", Georgia, serif; font-weight:700; color:var(--green); font-size:7.2cqw; line-height:1.1; }
.mpage .m-until{ margin:0 0 1cqw; font-size:2.3cqw; }
.mpage .m-note{ margin:3cqw 0 0; font-size:2.1cqw; opacity:.8; }
.mpage .m-top{ text-align:center; font-size:3cqw; margin:0; }
.mpage.m-cover{ justify-content:space-between; }
.mpage .m-wm{ width:100%; display:block; }
.mpage .m-intro{ font-size:3.2cqw; line-height:1.35; max-width:64cqw; margin:0 0 7cqw; }
.mpage .m-kt{ display:flex; flex-direction:column; }
.mpage .m-ktr{ border-top:1px solid rgba(25,25,25,.55); padding:2.2cqw 0 3.4cqw; font-size:2.85cqw; line-height:1.35; max-width:66cqw; }
.mpage .m-ktr b{ display:block; font-weight:600; margin-bottom:1cqw; }
.mpage .m-txt{ font-size:2.85cqw; line-height:1.4; max-width:74cqw; margin:0 0 6cqw; }
.mpage .m-leg{ font-size:2.6cqw; }
.dl{ display:grid; grid-template-columns:1fr; row-gap:0; }
.dl .k{ font-weight:600; } .dl .v{ margin-bottom:28px; }
.navrow{ display:flex; gap:13px 22px; flex-wrap:wrap; font-size:17px; line-height:1.15; }
.navrow a.on{ text-decoration:underline; text-underline-offset:5px; }
.navrow a.b2b{ color:var(--green); font-weight:600; }
.orn{ border:none; background:transparent; cursor:pointer; padding:0; line-height:0; transition:transform .35s ease; }
.orn:hover img{ animation:ornPulse 1.1s ease-in-out infinite; }
@keyframes ornPulse{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.09); } }
@media (prefers-reduced-motion: reduce){ .orn:hover img{ animation:none; } }
.langbtn{ border:none; background:transparent; cursor:pointer; font:inherit; font-size:14px; color:var(--ink); padding:4px; }
.mlink{ font-family:'PP Telegraf','Inter',sans-serif; font-weight:400; font-size:clamp(15px,1.72vw,25px); line-height:1.15; padding:3px 0; }
.menu-lg .mlink{ font-size:clamp(19.5px,2.26vw,32.5px); }
nav.menu-lg{ width:300px !important; border-radius:150px !important; padding:104px 22px !important; }
.mlink:hover, .mlink.on{ color:var(--green); }
.mlink.mlink-x{ color:var(--rust); transition:color .2s ease; }
.mlink.mlink-x:hover, .mlink.mlink-x.on{ color:var(--green); }
.foot{ display:grid; grid-template-columns:repeat(12, minmax(0,1fr)); column-gap:15px; row-gap:28px; align-items:start; font-size:clamp(13px,1.05vw,15px); line-height:1.45; border-top:1.5px solid var(--ink); padding-top:26px; }
.foot .fl{ display:flex; flex-direction:column; }
.foot > *{ grid-column:span 2; }
.foot > a:first-child{ grid-column:1 / span 4; }
.foot a{ text-decoration:none; transition:opacity .2s ease; }
.foot a:hover{ text-decoration:underline; text-underline-offset:3px; }
.gw-track{ display:flex; gap:20px; }
.gw-slide{ flex:0 0 100%; display:flex; flex-direction:column; gap:22px; }
.gw-cap{ display:grid; grid-template-columns:1fr auto; column-gap:40px; align-items:start; }
.sl-wrap{ position:relative; overflow:hidden; }
.arr-box{ position:absolute; top:0; left:0; right:0; aspect-ratio:2/1; pointer-events:none; }
.arr-box .arr-ov{ pointer-events:auto; left:50%; }
.arr-ov{ position:absolute; bottom:28px; display:flex; gap:56px; transform:translateX(-50%); z-index:2; }
.arr-ov button{ background:none; border:0; color:#FBF7EF; font:inherit; font-size:clamp(26px,2.4vw,36px); cursor:pointer; padding:4px 8px; text-shadow:0 1px 12px rgba(0,0,0,.35); }
.arr-ov button:disabled{ opacity:.35; cursor:default; }
.arr-ov{ align-items:center; }
.dots{ display:flex; gap:10px; align-items:center; }
.dots{ gap:0 !important; }
.arr-ov .dots button{ width:26px; height:26px; padding:0; border:0; background:none; font-size:0; display:inline-flex; align-items:center; justify-content:center; }
.arr-ov .dots button::before{ content:''; width:8px; height:8px; box-sizing:border-box; border-radius:50%; border:1px solid #FBF7EF; background:var(--dot,transparent); transition:background .3s ease; }
.ns-track{ display:flex; }
.ns-track > section{ flex:0 0 100%; }
.rbtn{ width:45px; height:45px; border-radius:50%; border:1.5px solid var(--ink); background:transparent; font-size:17px; cursor:pointer; color:var(--ink); }
.rbtn:disabled{ opacity:.3; cursor:default; }
.field{ display:flex; flex-direction:column; gap:8px; }
.field label{ font-size:15px; }
.field input, .field textarea{ font:inherit; font-size:15px; padding:14px 18px; background:transparent; border:1.5px solid var(--ink); border-radius:26.5px; }
.field textarea{ border-radius:18px; resize:vertical; }
@keyframes mz-reveal{ from{ opacity:0; transform:translateY(24px);} to{ opacity:1; transform:none;} }
@keyframes mz-line{ from{ transform:scaleX(0);} to{ transform:scaleX(1);} }
@supports (animation-timeline: view()){ @media (prefers-reduced-motion: no-preference){
  .rv{ animation:mz-reveal linear both; animation-timeline:view(); animation-range:entry 5% entry 55%; }
  .rv:has(img){ animation:none; } /* Bilder ohne Animation */
  .rule-row .ln{ transform-origin:left; animation:mz-line linear both; animation-timeline:view(); animation-range:entry 10% entry 70%; }
}}
@media (max-width:900px){
  .split, .two, .hero{ grid-template-columns:1fr !important; }
  .split{ min-height:0; } .split .media{ min-height:420px; }
  .foot{ grid-template-columns:1fr 1fr; }
  .foot > *{ grid-column:auto; }
  .foot > a:first-child{ grid-column:1 / 3; }
  .rule-row{ grid-template-columns:1fr; gap:12px; } .rule-row .ln{ display:none; }
}
@media (max-width:700px){
  .pad{ padding-left:20px; padding-right:20px; }
  :root{ --sp-head:20px; --sp-xl:48px; --sp-l:40px; --sp-m:28px; --strip:300px; }
  header img[alt="MORIZ"]{ height:34px !important; }
  .orn img{ height:36px !important; }
  nav[aria-label="Menü"]{ margin-right:6px !important; }
  .claim{ font-size:clamp(34px,9.6vw,44px); }
  .t55{ font-size:clamp(27px,7.4vw,34px); }
  .t35{ font-size:clamp(20px,5.6vw,24px); line-height:1.2; }
  .t25{ font-size:17px; line-height:1.3; }
  .t22{ font-size:15px; line-height:1.35; }
  .hero{ padding-top:4px !important; padding-bottom:40px !important; }
  .hero > .media{ height:auto !important; min-height:0 !important; aspect-ratio:4/5 !important; }
  .hero > div{ padding:28px 0 0 !important; gap:20px !important; }
  .hero > div[style*="grid-template-columns:1fr 1fr"]{ display:flex !important; flex-direction:column; }
  .hero > div > .media, .hero > div > div > .media{ width:100% !important; }
  .hero .claim{ text-align:left !important; }
  .hero-m > div{ flex-direction:column-reverse !important; }
  .hero p{ text-align:left !important; max-width:none !important; }
  section.split{ min-height:0 !important; }
  .split .panel{ min-height:0 !important; padding:40px 20px 36px; gap:28px; }
  .split .media{ min-height:0 !important; aspect-ratio:1/1; }
  .split .panel p[style*="max-width"]{ max-width:none !important; }
  .rule-row h2[style*="text-align:right"]{ text-align:left !important; opacity:.55; }
  .two{ row-gap:28px !important; }
  .two > *{ padding-right:0 !important; }
  .two > [style*="padding-right:40px"]{ padding-right:0 !important; }
  [style*="repeat(6,minmax(0,1fr))"]{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:10px !important; }
  [style*="repeat(6,minmax(0,1fr))"] > div{ padding:10px !important; }
  [style*="repeat(2,minmax(0,1fr))"]{ grid-template-columns:1fr !important; }
  #karte + section [style*="grid-template-columns:1fr 1fr"]{ grid-template-columns:1fr !important; }
  .arr-ov{ bottom:14px; gap:36px; }
  .ns-arr{ left:50% !important; }
  .foot{ row-gap:18px; font-size:14px; }
  .foot a{ min-height:24px; display:inline-flex; align-items:center; }
  .foot > div:nth-child(3){ grid-column:1 / 3; }
  .al-wrap{ min-height:0; padding:28px 12px 24px; }
  .al-card{ zoom:1; }
  .split .al-wrap{ aspect-ratio:auto !important; }
  .pill{ min-width:0; padding:0 22px; }
  .field input, .field textarea{ font-size:16px; }
  .imp{ grid-template-columns:1fr; }
  .mbook{ grid-template-columns:1fr; }
}

/* ===== Ergänzungen (Generator 2026-11) ===== */
html:not(.dc) #hauptmenue{ visibility:hidden; }
/* Menü-Knopf: Ornament + Hamburger, der beim Öffnen zum X wird */
.orn{ display:inline-flex; align-items:center; gap:14px; min-height:44px; color:var(--ink); }
.burger{ position:relative; display:block; width:24px; height:16px; }
.burger i{ position:absolute; left:0; width:100%; height:1.5px; background:currentColor; border-radius:1px; transform-origin:center;
  transition:top .3s cubic-bezier(.22,1,.36,1) .12s, transform .3s cubic-bezier(.22,1,.36,1), opacity .2s ease; }
.burger i:nth-child(1){ top:0; } .burger i:nth-child(2){ top:7.25px; } .burger i:nth-child(3){ top:14.5px; }
.orn[aria-expanded="true"] .burger i{ transition:top .3s cubic-bezier(.22,1,.36,1), transform .3s cubic-bezier(.22,1,.36,1) .12s, opacity .2s ease; }
.orn[aria-expanded="true"] .burger i:nth-child(1){ top:7.25px; transform:rotate(45deg); }
.orn[aria-expanded="true"] .burger i:nth-child(2){ opacity:0; }
.orn[aria-expanded="true"] .burger i:nth-child(3){ top:7.25px; transform:rotate(-45deg); }
.orn.hint .burger i{ animation:burgerHint .7s ease-in-out 2; transform-origin:right center; }
.orn.hint .burger i:nth-child(2){ animation-delay:.08s; } .orn.hint .burger i:nth-child(3){ animation-delay:.16s; }
@keyframes burgerHint{ 0%,100%{ transform:scaleX(1); } 45%{ transform:scaleX(.5); } }
@media (prefers-reduced-motion: reduce){ .burger i{ transition:none !important; } .orn.hint .burger i{ animation:none; } }
@media (max-width:700px){ .orn{ gap:10px; } .burger{ width:22px; } }
/* Footer: Instagram mit Icon */
.foot a.ig{ display:inline-flex; align-items:center; gap:8px; }
.foot a.ig svg{ flex:none; }
/* FAQ (Kontaktseite) */
.faq{ max-width:1100px; border-bottom:1px solid rgba(11,11,11,0.22); }
.faq details{ border-top:1px solid rgba(11,11,11,0.22); }
.faq summary{ list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:24px; padding:18px 0 20px; font-weight:500; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:'+'; font-weight:300; font-size:1.4em; line-height:1; transition:transform .25s ease; }
.faq details[open] summary::after{ transform:rotate(45deg); }
.faq .faq-a{ margin:0; padding:0 0 22px; max-width:760px; opacity:.85; }
/* Reservierung: echtes aleno-Widget */
.al-wrap iframe{ display:block; width:min(420px,100%); height:640px; border:0; border-radius:14px; background:#fff; box-shadow:0 16px 44px rgba(0,0,0,0.35); }
@media (max-width:700px){ .al-wrap iframe{ height:620px; } }
