@font-face{font-family:"Cormorant";src:url(assets/fonts/serif-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Cormorant";src:url(assets/fonts/serif-500i.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"DM Sans";src:url(assets/fonts/sans-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"DM Sans";src:url(assets/fonts/sans-600.woff2) format("woff2");font-weight:600;font-display:swap}

:root{
  --green:#173a31;--terra:#b5643c;--gold:#d9a441;--sand:#f4ebdd;--sand-2:#ead9bf;
  --ink:#221c17;--muted:#6d6259;--line:#e2d3bc;--paper:#fffcf6;
  --serif:"Cormorant",Georgia,serif;--sans:"DM Sans",system-ui,sans-serif;
  --pad:clamp(16px,5vw,64px);
  --tile:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cg fill='none' stroke='%23b5643c' stroke-width='1.2'%3E%3Crect x='17.5' y='17.5' width='25' height='25'/%3E%3Crect x='17.5' y='17.5' width='25' height='25' transform='rotate(45 30 30)'/%3E%3Ccircle cx='30' cy='30' r='5'/%3E%3Cpath d='M0 0l9 9M60 0l-9 9M0 60l9-9M60 60l-9-9M30 0v6M30 60v-6M0 30h6M60 30h-6'/%3E%3C/g%3E%3C/svg%3E");
  --tile-gold:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cg fill='none' stroke='%23d9a441' stroke-width='1.2'%3E%3Crect x='17.5' y='17.5' width='25' height='25'/%3E%3Crect x='17.5' y='17.5' width='25' height='25' transform='rotate(45 30 30)'/%3E%3Ccircle cx='30' cy='30' r='5'/%3E%3Cpath d='M0 0l9 9M60 0l-9 9M0 60l9-9M60 60l-9-9M30 0v6M30 60v-6M0 30h6M60 30h-6'/%3E%3C/g%3E%3C/svg%3E");
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font:400 17px/1.7 var(--sans);font-variant-numeric:lining-nums;color:var(--ink);background:var(--paper);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
.sprite{display:none}
.ico{width:1.4em;height:1.4em;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:50}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.05;margin:0 0 .45em;letter-spacing:-.01em}
h1{font-size:clamp(3rem,8vw,6.2rem)}
h2{font-size:clamp(2.3rem,5vw,3.8rem)}
h3{font-size:1.6rem}
em{font-style:italic;color:var(--terra)}
p{margin:0 0 1em}
.eyebrow{font:600 .74rem var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--terra);margin:0 0 1rem;display:flex;align-items:center;gap:.7rem}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor}

