
:root{--bg:#0b0909;--gold:#d7b579;--text:#f4e9d7;--muted:#c8b7a1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 system-ui,Arial,sans-serif}h1,h2,h3,.brand{font-family:Georgia,serif;font-weight:400}h1{font-size:clamp(2.6rem,6vw,5.5rem);line-height:1.1;margin:.5rem 0}h2{font-size:clamp(1.8rem,4vw,3rem)}p{max-width:66ch}.eyebrow{letter-spacing:.23em;text-transform:uppercase;color:var(--gold);font-size:.73rem}a{color:var(--gold)}.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1240px;margin:auto;padding:1.1rem 1.5rem}.brand{color:var(--gold);letter-spacing:.15em;text-decoration:none;font-size:1.05rem}.menu{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.menu a{color:var(--text);text-decoration:none;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.menu a:hover,.menu a[aria-current=page]{color:var(--gold)}header{background:#0b0909e8;border-bottom:1px solid #51402a;position:sticky;top:0;z-index:5;backdrop-filter:blur(8px)}button,.button{display:inline-block;border:1px solid var(--gold);padding:.8rem 1.2rem;background:var(--gold);color:#1b1410;text-decoration:none;cursor:pointer;font:600 .76rem system-ui;text-transform:uppercase;letter-spacing:.1em}button.ghost,.button.ghost{background:#0d0a0aaa;color:var(--gold)}:focus-visible{outline:3px solid white;outline-offset:4px}.container{width:min(1140px,calc(100% - 3rem));margin:auto}.scene{min-height:66vh;background-position:center;background-size:cover;display:flex;align-items:end;position:relative}.scene:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0b0909 0%,#0b0909aa 32%,#0b090933 70%)}.scene .container{position:relative;padding:8rem 0 3rem}.lede{font-size:1.17rem;color:#e2d3c0}.content{padding:3rem 0 6rem}.columns{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem}.panel{padding:2rem;border:1px solid #725431;background:linear-gradient(135deg,#211911,#100d0b)}.panel p,.bodycopy{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:2.5rem 0}.door{border:1px solid #705332;background:#19120e;text-decoration:none;transition:transform .2s}.door:hover{transform:translateY(-7px)}.door img{width:100%;height:260px;object-fit:cover;display:block}.door span{display:block;text-align:center;padding:.9rem .3rem;color:var(--gold);font-family:Georgia,serif}.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}.offer{padding:1.5rem;border:1px solid #705332;background:#191411}.offer h3{font-size:1.6rem;margin:.4rem 0}.offer .price{font-family:Georgia,serif;color:var(--gold);font-size:1.7rem}.fine{color:#bcae9b;font-size:.85rem}footer{border-top:1px solid #51402a;text-align:center;padding:2rem;color:#bcae9b;font-size:.8rem}.lang-de{display:none}html[lang=de] .lang-en{display:none}html[lang=de] .lang-de{display:revert}#ageGate{position:fixed;inset:0;z-index:20;background:#090706 url('assets/grand-entrance.webp') center/cover;display:flex;align-items:flex-end;justify-content:center;padding:1rem;overflow:auto}#ageGate[hidden]{display:none}#ageGate:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0000 25%,#0009 70%,#000d)}.gatepanel{position:relative;max-width:600px;width:100%;background:#120e0bf5;border:1px solid var(--gold);text-align:center;padding:1.6rem;margin:0 auto 2vh;box-shadow:0 15px 70px #000}.gatepanel h2{margin:.5rem}.gateactions{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}.gateactions button{flex:1;min-width:180px}.opening{animation:fadeAway .7s forwards}@keyframes fadeAway{to{opacity:0;visibility:hidden}}@media(max-width:900px){.grid{grid-template-columns:repeat(3,1fr)}.columns{grid-template-columns:1fr}.menu{gap:.6rem}.menu a{font-size:.64rem}}@media(max-width:600px){.nav{align-items:flex-start;flex-direction:column}.grid{grid-template-columns:repeat(2,1fr)}.door img{height:195px}.offers{grid-template-columns:1fr}.scene{min-height:58vh}.gateactions{flex-direction:column}.gateactions button{min-width:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* V7: cinematic door opening transition */
.door{position:relative;overflow:hidden;isolation:isolate;box-shadow:0 12px 35px #0008}
.door:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 25%,#edc68130 50%,transparent 75%);transform:translateX(-110%);transition:transform .65s ease}
.door:hover:after,.door:focus-visible:after{transform:translateX(110%)}
.door img{transition:filter .35s,transform .45s}
.door:hover img,.door:focus-visible img{filter:brightness(1.15);transform:scale(1.035)}
#doorTransition{position:fixed;inset:0;z-index:100;background:#080605;display:none;overflow:hidden;isolation:isolate}
#doorTransition.active{display:grid;place-items:center}
#doorTransition .portal-glow{position:absolute;inset:0;background:radial-gradient(ellipse at center,#e9bb65 0%,#94612a 24%,#160d08 62%,#060405 100%);opacity:0;animation:portalGlow 1.35s ease forwards}
#doorTransition .portal-scene{position:absolute;inset:0;background-position:center;background-size:cover;opacity:.95;transform:scale(1);animation:portalZoom 1.35s ease forwards}
#doorTransition .portal-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#05040380,transparent 32%,transparent 68%,#05040380)}
#doorTransition .portal-leaf{position:absolute;top:-5%;height:110%;width:50.5%;background:linear-gradient(90deg,#08060599,#17100caa),url('assets/grand-entrance.webp') center/cover;border:2px solid #b48b50;box-shadow:0 0 25px #000, inset 0 0 28px #cba26666;transform-origin:left center}
#doorTransition .portal-leaf.left{left:0;transform-origin:left center;animation:doorLeft 1.35s cubic-bezier(.25,.7,.15,1) forwards}
#doorTransition .portal-leaf.right{right:0;transform-origin:right center;animation:doorRight 1.35s cubic-bezier(.25,.7,.15,1) forwards}
#doorTransition .portal-title{position:relative;z-index:2;color:#f9e8c5;font-family:Georgia,serif;letter-spacing:.17em;text-transform:uppercase;text-align:center;text-shadow:0 2px 20px #000;padding:1rem;animation:titleVanish 1.35s ease forwards;font-size:clamp(1.2rem,3vw,2.4rem)}
@keyframes doorLeft{0%,12%{transform:perspective(1000px) rotateY(0)}100%{transform:perspective(1000px) rotateY(-83deg)}}
@keyframes doorRight{0%,12%{transform:perspective(1000px) rotateY(0)}100%{transform:perspective(1000px) rotateY(83deg)}}
@keyframes portalGlow{0%{opacity:0}40%{opacity:.55}100%{opacity:1}}
@keyframes portalZoom{0%{transform:scale(1.07);filter:brightness(.4)}100%{transform:scale(1.2);filter:brightness(1.3)}}
@keyframes titleVanish{0%,40%{opacity:1}90%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){#doorTransition{display:none!important}}

/* V8 – distinct luxury interiors and connected rooms */
.room-section{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(1.5rem,5vw,5rem);padding:4.5rem 0 1.5rem}
.room-art{position:relative;border:1px solid #8c693b;box-shadow:0 25px 60px #000b}
.room-art:after{content:"";position:absolute;inset:12px;border:1px solid #b48c4d55;pointer-events:none}
.room-art img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.room-description h2{margin:.5rem 0 1rem}.room-description p{color:#d7c7b4}.room-quote{font-family:Georgia,serif;font-size:1.4rem;color:var(--gold)!important;font-style:italic}
.room-gallery,.other-rooms{padding:2rem 0 6rem}.preview-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.preview-card{display:flex;flex-direction:column;color:var(--text);text-decoration:none;border:1px solid #695031;background:#16110e;transition:transform .25s,box-shadow .25s}.preview-card:hover,.preview-card:focus-visible{transform:translateY(-6px);box-shadow:0 15px 35px #000a}.preview-card img{width:100%;aspect-ratio:4/5;object-fit:cover}.preview-copy{padding:1rem}.preview-copy p{font-size:.85rem;line-height:1.55;min-height:5rem;color:#d5c6b5}.explore{font-size:.78rem;color:var(--gold)}
.room-links{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.room-link{display:flex;align-items:center;gap:.8rem;text-decoration:none;border:1px solid #655037;background:#16110e;padding:.5rem;color:var(--gold);font:1rem Georgia,serif;transition:background .2s}.room-link:hover{background:#302316}.room-link img{width:74px;height:74px;object-fit:cover}
@media(max-width:950px){.preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.room-links{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.room-section{grid-template-columns:1fr}.preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-links{grid-template-columns:1fr}.preview-copy p{min-height:0}}
@media(prefers-reduced-motion:reduce){.preview-card{transition:none}}

/* V8.2: enforce strict single-language rendering even inside door labels, cards and nested spans. */
html[lang="en"] .lang-de, html[lang="de"] .lang-en { display: none !important; visibility: hidden !important; }
html[lang="en"] .lang-en, html[lang="de"] .lang-de { visibility: visible; }
[hidden] { display: none !important; }

/* V8.3 – high-quality image presentation */
.scene { background-image: linear-gradient(0deg,#0b0909aa,#0b090933),url('assets/obsidian-grand-hall.webp'); background-size:cover; background-position:center; }
.door img,.preview-card img,.room-art img,.room-link img {image-rendering:auto;filter:contrast(1.055) saturate(1.06);}
.door img {height:300px;}
@media(min-width:1200px){.container{width:min(1280px,calc(100% - 4rem))}.door img{height:330px}}
@media(max-width:600px){.door img{height:225px}}

/* V8.4: image presentation – no CSS blur, preserve detail and crop intentionally */
.scene{background-position:center 42%;background-size:cover}
.door img,.preview-card img,.room-art img,.room-link img{filter:none!important;image-rendering:auto;object-position:center center}
.door img{aspect-ratio:4/5;height:auto;min-height:0;object-fit:cover}
.preview-card img{aspect-ratio:4/5;object-fit:cover}
.room-art img{aspect-ratio:16/10;object-fit:cover}
.door:hover img,.door:focus-visible img{filter:brightness(1.08)!important}
@media(max-width:600px){.scene{background-position:50% 45%}.door img{height:auto}}

/* V11.1 application form preview */
.obs-apply-form{display:grid;gap:1.15rem;max-width:760px;margin:1.5rem 0 2rem;padding:clamp(1rem,3vw,2rem);border:1px solid #94784c66;border-radius:12px;background:#120f0edb}.obs-apply-form label{display:grid;gap:.5rem;color:#e4d2ad;font-weight:600}.obs-apply-form input:not([type=checkbox]),.obs-apply-form textarea,.obs-apply-form select{width:100%;box-sizing:border-box;padding:.8rem;border-radius:5px;border:1px solid #937a53;background:#181514;color:#f6ead3;font:inherit}.obs-apply-form textarea{resize:vertical}.obs-apply-form .obs-check{display:flex;align-items:flex-start;gap:.65rem}.obs-check input{margin-top:.25rem;accent-color:#c5a66c}.obs-note{font-size:.9rem;opacity:.85}.obs-preview-button{justify-self:start;background:#ae8a4d;color:#130f0a;border:0;border-radius:4px;padding:.8rem 1.2rem;cursor:pointer;font:inherit;font-weight:700}.obs-form-status{min-height:1.3em}

/* V12.0: distinct, playful Domina atmosphere */
.domina-page .scene{box-shadow:inset 0 -90px 100px rgba(65,12,29,.25)}
.domina-page .room-quote,.domina-page .domina-highlight{border-left:3px solid #8e4053;padding:12px 18px;background:rgba(96,23,46,.14)}
.domina-page .v11-content h2{margin-top:32px}

/* V14.0 unified homepage */
.obs-v14-intro{padding-top:64px;padding-bottom:56px;max-width:970px;text-align:center}
.obs-v14-intro h2{margin:14px 0 24px}
.obs-v14-intro p{max-width:780px;margin:12px auto;line-height:1.8}
.obs-v14-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:30px}
@media(max-width:640px){.obs-v14-intro{padding-top:40px;padding-bottom:30px}.obs-v14-cta{flex-direction:column;align-items:stretch}}

/* V15: photographic lounge and editorial room navigation */
.scene{background-image:linear-gradient(90deg,rgba(10,8,7,.56),rgba(10,8,7,.40)),url('assets/v15-natural-lounge.webp');min-height:410px;align-items:center}
.scene:before{background:linear-gradient(0deg,#0b0909c7,transparent 55%)}
.scene .container{text-align:center;padding:6.5rem 0 4rem}
.scene h1{font-size:clamp(2.7rem,5vw,4.8rem);letter-spacing:.12em}
.scene .lede{margin:1.5rem auto;max-width:740px;letter-spacing:.09em}
.v15-gallery{margin-top:-2px;padding-bottom:5rem}
.v15-main-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.v15-sub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}
.v15-tile{display:block;position:relative;overflow:hidden;isolation:isolate;min-height:220px;border:1px solid #62513d;color:#f2e6d8;text-decoration:none;background:#1b1512}
.v15-main-grid .v15-tile{height:345px}
.v15-sub-grid .v15-tile{height:230px}
.v15-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}
.v15-main-grid .v15-tile:first-child img{object-position:center 54%}
.v15-main-grid .v15-tile:nth-child(2) img{object-position:center 48%}
.v15-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#080605e8,transparent 72%);z-index:0}
.v15-tile-copy{position:absolute;inset:auto 8px 14px;z-index:1;display:flex;align-items:center;flex-direction:column;text-align:center;gap:6px}
.v15-tile-copy strong{font:normal 1.3rem Georgia,serif;letter-spacing:.18em}
.v15-tile-copy small{font-size:.72rem;letter-spacing:.08em;color:#dfd0bd}
.v15-tile-copy b{font-size:1.5rem;font-weight:400;line-height:1}
.v15-tile:hover img,.v15-tile:focus-visible img{transform:scale(1.04)}
@media(max-width:650px){.v15-main-grid,.v15-sub-grid{grid-template-columns:1fr}.v15-main-grid .v15-tile{height:270px}.v15-sub-grid .v15-tile{height:200px}.scene{min-height:330px}.scene .container{padding:4rem 0 2.5rem}}


/* V18.0 legal pages */
.v18-note{border-left:2px solid #aa8c64;padding:12px 16px;background:rgba(0,0,0,.22);margin:22px 0 30px}.content h3{margin-top:30px}.content p{line-height:1.75}
