@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;1,400&family=Montserrat:wght@300;400;500;600&display=swap');
:root{--gold:#d4af37;--dark-burgundy:#2a0a0a;--deep-black:#110505;--text:#eae4df;--muted:#bcaeaa;--line:rgba(212,175,55,.23)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{background:var(--dark-burgundy);color:var(--text);font-family:Montserrat,Arial,sans-serif;display:flex;min-height:100vh}
a{color:inherit;text-underline-offset:5px}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.skip-link{position:fixed;left:16px;top:12px;z-index:10;background:var(--gold);color:var(--deep-black);padding:12px;transform:translateY(-180%)}.skip-link:focus{transform:none}
aside.brand-side{width:280px;flex-shrink:0;background:radial-gradient(ellipse at top,var(--dark-burgundy),var(--deep-black));display:flex;flex-direction:column;align-items:center;padding:24px 24px 20px;border-right:1px solid var(--line);position:sticky;top:0;height:100dvh;overflow-y:auto;scrollbar-width:thin}
.logo-wrapper{display:block;width:100%;max-width:220px;margin-bottom:18px;flex-shrink:0;mask-image:radial-gradient(ellipse,black 65%,transparent 98%)}
.main-logo{display:block;width:100%;height:auto;mix-blend-mode:multiply;filter:contrast(1.1) brightness(.9)}
.language-nav{display:flex;justify-content:center;gap:5px;margin:0 0 20px;flex-wrap:wrap}.language-nav a{display:grid;place-items:center;min-width:35px;min-height:35px;font-size:.69rem;text-decoration:none;color:var(--muted);border:1px solid transparent;letter-spacing:1px}.language-nav a[aria-current]{border-color:var(--gold);color:var(--gold)}
.side-nav{width:100%;display:flex;flex-direction:column;gap:2px}.side-nav a{color:#c0b2ae;text-decoration:none;text-transform:uppercase;font-size:.68rem;letter-spacing:1.7px;padding:12px 7px;border-bottom:1px solid rgba(212,175,55,.09);text-align:center;transition:background .2s,color .2s}.side-nav a.active{color:var(--gold);border-bottom-color:var(--gold);font-weight:600}.side-nav a:hover,.language-nav a:hover{color:var(--gold);background:rgba(255,255,255,.035)}
.sidebar-contact{margin-top:auto;padding-top:25px;display:grid;gap:10px;text-align:center;font-size:.65rem;line-height:1.7;color:var(--muted)}.sidebar-contact a{text-decoration:none;color:var(--gold);font-size:.8rem}
main{flex:1;min-width:0;display:flex;flex-direction:column}.hero{min-height:420px;height:55vh;max-height:650px;background-color:var(--dark-burgundy);background-position:center;background-size:cover;display:flex;align-items:center;justify-content:center;text-align:center;padding:40px 30px 90px;border-bottom:1px solid var(--gold)}
.eyebrow{display:block;text-transform:uppercase;letter-spacing:4px;font-size:.63rem;color:var(--gold);margin-bottom:20px}.hero h1{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(2.2rem,4.7vw,4.6rem);color:white;line-height:1.16;text-shadow:0 4px 15px #0008;text-wrap:balance}.hero p{color:#e1c76b;text-transform:uppercase;letter-spacing:3px;font-size:.71rem;margin:22px auto 0;line-height:1.9;max-width:620px;text-wrap:balance}
.content-body{position:relative;width:calc(100% - 80px);max-width:900px;margin:-65px auto 48px;background:rgba(20,14,14,.96);padding:45px 54px 50px;border:1px solid var(--line);box-shadow:0 25px 55px #0005}.section-mark{display:block;color:var(--gold);font-size:.65rem;text-align:center;margin-bottom:18px}.content-body h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:400;color:var(--gold);margin-bottom:30px;text-align:center;text-wrap:balance}.text-wrap p{margin-bottom:23px;line-height:1.95;font-weight:300;font-size:.93rem;color:#ddd3d0}.text-wrap p:last-child{margin-bottom:0}
.actions{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:36px;flex-wrap:wrap}.gold-cta{display:inline-block;padding:15px 22px;border:1px solid var(--gold);color:var(--gold);text-decoration:none;text-transform:uppercase;letter-spacing:1.8px;font-size:.69rem;line-height:1.6;text-align:center;transition:background .2s,color .2s}.gold-cta:hover{background:var(--gold);color:var(--dark-burgundy)}.text-link{color:var(--gold);font-size:.75rem;text-decoration:none;line-height:1.8}
.film{margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}.film video{width:100%;display:block;max-height:480px;background:#080404;aspect-ratio:637/326;object-fit:contain}
.menu-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}.menu-card{border:1px solid var(--line);padding:26px;text-decoration:none;background:#d4af3705;transition:border-color .2s}.menu-card:hover{border-color:var(--gold)}.menu-card .eyebrow{letter-spacing:2px;margin-bottom:16px}.menu-card h3{font:400 1.5rem/1.4 'Playfair Display',Georgia,serif;margin-bottom:24px}.menu-card>span:last-child{font-size:.7rem;color:var(--gold)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:30px 0}.contact-grid h3{font-size:.67rem;text-transform:uppercase;letter-spacing:2px;color:var(--gold);margin:0 0 12px}.contact-grid address{font-style:normal;font-size:.9rem;line-height:1.9}.contact-grid a{font-size:.9rem;line-height:1.9;overflow-wrap:anywhere}.contact-grid a+h3{margin-top:18px}.contact-email{grid-column:1/-1}
.content-gallery{max-width:1120px}.album-nav{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0}.album-nav a{font-size:.7rem;line-height:1.6;text-decoration:none;border:1px solid var(--line);padding:10px 13px;color:var(--muted)}.album-nav a[aria-current],.album-nav a:hover{border-color:var(--gold);color:var(--gold);background:#d4af3709}.album-heading{font:400 1.6rem/1.4 'Playfair Display',Georgia,serif;color:var(--gold);margin:28px 0 20px;scroll-margin-top:24px}.album-heading span{font:400 .8rem Montserrat,Arial,sans-serif;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gallery-item{display:block;text-decoration:none;border:1px solid var(--line);background:#080404;overflow:hidden}.gallery-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .3s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item>span{display:flex;justify-content:space-between;padding:11px;font-size:.65rem;color:var(--muted)}.gallery-item b{color:var(--gold)}
.lightbox{border:1px solid var(--line);background:#110b0b;color:white;padding:54px 54px 20px;margin:auto;max-width:94vw;max-height:94dvh;width:max-content}.lightbox::backdrop{background:#090303ed}.lightbox figure{margin:auto;max-width:80vw}.lightbox figure img{display:block;max-width:100%;max-height:73dvh;margin:auto;object-fit:contain}.lightbox figcaption{text-align:center;font-size:.73rem;padding-top:18px;line-height:1.8}.lightbox button{position:absolute;background:#210d0d;border:1px solid var(--line);color:var(--gold);width:42px;height:42px;cursor:pointer;font-size:1.4rem}.lightbox-close{right:8px;top:6px}.lightbox-prev{left:6px;top:48%}.lightbox-next{right:6px;top:48%}body.modal-open{overflow:hidden}
footer{padding:0 35px 30px;text-align:center;font-size:.68rem;color:var(--muted);margin-top:auto;line-height:1.9}footer>a{display:inline-block;margin-top:12px;color:var(--gold)}.pfr{max-width:750px;margin:20px auto 0;padding-top:15px;border-top:1px solid var(--line);font-size:.61rem}.pfr summary{cursor:pointer}.pfr p{margin:14px 0}.pfr img{max-width:160px;height:auto;background:white}
@media(min-width:901px) and (max-height:800px){aside.brand-side{padding-top:14px}.logo-wrapper{max-width:155px;margin-bottom:10px}.language-nav{margin-bottom:10px}.side-nav a{padding:9px 5px}.sidebar-contact{padding-top:15px}}
@media(max-width:1100px){aside.brand-side{width:235px;padding-left:18px;padding-right:18px}.content-body{width:calc(100% - 48px);padding:35px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){body{flex-direction:column}aside.brand-side{width:100%;height:auto;position:relative;padding:16px 20px;border-right:0;border-bottom:1px solid var(--line);overflow:visible}.logo-wrapper{max-width:135px;margin-bottom:8px}.language-nav{margin-bottom:12px}.language-nav a{min-height:38px;min-width:40px}.side-nav{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:2px}.side-nav a{font-size:.62rem;padding:11px;letter-spacing:1px}.sidebar-contact{display:none}.hero{height:42vh;min-height:330px;padding:35px 24px 80px}.content-body{margin-top:-45px}.hero h1{font-size:clamp(2.2rem,7vw,3.6rem)}}
@media(max-width:540px){.content-body{width:calc(100% - 28px);padding:28px 22px;margin-bottom:30px}.hero{min-height:300px}.hero p{font-size:.64rem;letter-spacing:2px}.text-wrap p{font-size:.86rem;line-height:1.9}.content-body h2{margin-bottom:24px}.menu-cards,.contact-grid{grid-template-columns:1fr}.menu-card{padding:22px}.gallery-grid{gap:10px}.album-nav{gap:6px}.album-nav a{font-size:.65rem;padding:9px 10px}.actions{gap:20px}.gold-cta{width:100%;padding:14px 16px}.lightbox{padding:52px 8px 18px}.lightbox figure{max-width:86vw}.lightbox-prev,.lightbox-next{top:50%;opacity:.95}.side-nav a{font-size:.58rem;padding:10px 8px}footer{padding-left:20px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.visit-counter{margin:12px auto 0;font-size:.61rem;color:var(--muted);letter-spacing:.3px}.visit-counter span{font-variant-numeric:tabular-nums;color:var(--gold)}