.button{display:inline-flex;align-items:center;gap:.5rem;background:var(--green);color:#fff;text-decoration:none;padding:.95rem 1.8rem;border-radius:999px;border:0;font:600 .95rem var(--sans);letter-spacing:.02em;cursor:pointer;transition:background .25s,transform .25s}
.button:hover{background:var(--terra);transform:translateY(-1px)}
.button.gold{background:var(--gold);color:var(--green)}.button.gold:hover{background:#fff}
.button.small{padding:.65rem 1.3rem;font-size:.88rem}
.button.full{width:100%;justify-content:center}
.ghost{color:#fff;text-decoration:none;font-weight:600;font-size:.95rem;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:2px}
.ghost:hover{border-color:var(--gold);color:var(--gold)}

.header{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem var(--pad);color:#fff;transition:background .35s,padding .35s,color .35s,box-shadow .35s}
.header.solid{background:rgba(255,252,246,.95);backdrop-filter:blur(8px);color:var(--ink);padding-block:.7rem;box-shadow:0 1px 0 var(--line)}
.brand{font:500 1.55rem/1 var(--serif);text-decoration:none;letter-spacing:.02em}
.brand small{display:block;font:600 .6rem var(--sans);letter-spacing:.24em;text-transform:uppercase;opacity:.75;margin-top:.3rem}
.nav{display:flex;gap:2rem}
.nav a{text-decoration:none;font-size:.92rem;opacity:.9;position:relative}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:var(--gold);transition:right .3s}
.nav a:hover::after{right:0}

.hero{position:relative;min-height:min(100svh,920px);display:flex;align-items:flex-end;padding:140px var(--pad) clamp(56px,9vw,110px);color:#fff;overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.06);animation:drift 18s ease-out forwards}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,36,30,.88) 0%,rgba(15,36,30,.55) 45%,rgba(15,36,30,.1) 100%),linear-gradient(0deg,rgba(15,36,30,.6),transparent 40%)}
.hero-copy{max-width:680px}
.hero .eyebrow,.hero em{color:var(--gold)}
.lead{font-size:clamp(1.1rem,1.6vw,1.3rem);color:#efe5d3;max-width:30em;margin-bottom:2rem}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.6rem}
@keyframes drift{to{transform:scale(1)}}

.band{height:60px;background:var(--sand) var(--tile) repeat-x center/60px;border-block:1px solid var(--line)}
.band.green{background:var(--green) var(--tile-gold) repeat-x center/60px;border:0}

.section{padding:clamp(56px,7vw,104px) var(--pad);max-width:1280px;margin:auto}
.lead-dark{font:500 clamp(1.35rem,2vw,1.65rem)/1.45 var(--serif);color:var(--ink)}
.intro{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}
.intro-text p:not(.eyebrow):not(.lead-dark){color:var(--muted)}
.facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:4px 4px 120px 120px;overflow:hidden}
.facts li{background:var(--paper);padding:2rem 1.4rem;display:flex;flex-direction:column}
.facts li:nth-child(n+3){padding-bottom:3.2rem}
.facts strong{font:400 2.6rem/1 var(--sans);letter-spacing:-.02em;color:var(--green)}
.facts span{font-size:.88rem;color:var(--muted);margin-top:.4rem}

.day{max-width:none;background:var(--sand)}
.day>*{max-width:1180px;margin-left:auto;margin-right:auto}
.timeline{list-style:none;padding:0;margin-top:3rem;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;position:relative}
.timeline::before{content:"";position:absolute;left:0;right:0;top:.85rem;height:1px;background:var(--sand-2)}
.timeline li{position:relative;padding-top:2.6rem}
.timeline li::before{content:"";position:absolute;top:.5rem;left:0;width:.75rem;height:.75rem;background:var(--terra);transform:rotate(45deg)}
.time{position:absolute;top:0;left:1.6rem;font:600 .8rem var(--sans);letter-spacing:.14em;color:var(--terra);background:var(--sand);padding-right:.6rem}
.timeline .ico{color:var(--green);width:2rem;height:2rem;margin-bottom:.8rem;display:block}
.timeline p{color:var(--muted);font-size:.96rem}

.feature{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,7vw,110px);align-items:center}
.arch{margin:0;border-radius:999px 999px 6px 6px;overflow:hidden;aspect-ratio:4/5;box-shadow:24px 24px 0 var(--sand)}
.arch img{width:100%;height:100%;object-fit:cover}
.feature p:not(.eyebrow){color:var(--muted)}
.icons{list-style:none;padding:0;margin:1.8rem 0 2.2rem;display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.icons li{display:flex;align-items:center;gap:.9rem;font-size:.93rem;background:var(--sand);border-radius:12px;padding:.8rem 1rem;line-height:1.3}
.icons .ico{color:var(--terra);background:var(--paper);border-radius:50%;padding:.45rem;width:2.4rem;height:2.4rem}

.gallery{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(140px,17vw,230px);gap:14px;margin-top:2.5rem}
.gallery figure{margin:0;overflow:hidden;border-radius:6px}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.gallery figure:hover img{transform:scale(1.05)}
.g1{grid-column:span 4;grid-row:span 2}

.g2{grid-column:span 2;grid-row:span 2}
.g3,.g4,.g5{grid-column:span 2}
.ph{background:linear-gradient(rgba(244,235,221,.82),rgba(244,235,221,.82)),var(--tile) center/60px;display:grid;place-items:center;border:1px solid var(--line)}
.ph figcaption{background:var(--paper);padding:.5rem 1.1rem;border-radius:999px;font:500 1.3rem var(--serif);color:var(--green)}
.ph figcaption::after{content:" · Foto folgt";font:400 .75rem var(--sans);color:var(--muted)}

.around{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-items:start}
.around p:not(.eyebrow){color:var(--muted)}
.walk{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.walk li{display:grid;grid-template-columns:5.5rem 1fr;align-items:baseline;padding:1rem 0;border-bottom:1px solid var(--line);transition:padding .25s}
.walk li:hover{padding-left:.6rem}
.min{font:600 1rem var(--sans);color:var(--terra)}
.walk small{color:var(--muted);font-size:.8rem;margin-left:.3rem}

.faq{max-width:980px}
.faq-list{margin-top:2rem;border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;padding:1.3rem 2.5rem 1.3rem 0;font:500 1.45rem var(--serif);position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"";position:absolute;right:.4rem;top:50%;width:.6rem;height:.6rem;border:solid var(--terra);border-width:0 1.5px 1.5px 0;transform:translateY(-70%) rotate(45deg);transition:transform .3s}
details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
details p{color:var(--muted);max-width:44em;padding-bottom:.6rem}

.contact{background:var(--green) var(--tile-gold) center/60px;color:#f3ead9;padding:clamp(72px,10vw,130px) var(--pad);position:relative}
.contact::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(23,58,49,.97) 30%,rgba(23,58,49,.88))}
.contact-inner{position:relative;max-width:1180px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:end}
.contact em,.contact .eyebrow{color:var(--gold)}
address{font-style:normal;font-size:1.1rem;margin-bottom:1rem}
.contact-links{display:flex;flex-direction:column;gap:.2rem;margin-bottom:1.6rem}
.contact-links a{text-decoration:none;font:400 1.15rem var(--sans)}.contact-links a:hover{color:var(--gold)}
.contact-cta{border:1px solid rgba(217,164,65,.4);border-radius:200px 200px 8px 8px;padding:4rem 2rem 2.4rem;text-align:center}
.contact-cta p{color:#d8ccb7}
/* Ticker */
.ticker{background:var(--terra);color:#fff;overflow:hidden;padding:1.1rem 0;white-space:nowrap}
.ticker-track{display:inline-flex;animation:tick 40s linear infinite}
.ticker span{font:italic 500 1.9rem var(--serif);padding:0 1.6rem;display:inline-flex;align-items:center}
.ticker span::after{content:"";width:.55rem;height:.55rem;background:var(--gold);transform:rotate(45deg);margin-left:3.2rem}
@keyframes tick{to{transform:translateX(-50%)}}

/* Zitat mit Foto */
.quote{padding:clamp(90px,14vw,190px) var(--pad);text-align:center;color:#fff;background:linear-gradient(rgba(15,36,30,.72),rgba(15,36,30,.72)),url(assets/pool.jpg) center 45%/cover}
.quote blockquote{margin:0 auto;max-width:900px;font:500 clamp(2rem,4.5vw,3.6rem)/1.15 var(--serif)}
.quote em{color:var(--gold)}

/* Footer */
.footer{background:#10291f;color:#cfc3ad;padding:0 var(--pad) 5.5rem;position:relative;overflow:hidden}
.footer::before{content:"";position:absolute;inset:0;background:var(--tile-gold) center/60px;opacity:.07}
.footer>*{position:relative;max-width:1180px;margin-left:auto;margin-right:auto}
.footer-top{text-align:center;padding:clamp(56px,8vw,96px) 0 clamp(32px,5vw,56px);border-bottom:1px solid rgba(217,164,65,.25)}
.footer-word{font:italic 500 clamp(4.5rem,15vw,12rem)/.9 var(--serif);margin:0;color:transparent;-webkit-text-stroke:1px var(--gold)}
.footer-sub{margin:.4rem 0 0;font:600 .75rem var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1fr;gap:2.5rem;padding:3.5rem 0}
.footer-grid .brand{color:#fff;display:inline-block;margin-bottom:1rem}
.footer-grid h3{font:600 .72rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 1rem}
.footer-grid nav,.footer-grid>div{display:flex;flex-direction:column;gap:.45rem;align-items:flex-start;font-size:.93rem}
.footer-grid a{text-decoration:none}.footer-grid a:hover{color:var(--gold)}
.footer-grid .button{margin-top:.8rem;color:var(--green)}
.footer-bottom{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding-top:1.5rem;border-top:1px solid rgba(217,164,65,.15);font-size:.82rem;color:#9d927f}
.footer-bottom nav{display:flex;gap:1.4rem}
@media (max-width:960px){.footer-grid{grid-template-columns:1fr 1fr}.quote{background-attachment:scroll}}
@media (max-width:600px){.footer-grid{grid-template-columns:1fr}.ticker span{font-size:1.4rem}}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}}

.fab{position:fixed;right:clamp(16px,3vw,32px);bottom:clamp(16px,3vw,32px);z-index:30;display:flex;align-items:center;gap:.6rem;background:var(--terra);color:#fff;text-decoration:none;font:600 .95rem var(--sans);padding:.95rem 1.5rem;border-radius:999px;box-shadow:0 10px 30px rgba(34,28,23,.28);transform:translateY(140%);opacity:0;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s,background .25s}
.fab.show{transform:none;opacity:1}
.fab:hover{background:var(--green)}

.book-dialog{border:0;padding:0;border-radius:14px;width:min(440px,calc(100% - 32px));background:var(--paper);color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.35);overflow:hidden}
.book-dialog::backdrop{background:rgba(15,36,30,.6);backdrop-filter:blur(3px)}
.book-dialog[open]{animation:pop .35s cubic-bezier(.2,.8,.2,1)}
@keyframes pop{from{opacity:0;transform:translateY(20px) scale(.97)}}
.booking-form{padding:2.4rem 2rem 1.6rem;display:grid;gap:1rem;position:relative}
.booking-form::before{content:"";position:absolute;inset:0 0 auto;height:10px;background:var(--green) var(--tile-gold) center/30px}
.booking-form h2{font-size:2.4rem;margin:0}
.booking-form .eyebrow,.booking-form p{margin:0}.booking-form .button{text-align:center}
.row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.booking-form label{display:grid;gap:.3rem;font:600 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.booking-form input,.booking-form select{font:400 1rem var(--sans);padding:.75rem .8rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);width:100%}
.booking-form input:focus,.booking-form select:focus{border-color:var(--terra);outline:none}
.note{font-size:.82rem;color:var(--muted);margin:0}
.alt{text-align:center;font-size:.76rem;margin:0}.alt a{color:var(--muted)}
.close{position:absolute;top:1.1rem;right:1rem;background:none;border:0;cursor:pointer;color:var(--muted);padding:.3rem}.close:hover{color:var(--ink)}

.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
.js .reveal.in{opacity:1;transform:none}

.legal{max-width:760px;margin:auto;padding:48px 16px}
.legal h1{font-size:3rem}.legal h2{font-size:1.6rem;margin-top:1.5em}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}.hero-bg{transform:none}}

@media (max-width:960px){
  .nav{display:none}
  .intro,.feature,.around,.contact-inner{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr 1fr;gap:2.5rem 1.5rem}
  .timeline::before{display:none}
  .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:180px}
  .g1{grid-column:span 2}.g2,.g3,.g4{grid-column:span 1;grid-row:span 1}.g5{grid-column:span 2}
  .arch{max-width:460px;box-shadow:14px 14px 0 var(--sand)}
}
@media (max-width:600px){
  body{font-size:16px}
  .header .button{display:none}
  .timeline,.icons{grid-template-columns:1fr}
  .hero::before{background:linear-gradient(0deg,rgba(15,36,30,.92) 20%,rgba(15,36,30,.35))}
  .fab{left:16px;right:16px;justify-content:center}
  .row{grid-template-columns:1fr}
  .booking-form{padding:2.2rem 1.3rem 1.4rem}
}

/* Fliesenrahmen an den Außenrändern, nur auf breiten Bildschirmen */
@media (min-width:1500px){
  body::before,body::after{content:"";position:fixed;top:0;bottom:0;width:30px;z-index:15;pointer-events:none;background:var(--tile) center top/30px repeat-y;opacity:.35}
  body::before{left:10px;border-right:1px solid var(--line)}
  body::after{right:10px;border-left:1px solid var(--line)}
}
.footer-ar{font:400 clamp(3rem,8vw,5.5rem)/1.2 "Noto Naskh Arabic","Segoe UI","Arabic Typesetting",serif;color:var(--gold);margin:.6rem 0 0}
/* Aktivitäten-Seite */
.page-hero{background:var(--green) var(--tile-gold) center/60px;color:#fff;padding:150px var(--pad) 80px;position:relative}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,58,49,.97) 35%,rgba(23,58,49,.8))}
.page-hero>*{position:relative;max-width:1180px;margin-left:auto;margin-right:auto}
.page-hero .eyebrow,.page-hero em{color:var(--gold)}
.page-hero p.lead{margin-bottom:0}
.header.static{background:rgba(255,252,246,.95);color:var(--ink);box-shadow:0 1px 0 var(--line)}
.acts{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:2.5rem}
.act{background:#fff;border:1px solid var(--line);border-radius:160px 160px 12px 12px;padding:3.5rem 1.8rem 2rem;display:flex;flex-direction:column;text-align:center;align-items:center}
.act .tag{font:600 .7rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--terra);margin-bottom:.8rem}
.act h3{font-size:1.9rem}
.act p{color:var(--muted);font-size:.95rem;flex:1}
.act .ico{width:2.6rem;height:2.6rem;color:var(--green);margin-bottom:1rem}
.also{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;padding:0;margin:1.5rem 0 0}
.also li{background:var(--sand);border-radius:999px;padding:.45rem 1rem;font-size:.92rem}
@media (max-width:960px){.acts{grid-template-columns:1fr}}.also-title{margin-top:3.5rem}.header.static{position:sticky}.page-hero{padding-top:80px}
.acts{grid-template-columns:repeat(2,1fr)}
.ask{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin:3rem 0 1rem}
.ask>div{background:var(--sand);border-radius:12px;padding:1.8rem}
.ask p{color:var(--muted)}
.text-link{color:var(--terra);font-weight:600}
@media (max-width:760px){.acts,.ask{grid-template-columns:1fr}}
p.small{font-size:.86rem;color:var(--muted)}
/* Kontakt im Header */
.head-contact{display:flex;gap:1.1rem;align-items:center;font-size:.85rem;margin-left:auto}
.head-contact a{text-decoration:none;opacity:.9}.head-contact a:hover{color:var(--gold)}
.head-contact .wa{border:1px solid currentColor;border-radius:999px;padding:.3rem .8rem}
.header .nav{margin-left:auto}
@media (max-width:1280px){.head-contact a[href^="tel"]{display:none}}
@media (max-width:600px){.head-contact{display:flex}.header .button{display:none}}
/* Bewertung */
.rating{display:inline-flex;align-items:center;gap:.8rem;margin-top:2rem;color:#fff;text-decoration:none;border-left:2px solid var(--gold);padding-left:1rem}
.rating strong{font:500 1.5rem var(--serif);color:var(--gold)}
.rating span{font-size:.85rem;color:#efe5d3}
.rating:hover span{text-decoration:underline}
/* Buttons */
.btn-row{display:flex;flex-wrap:wrap;gap:1rem}
.button.outline{background:transparent;color:var(--green);box-shadow:inset 0 0 0 1.5px var(--green)}
.button.outline:hover{background:var(--green);color:#fff}
/* Zimmer */
.room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.6rem}
.room{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.room-img{margin:0;aspect-ratio:4/3;overflow:hidden}
.room-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.room:hover .room-img img{transform:scale(1.04)}
.room-img.ph{display:grid;place-items:center;background:linear-gradient(rgba(244,235,221,.82),rgba(244,235,221,.82)),var(--tile) center/60px}
.room-img.ph figcaption{background:var(--paper);padding:.4rem 1rem;border-radius:999px;font:500 1.2rem var(--serif);color:var(--green)}
.room-img.ph figcaption::after{content:" · Foto folgt";font:400 .72rem var(--sans);color:var(--muted)}
.room-body{padding:1.4rem 1.5rem 1.6rem}
.room-body .tag{font:600 .7rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--terra)}
.room-body h3{margin:.3rem 0 .8rem}
.room-facts{list-style:none;margin:0 0 .9rem;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;border-block:1px solid var(--line);padding-block:.8rem}
.room-facts li{display:flex;flex-direction:column;font-size:.9rem}
.room-facts span{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.room-extras{font-size:.85rem;color:var(--muted);margin:0}
/* Zimmer & Aktivitäten auf der Startseite */
.section-lead{color:var(--muted);max-width:40em}
.rooms{max-width:none;background:var(--sand);padding-inline:0}
.rooms-head{max-width:1180px;margin:0 auto 2rem;padding:0 var(--pad);display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:end}
.rooms .room-grid{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(270px,26vw,340px);grid-template-columns:none;gap:1.4rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.5rem max(var(--pad),calc((100vw - 1180px)/2)) 1.5rem;scrollbar-width:thin;scrollbar-color:var(--terra) transparent}
.rooms .room{scroll-snap-align:start}
.scroll-hint{max-width:1180px;margin:0 auto;padding:0 var(--pad);font-size:.82rem;color:var(--muted)}
#aktivitaeten .acts{grid-template-columns:repeat(4,1fr)}
#aktivitaeten .act{padding:3rem 1.3rem 1.6rem}
#aktivitaeten .act h3{font-size:1.55rem}
@media (max-width:1100px){#aktivitaeten .acts{grid-template-columns:1fr 1fr}}
@media (max-width:700px){#aktivitaeten .acts,.rooms-head{grid-template-columns:1fr}}
.rooms{--edge:max(var(--pad),calc((100vw - 1280px)/2 + var(--pad)))}
.rooms-head,.scroll-hint{max-width:none;padding-inline:var(--edge)}
.rooms .room-grid{padding-inline:var(--edge);scroll-padding-inline:var(--edge)}
.scroll-hint{display:flex;justify-content:space-between;align-items:center}.room-nav{display:flex;gap:.6rem}.room-nav button{width:46px;height:46px;border-radius:50%;border:1px solid var(--terra);background:transparent;color:var(--terra);font-size:1.1rem;cursor:pointer;transition:background .2s,color .2s}.room-nav button:hover{background:var(--terra);color:#fff}
/* Effekt: Zellige zeichnet sich */
.band.drawn{background-image:none;position:relative;overflow:hidden}
.band-svg{display:block;width:100%;height:60px;fill:none;stroke:var(--terra);stroke-width:1.2;stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:round}
.band.green .band-svg{stroke:var(--gold)}
/* Effekt: Laternenlicht */
.lantern{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .7s ease;
  background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(240,190,100,.20),rgba(217,164,65,.07) 40%,transparent 70%)}
.lantern::after{content:"";position:absolute;inset:0;background:var(--tile-gold) center/60px;opacity:.55;
  -webkit-mask-image:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),#000,transparent 75%);
  mask-image:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),#000,transparent 75%)}
.lantern.on{opacity:1}
/* Uhrzeit & Gruß aus Marrakesch */
.mk-clock{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .8rem;margin:0 0 1.4rem;color:#efe5d3}
.mk-greet{font:italic 500 1.6rem var(--serif);color:var(--gold)}
.mk-ar{font:400 1.5rem "Segoe UI","Noto Naskh Arabic",serif;color:var(--gold)}
.mk-text{font-size:.82rem;letter-spacing:.06em;opacity:.85;flex-basis:100%}
/* Tageszeiten: Tönung über dem Hero-Foto */
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;transition:background 2s;mix-blend-mode:soft-light}
.phase-morning .hero::after{background:linear-gradient(160deg,rgba(255,214,150,.55),rgba(255,180,120,.15) 60%)}
.phase-evening .hero::after{background:linear-gradient(200deg,rgba(255,140,60,.75),rgba(180,70,40,.35) 60%);mix-blend-mode:overlay}
.phase-night .hero::after{background:linear-gradient(180deg,rgba(10,20,60,.75),rgba(10,25,50,.55));mix-blend-mode:multiply}
.phase-night .hero-bg{filter:saturate(.7) brightness(.8)}
.phase-evening .lantern,.phase-night .lantern{filter:brightness(1.5)}
/* Sterne */
.footer-top{position:relative}
.stars{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 2s}
.phase-night .stars,.phase-evening .stars{opacity:1}
.phase-evening .stars{opacity:.4}
.stars span{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);border-radius:50%;background:#fff3d6;box-shadow:0 0 6px #ffd98a;animation:twinkle var(--d) ease-in-out infinite alternate}
@keyframes twinkle{from{opacity:.15}to{opacity:1}}
/* Kamel */
.camel-track{position:relative;height:0;z-index:2}
.camel{position:absolute;bottom:-2px;left:0;transform:translateX(var(--cx,-90px));fill:none;stroke:var(--terra);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.camel circle{fill:var(--terra)}
.camel .c-saddle{stroke:var(--gold);stroke-width:2}
.camel .c-legs{transform-box:fill-box;transform-origin:50% 0}
.camel.walking .c-legs.a{animation:stepA .5s ease-in-out infinite alternate}
.camel.walking .c-legs.b{animation:stepA .5s ease-in-out infinite alternate-reverse}
.camel.walking .c-body{animation:bob .25s ease-in-out infinite alternate}
.camel.parked{--cx:40px}
@keyframes stepA{from{transform:rotate(9deg)}to{transform:rotate(-9deg)}}
@keyframes bob{to{transform:translateY(-1px)}}
@media (max-width:600px){.camel{width:64px;height:48px}.mk-greet{font-size:1.3rem}}
.camel{width:108px;height:81px}@media (max-width:600px){.camel{width:72px;height:54px}}
/* Korrektur: Laterne im Footer über die volle Fläche */
.footer>.lantern,.contact>.lantern{position:absolute;inset:0;max-width:none;margin:0}
/* Nacht sanfter */
.phase-night .hero::after{background:linear-gradient(180deg,rgba(20,35,80,.5),rgba(15,30,60,.3));mix-blend-mode:multiply}
.phase-night .hero-bg{filter:saturate(.85) brightness(.95)}
/* Himmel mit Sonne/Mond */
.sky{position:absolute;inset:0;pointer-events:none;z-index:0}
.hero-copy{position:relative;z-index:1}
.orb{position:absolute;left:var(--ox,70%);top:var(--oy,20%);width:clamp(48px,5vw,76px);transform:translate(-50%,-50%);transition:left 2s,top 2s}
.orb svg{display:none;width:100%;height:auto;overflow:visible}
.sky-day .orb .sun{display:block;fill:rgba(255,214,120,.25);stroke:#ffd98a;stroke-width:1.6;stroke-linecap:round;filter:drop-shadow(0 0 14px rgba(255,200,100,.8));animation:spin 60s linear infinite}
.sky-night .orb .moon{display:block;fill:#f6ebcf;filter:drop-shadow(0 0 16px rgba(255,235,190,.7))}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-clock{position:absolute;right:var(--pad);bottom:clamp(56px,9vw,110px);z-index:1;text-align:right;color:#fff;display:flex;flex-direction:column}
.hc-time{font:500 clamp(2.6rem,4vw,3.6rem)/1 var(--serif)}
.hc-label{font:600 .7rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-top:.4rem}
@media (max-width:960px){.hero-clock{display:none}.orb{width:44px}}
/* Kamel: kleine Pausen-Animation */
.camel:not(.walking) .c-body,.camel:not(.walking) .c-legs{animation:hop 5s ease-in-out infinite}
.camel:not(.walking) .c-tail{transform-box:fill-box;transform-origin:50% 0;animation:swish 2.4s ease-in-out infinite}
@keyframes hop{0%,78%,100%{transform:translateY(0)}83%{transform:translateY(-7px)}88%{transform:translateY(0)}92%{transform:translateY(-3px)}96%{transform:translateY(0)}}
@keyframes swish{0%,100%{transform:rotate(0)}50%{transform:rotate(18deg)}}
@media (prefers-reduced-motion:reduce){.camel *{animation:none!important}}
.camel{transform:translateX(var(--cx,-100px)) scaleX(var(--dir,1))}
/* 5a Wörter */
.words .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.words .wi{display:inline-block;transform:translateY(105%);transition:transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i) * 70ms)}
.words.shown .wi{transform:none}
/* 5b Bogen-Enthüllung */
.arch-reveal{clip-path:inset(35% 38% 0 38% round 999px 999px 0 0);transition:clip-path 1.4s cubic-bezier(.65,0,.25,1)}
.arch-reveal img{transform:scale(1.15);transition:transform 1.8s cubic-bezier(.2,.8,.2,1)}
.arch-reveal.shown{clip-path:inset(0 0 0 0 round 6px)}
.arch.arch-reveal.shown{clip-path:inset(0 0 0 0 round 999px 999px 6px 6px)}
.arch-reveal.shown img{transform:scale(1)}
.arch.arch-reveal{box-shadow:none}
.gallery .ph.arch-reveal{clip-path:inset(0 round 6px)}
/* 5c Parallax: Drift-Animation aus, damit sich beides nicht stört */
.hero-bg{animation:none;transform:scale(1.08);will-change:translate}
/* 5d Magnet */
.button,.fab{transition:background .25s,translate .35s cubic-bezier(.2,.8,.2,1)}
/* 5e Kippen */
.tilt{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s;position:relative}
.tilt:hover{box-shadow:0 18px 40px rgba(34,28,23,.14);transition:transform .12s linear,box-shadow .45s}
.tilt::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.35),transparent 55%);opacity:0;transition:opacity .4s}
.tilt:hover::after{opacity:1}
/* Keine Wort-Animation mehr */
.words .wi{transform:none!important;transition:none!important}
/* Kamel als Lesefortschritt */
.trail{position:absolute;left:0;right:0;bottom:0;height:2px;pointer-events:none;--p:0}
.trail-fill{position:absolute;left:0;bottom:0;height:2px;width:calc(var(--p) * 100%);background:linear-gradient(90deg,var(--terra),var(--gold))}
.trail .camel{position:absolute;bottom:1px;width:40px;height:30px;left:calc(var(--p) * (100% - 40px));transform:scaleX(var(--dir,1));stroke:var(--gold);transition:left .15s linear}
.header.solid .trail .camel{stroke:var(--terra)}
.header.solid .trail .camel circle{fill:var(--terra)}
.trail .camel circle{fill:var(--gold)}
.room-img.ph figcaption{font:400 .8rem var(--sans);color:var(--muted)}.room-img.ph figcaption::after{content:none}.rooms{padding-top:clamp(40px,5vw,64px)}
.button.pulled,.fab.pulled{box-shadow:0 10px 28px rgba(181,100,60,.35)}
/* Handy-Menü */
.menu-btn{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;color:inherit;padding:10px;flex-direction:column;justify-content:center;gap:6px}
.menu-btn span{display:block;height:1.5px;background:currentColor;border-radius:2px}
.menu-btn span:nth-child(2){width:70%;margin-left:auto}
@media (max-width:960px){.menu-btn{display:flex}.head-contact{margin-left:auto}}
.menu-panel{border:0;padding:0;margin:0;width:100%;max-width:none;height:100%;max-height:none;background:var(--green) var(--tile-gold) center/60px;color:#f3ead9}
.menu-panel[open]{display:flex;flex-direction:column;animation:menuIn .35s cubic-bezier(.2,.8,.2,1)}
.menu-panel::before{content:"";position:fixed;inset:0;background:rgba(23,58,49,.93);z-index:-1}
.menu-panel::backdrop{background:transparent}
@keyframes menuIn{from{opacity:0}}
.menu-top{display:flex;justify-content:space-between;align-items:center;padding:1rem var(--pad);position:relative}
.menu-close{background:none;border:0;color:#f3ead9;cursor:pointer;padding:.5rem}
.menu-panel nav{display:flex;flex-direction:column;padding:1rem var(--pad);gap:.2rem;position:relative;flex:1;overflow-y:auto}
.menu-panel nav a{font:500 clamp(1.8rem,7vw,2.4rem)/1.35 var(--serif);text-decoration:none;color:#fff;border-bottom:1px solid rgba(217,164,65,.18);padding:.35rem 0}
.menu-panel nav a:active,.menu-panel nav a:hover{color:var(--gold)}
.menu-foot{padding:1.2rem var(--pad) 2rem;position:relative;display:grid;gap:1rem}
.menu-contact{display:flex;justify-content:space-between;gap:.6rem}
.menu-contact a{flex:1;text-align:center;border:1px solid rgba(217,164,65,.45);border-radius:999px;padding:.6rem;text-decoration:none;font-size:.9rem}
body:has(.menu-panel[open]){overflow:hidden}
@media (max-width:960px){.header{padding-bottom:2.1rem}.header.solid{padding-bottom:2rem}}
/* Zimmerfotos: Vorschau-Knopf und Galerie-Fenster */
.room-open{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer;position:relative}
.room-count{position:absolute;right:.7rem;bottom:.7rem;background:rgba(15,36,30,.75);color:#fff;font:600 .72rem var(--sans);letter-spacing:.08em;padding:.3rem .7rem;border-radius:999px}
.room-gallery{width:min(1100px,100vw);max-width:100vw;max-height:100dvh;padding:0;border:0;border-radius:12px;background:#15130f;color:#f3ead9}
.room-gallery::backdrop{background:rgba(10,9,7,.85)}
.g-top{display:flex;align-items:center;gap:1rem;padding:.7rem 1rem}
.g-top strong{font:400 1.3rem var(--serif)}.g-top span{color:#bfb3a2;font-size:.9rem;margin-right:auto}
.g-close,.g-nav{background:none;border:0;color:inherit;font-size:1.5rem;cursor:pointer;padding:.3rem .7rem}
.g-stage{position:relative;display:flex;align-items:center;justify-content:center}
.g-stage img{max-height:calc(100dvh - 90px);width:auto;max-width:100%;object-fit:contain}
.g-nav{position:absolute;top:50%;transform:translateY(-50%);font-size:2.6rem;background:rgba(0,0,0,.35);border-radius:999px;width:52px;height:52px;padding:0;line-height:1}
.g-prev{left:10px}.g-next{right:10px}
@media (max-width:860px){.room-gallery{border-radius:0;height:100dvh}.g-stage{height:calc(100dvh - 56px)}.g-nav{width:44px;height:44px;font-size:2rem}}
/* Innenhof-Foto im Abschnitt "Das Riad" */
.intro-side{display:grid;gap:1.6rem}
.intro-img{margin:0;border-radius:14px;overflow:hidden;aspect-ratio:3/2}
.intro-img img{width:100%;height:100%;object-fit:cover}
