@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Manrope:wght@400;500;600;700&display=swap');
:root{--wine:#5b1726;--dark:#241015;--gold:#d1a45f;--cream:#f4ecdf;--paper:#fcfaf6;--ink:#241c18;--muted:#766960}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}a{text-decoration:none;color:inherit}img{display:block;width:100%}.nav{position:absolute;z-index:10;inset:0 0 auto;height:92px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;color:#fff;background:rgba(24,10,11,.88);border-bottom:1px solid #ffffff22}.brand{display:flex;align-items:center;gap:13px;font:600 18px/1 'Cormorant Garamond',serif;letter-spacing:.18em}.brand img{width:58px;height:58px;border-radius:50%;object-fit:cover;border:1px solid var(--gold)}.brand small{display:block;font:600 8px/1.8 Manrope,sans-serif;color:var(--gold);letter-spacing:.42em}.nav nav{display:flex;gap:34px;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.navBtn{border:1px solid var(--gold);padding:13px 19px;color:var(--gold);font-size:10px;font-weight:700;text-transform:uppercase}.hero{height:min(920px,100vh);min-height:720px;position:relative;color:#fff;display:flex;align-items:center;overflow:hidden}.hero>img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 52%}.overlay{position:absolute;inset:0;background:linear-gradient(90deg,#1b080beF 0%,#1b080bb8 45%,#1b080b30 76%),linear-gradient(0deg,#0b060699,transparent 45%)}.heroCopy{position:relative;width:min(1240px,90%);margin:90px auto 0}.kicker{text-transform:uppercase;letter-spacing:.3em;font-size:10px;font-weight:700;color:var(--gold);margin:0 0 20px}.wine{color:var(--wine)}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif}h1{font-size:clamp(62px,8vw,116px);line-height:.8;letter-spacing:-.04em;margin:0}h1 em,h2 em{color:var(--gold);font-weight:500}.heroCopy>p:not(.kicker){max-width:590px;line-height:1.85;color:#eadfd8;margin:34px 0}.buttons{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border:1px solid var(--gold);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.13em}.gold{background:var(--gold);color:#251711}.clear{border-color:#ffffff99;color:#fff}.rating{position:absolute;right:5vw;bottom:30px;background:#1e0c0ddd;padding:16px 20px;border-left:2px solid var(--gold);display:grid;grid-template-columns:auto auto;gap:0 12px}.rating strong{font:600 31px 'Cormorant Garamond';grid-row:1/3}.rating span{color:#f2b643}.rating small{font-size:10px}.intro,.visit{padding:115px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:var(--cream)}.intro h2,.head h2,.story h2,.visit h2{font-size:clamp(44px,5vw,74px);line-height:.98;margin:0}.intro>div:last-child{border-top:1px solid #d6c4ac;padding-top:25px}.intro p:not(.kicker),.visit>div>p:not(.kicker){line-height:1.9;color:var(--muted)}.menu,.gallery{padding:110px 5vw}.head{max-width:1320px;margin:auto;display:flex;align-items:end;justify-content:space-between}.head>a{font-size:11px;text-transform:uppercase;color:var(--wine);font-weight:700;border-bottom:1px solid var(--gold);padding-bottom:8px}.cards{max-width:1320px;margin:50px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.cards article{background:#fff;box-shadow:0 15px 45px #2e1a1210}.cards img{height:390px;object-fit:cover}.cards article>div{padding:28px}.cards small{color:var(--wine);text-transform:uppercase;font-size:8px;font-weight:700;letter-spacing:.17em}.cards h3{font-size:35px;margin:10px 0}.cards p{font-size:13px;line-height:1.7;color:var(--muted)}.story{display:grid;grid-template-columns:1fr 1fr;min-height:670px;background:var(--dark);color:#fff}.story>img{height:100%;object-fit:cover}.story>div{padding:8vw;display:flex;flex-direction:column;justify-content:center}.story>div>p:not(.kicker){line-height:1.85;color:#d9c9c3}.story blockquote{font:italic 26px/1.4 'Cormorant Garamond';border-left:2px solid var(--gold);padding-left:20px;color:#f1dfc5}.gallery{background:#fff}.grid{max-width:1320px;margin:45px auto 0;display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.grid img{height:250px;object-fit:cover}.visit dl{margin-top:40px}.visit dl>div{display:grid;grid-template-columns:120px 1fr;padding:18px 0;border-bottom:1px solid #d6c4ac}.visit dt{font-size:9px;text-transform:uppercase;color:var(--wine);font-weight:700}.visit dd{margin:0;font-size:14px;line-height:1.7;font-weight:600}.visit aside{background:var(--wine);color:#fff;padding:50px}.visit aside h3{font-size:42px;margin:0 0 25px}.visit aside>div{display:flex;justify-content:space-between;border-bottom:1px solid #ffffff33;padding:15px 0;font-size:12px}.visit aside .btn{margin-top:28px;width:100%}footer{background:#0d0808;color:#cbbdb6;padding:55px 7vw;text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px;font-size:12px}footer>div{display:flex;gap:25px;text-transform:uppercase;font-size:10px}footer>small{opacity:.55}
@media(max-width:950px){.nav nav{display:none}.navBtn{display:none}.cards{grid-template-columns:1fr}.intro,.story,.visit{grid-template-columns:1fr}.story>img{height:500px}.grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.nav{height:76px;padding:0 20px}.brand img{width:48px;height:48px}.heroCopy{width:calc(100% - 40px)}h1{font-size:57px;line-height:.88}.rating{left:20px;right:auto}.intro,.menu,.gallery,.visit{padding:75px 22px}.head{display:block}.head>a{display:inline-block;margin-top:22px}.cards img{height:330px}.story>img{height:380px}.story>div{padding:70px 24px}.grid{grid-template-columns:repeat(2,1fr)}.grid img{height:210px}.visit aside{padding:35px 24px}footer>div{flex-wrap:wrap;justify-content:center}}

/* Café Royal real-photo presentation */
.overlay{background:linear-gradient(90deg,#1b080bf2 0%,#1b080bc4 46%,#1b080b38 82%),linear-gradient(0deg,#0b060699,transparent 45%)}
.heroPlace{position:absolute;z-index:2;right:7vw;top:155px;width:245px;margin:0;padding:8px;background:#f4ecdf;box-shadow:0 24px 55px #0b050777;transform:rotate(1.5deg)}
.heroPlace img{height:320px;object-fit:cover;object-position:center}
.heroPlace figcaption{padding:12px 8px 6px;color:var(--wine);font-size:9px;font-weight:700;letter-spacing:.13em;text-align:center;text-transform:uppercase}
@media(max-width:1100px){.heroPlace{width:205px;right:4vw}.heroPlace img{height:270px}}
@media(max-width:950px){.heroPlace{display:none}}
.legalPage{min-height:100vh;background:var(--cream);padding:145px 22px 80px}.legalCard{max-width:900px;margin:auto;background:#fff;padding:55px 60px;box-shadow:0 18px 60px #2e1a1212;border-top:4px solid var(--gold)}.legalCard h1{font-size:58px;line-height:1;color:var(--wine);margin:0 0 35px}.legalCard h2{font-size:29px;color:var(--wine);margin:34px 0 12px}.legalCard p,.legalCard li{font-size:14px;line-height:1.8;color:var(--muted)}.legalCard strong{color:var(--ink)}.legalBack{display:inline-block;margin-bottom:30px;color:var(--wine);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.legalNote{margin-top:35px;padding:18px 20px;background:var(--cream);border-left:3px solid var(--gold)}
@media(max-width:620px){.legalPage{padding:105px 15px 45px}.legalCard{padding:35px 24px}.legalCard h1{font-size:43px}}

/* 2026 conversion, products, reviews and location update */
.signatureLine{margin:-14px 0 28px;color:var(--gold);font:600 14px/1.5 'Cormorant Garamond',serif;letter-spacing:.08em}.mobileReserve{display:none}.rating{color:#fff}.cards article{overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.cards article:hover{transform:translateY(-6px);box-shadow:0 24px 60px #2e1a1220}.cards img.sacher{object-position:center 54%}.cards img.kaiser{object-position:center 48%}.cards img.strudel{object-position:center 52%}.cardTitle{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.cardTitle b{color:var(--wine);white-space:nowrap}.reviews{padding:110px 5vw;background:var(--cream)}.reviewGrid{max-width:1320px;margin:45px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.reviewGrid article{background:#fff;padding:34px;border-top:3px solid var(--gold);box-shadow:0 14px 40px #2e1a1210}.reviewGrid article>span{color:#e5a525;letter-spacing:.08em}.reviewGrid article>p{font:italic 24px/1.4 'Cormorant Garamond',serif;min-height:135px}.reviewer{padding-top:18px;border-top:1px solid #eadfce;display:flex;flex-direction:column;gap:4px}.reviewer small{color:var(--muted)}.tourist{padding:110px 7vw;background:var(--dark);color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center}.tourist h2{font-size:clamp(44px,5vw,72px);line-height:.98;margin:0 0 22px}.tourist>div>p:not(.kicker){color:#d9c9c3;line-height:1.8}.tourist ul{list-style:none;padding:0;margin:30px 0}.tourist li{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #ffffff2b;padding:14px 0;font-size:12px}.tourist li span{color:var(--gold)}.miniMap{position:relative;display:block;background:var(--cream);padding:9px 9px 46px;box-shadow:0 22px 55px #0005}.miniMap iframe{width:100%;height:430px;border:0;pointer-events:none}.miniMap span{position:absolute;left:0;right:0;bottom:0;height:46px;display:flex;align-items:center;justify-content:center;color:var(--wine);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
@media(max-width:950px){.reviewGrid{grid-template-columns:1fr}.reviewGrid article>p{min-height:auto}.tourist{grid-template-columns:1fr}.miniMap iframe{height:360px}}
@media(max-width:620px){body{padding-bottom:58px}.reviews,.tourist{padding:75px 22px}.mobileReserve{display:flex;position:fixed;z-index:30;left:0;right:0;bottom:0;height:58px;align-items:center;justify-content:center;background:#1f8f4d;color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 -8px 26px #0003}.miniMap iframe{height:300px}.signatureLine{font-size:12px}}

/* Language switch and online reservation */
.navActions{display:flex;align-items:center;gap:14px}.langToggle{border:0;background:transparent;color:#d8cbc5;font:700 10px Manrope,Arial,sans-serif;letter-spacing:.1em;cursor:pointer;padding:10px 2px}.langToggle span{opacity:.55}.langToggle span.active{color:var(--gold);opacity:1}.reservation{scroll-margin-top:24px;padding:110px 7vw;background:linear-gradient(135deg,#2b0f17 0%,#4b1725 58%,#251014 100%);color:#fff;display:grid;grid-template-columns:.82fr 1.18fr;gap:7vw;align-items:start}.reservation h2{font-size:clamp(46px,5vw,74px);line-height:.98;margin:0 0 28px}.reservation h2 em{color:var(--gold);font-weight:500}.reservationIntro>p:not(.kicker){color:#e0d1cb;line-height:1.85;max-width:560px}.reservationNote{margin:32px 0;padding:20px 22px;border-left:3px solid var(--gold);background:#ffffff0c;color:#f5e8df;font-size:13px;line-height:1.65}.quickContact{margin-top:34px;padding-top:28px;border-top:1px solid #ffffff25}.quickContact span{color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.quickContact p{color:#cdbbb4;font-size:12px;line-height:1.7;max-width:470px}.quickContact a{display:inline-block;color:#fff;border-bottom:1px solid var(--gold);padding-bottom:7px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.reservationForm{background:var(--paper);color:var(--ink);padding:42px;box-shadow:0 28px 70px #0005;display:grid;grid-template-columns:1fr 1fr;gap:21px 18px;border-top:4px solid var(--gold)}.field{display:flex;flex-direction:column;gap:8px}.full{grid-column:1/-1}.field label{color:var(--wine);font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;border:1px solid #d8c9b6;background:#fff;color:var(--ink);font:500 14px Manrope,Arial,sans-serif;padding:14px 15px;border-radius:0;outline:none;transition:border-color .2s,box-shadow .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #d1a45f22}.field textarea{resize:vertical;min-height:105px}.consent{display:flex;align-items:flex-start;gap:11px;color:var(--muted);font-size:11px;line-height:1.55}.consent input{margin-top:3px;accent-color:var(--wine)}.submitReservation{border:0;background:var(--gold);color:#251711;min-height:56px;font:800 11px Manrope,Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:filter .2s,transform .2s}.submitReservation:hover{filter:brightness(1.06);transform:translateY(-2px)}.formFoot{text-align:center;margin:0;color:var(--muted);font-size:10px;letter-spacing:.05em}.websiteField{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.formStatus{display:none;grid-column:1/-1;padding:15px 17px;font-size:12px;line-height:1.6}.formStatus.show{display:block}.formStatus.success{background:#eaf5eb;color:#255c2d;border-left:3px solid #4d9c59}.formStatus.error{background:#fff0ee;color:#8a2f29;border-left:3px solid #a7463f}
@media(max-width:1100px){.nav nav{gap:20px}.navActions{gap:8px}}
@media(max-width:950px){.reservation{grid-template-columns:1fr}.reservationIntro>p:not(.kicker){max-width:none}.langToggle{margin-left:auto}.navActions .navBtn{display:none}}
@media(max-width:620px){.reservation{padding:75px 22px}.reservationForm{padding:28px 20px;grid-template-columns:1fr}.reservationForm .field,.reservationForm .full{grid-column:1}.reservation h2{font-size:46px}.quickContact{margin-bottom:6px}.navActions{margin-left:auto}}

.consent a{color:var(--wine);font-weight:700;text-decoration:underline;text-underline-offset:2px}.rating{width:126px;height:126px;border-radius:50%;padding:13px;background:#fff;color:#2b2522;border:4px solid #ffffff55;box-shadow:0 14px 34px #0006;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;text-align:center}.rating .googleG{font:800 19px Arial,sans-serif;background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 45%,#fbbc05 0 68%,#ea4335 0 84%,#4285f4 0);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}.rating strong{font:600 30px/1 'Cormorant Garamond',serif}.rating .ratingStars{color:#f2b643;font-size:11px;letter-spacing:0}.rating small{font-size:8px;font-weight:700;line-height:1.2;color:#5e514b;max-width:92px}.rating:hover{transform:translateY(-3px);transition:transform .2s}
@media(max-width:620px){.rating{width:84px;height:84px;padding:7px;bottom:18px;border-width:3px}.rating strong{font-size:22px}.rating .googleG{font-size:13px}.rating .ratingStars{font-size:9px}.rating small{font-size:6.2px;line-height:1.1;max-width:68px}}

.mozartMoment{position:relative;min-height:720px;overflow:hidden;background:#180d0d;color:#fff;display:flex;align-items:center}.mozartMoment>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%}.mozartShade{position:absolute;inset:0;background:linear-gradient(90deg,#170708ed 0%,#170708c7 43%,#17070839 73%),linear-gradient(0deg,#0b05058c,transparent 50%)}.mozartCopy{position:relative;z-index:2;width:min(1180px,86%);margin:auto}.mozartCopy h2{font-size:clamp(52px,6vw,88px);line-height:.92;margin:0 0 28px;max-width:760px}.mozartCopy h2 em{color:var(--gold);font-weight:500}.mozartCopy>p:not(.kicker){max-width:550px;color:#e2d4ce;line-height:1.85;margin-bottom:30px}
@media(max-width:620px){.mozartMoment{min-height:620px;align-items:flex-end}.mozartMoment>img{object-position:56% center}.mozartShade{background:linear-gradient(0deg,#170708f5 0%,#170708b5 52%,#17070825 100%)}.mozartCopy{width:calc(100% - 44px);margin:0 auto 68px}.mozartCopy h2{font-size:48px}}

/* Compact reservation popup and balanced Mozart banner */
body.modalOpen{overflow:hidden}.reservationModal{position:fixed;z-index:100;inset:0;background:#17090bd9;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.reservationModal.open{opacity:1;visibility:visible}.reservationDialog{position:relative;width:min(620px,100%);max-height:92vh;overflow:auto;background:var(--paper);padding:34px 38px 28px;border-top:4px solid var(--gold);box-shadow:0 30px 90px #0009}.reservationDialog h2{font-size:45px;line-height:1;margin:0 0 10px;color:var(--wine)}.reservationDialog .kicker{margin-bottom:10px}.modalIntro{margin:0 0 22px;color:var(--muted);font-size:12px;line-height:1.65}.reservationClose{position:absolute;right:14px;top:9px;width:38px;height:38px;border:0;background:transparent;color:var(--wine);font:300 31px/1 Arial,sans-serif;cursor:pointer}.compactForm{padding:0;box-shadow:none;border:0;gap:14px 14px}.compactForm .field{gap:6px}.compactForm .field input,.compactForm .field select{padding:11px 12px}.compactForm .consent{margin-top:2px;font-size:10px}.compactForm .submitReservation{min-height:49px}.modalNote{text-align:center;margin:0;color:var(--muted);font-size:9px}.modalQuick{margin-top:15px;padding-top:13px;border-top:1px solid #e2d6c6;text-align:center;color:var(--muted);font-size:10px}.modalQuick a{color:var(--wine);font-weight:800;margin-left:5px}.mozartMoment{min-height:390px}.mozartMoment>img{object-position:center 48%}.mozartCopy{width:min(1180px,86%)}.mozartCopy h2{font-size:clamp(38px,4vw,58px);max-width:620px;margin-bottom:17px}.mozartCopy>p:not(.kicker){font-size:13px;margin-bottom:21px;max-width:520px}.mozartCopy .btn{min-height:46px}
@media(max-width:620px){.reservationModal{padding:12px;align-items:center}.reservationDialog{padding:28px 20px 22px;max-height:94vh}.reservationDialog h2{font-size:38px}.compactForm{grid-template-columns:1fr 1fr}.compactForm .field,.compactForm .full{grid-column:auto}.compactForm .full{grid-column:1/-1}.mozartMoment{min-height:360px;align-items:center}.mozartMoment>img{object-position:center 47%}.mozartShade{background:linear-gradient(90deg,#170708e8 0%,#170708a8 65%,#17070830)}.mozartCopy{margin:auto;width:calc(100% - 44px)}.mozartCopy h2{font-size:38px;max-width:360px}.mozartCopy>p:not(.kicker){display:none}}

/* Cache-safe final layout corrections */
.hero h1{line-height:.94}
.mobileReserve{display:none!important}
.mozartMoment{height:340px;min-height:340px}
.mozartMoment>img{object-position:center 48%}
.mozartCopy h2{font-size:clamp(36px,3.7vw,52px);line-height:1;max-width:590px}
@media(max-width:1100px){.hero h1{font-size:72px;line-height:.96}.heroCopy{max-width:760px}}
@media(max-width:950px){.hero h1{font-size:64px;line-height:.97}.heroCopy{max-width:none}}
@media(max-width:620px){.hero h1{font-size:49px;line-height:.98;letter-spacing:-.025em}.mozartMoment{height:300px;min-height:300px}.mozartCopy h2{font-size:33px;line-height:1.02;max-width:330px}.reservationDialog{width:min(560px,100%)}.reservationModal.open{display:flex}}
