.site-header{height:120px;padding-top:12px}
.brand img{width:99px;height:99px;object-fit:contain}
.hero{background-image:linear-gradient(90deg,#090811 0%,#100b1eee 31%,#130d2388 58%,#130d2311 88%),url('hero-real.webp');background-position:center}
.gallery{background:#f5f2f7;color:#111016;padding:clamp(5rem,10vw,9rem) clamp(1.25rem,7vw,7rem)}
.gallery .section-heading{margin-bottom:3rem}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:320px;gap:1rem}
.gallery-grid figure{margin:0;overflow:hidden;background:#241332}
.gallery-grid figure.wide{grid-column:span 2}
.gallery-grid img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s ease}
.gallery-grid figure:hover img{transform:scale(1.025)}
.social-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:clamp(.75rem,2vw,1.5rem);width:min(1100px,100%);margin:2.75rem auto .5rem}
.social-links a{display:flex;align-items:center;justify-content:center;min-height:150px;padding:.25rem;border:0;border-radius:16px;transition:transform .25s ease,background-color .25s ease}
.social-links a:hover,.social-links a:focus-visible{transform:translateY(-5px);background:#ffffff0d}
.social-links img{display:block;width:100%;height:145px;object-fit:contain;filter:drop-shadow(0 14px 18px #12071866)}
@media(max-width:800px){.site-header{height:104px;padding-top:10px}.site-header nav{top:104px}.brand img{width:84px;height:84px}.hero{background-position:58% center}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:260px}.gallery-grid figure.wide{grid-column:span 2}}
@media(max-width:800px){.social-links{grid-template-columns:repeat(3,minmax(0,1fr))}.social-links a{min-height:132px}.social-links img{height:126px}}
@media(max-width:500px){.gallery-grid{display:block}.gallery-grid figure{height:260px;margin-bottom:1rem}.gallery-grid figure.wide{height:260px}.social-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.social-links a{min-height:120px}.social-links img{height:116px}.social-links a:last-child{grid-column:1/-1;width:50%;justify-self:center}}
.restaurant-logo{width:min(230px,65%);height:auto;display:block;margin:0 0 1.5rem;filter:drop-shadow(0 10px 18px #27143618)}
.restaurant-gallery{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem}
.restaurant-gallery figure{height:350px;margin:0;overflow:hidden;background:#2a103f}
.restaurant-gallery img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease}
.restaurant-gallery figure:hover img{transform:scale(1.025)}
.live-video{grid-column:1/-1;display:flex;justify-content:center;margin-top:2rem}
.live-video video{display:block;width:auto;max-width:100%;height:min(78vh,760px);background:#0b0a0e;box-shadow:0 22px 50px #2413322b}
@media(max-width:800px){.restaurant-logo{margin-inline:auto}.schedule-title{text-align:center}.schedule-title>p:last-child{margin-inline:auto}.restaurant-gallery{grid-template-columns:1fr 1fr}.restaurant-gallery figure{height:310px}}
@media(max-width:500px){.restaurant-gallery figure{height:250px}}
.testimonials{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,7vw,7rem);background:#f5f2f7;color:#111016}
.reviews-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:3rem}
.reviews-heading h2{color:#2a103f}
.google-rating{text-align:right}.google-rating strong{display:block;font:700 clamp(3.5rem,7vw,6rem)/.85 "Cormorant Garamond",serif;color:#2a103f}.google-rating .stars{display:block;margin:.8rem 0 .25rem}.google-rating small{text-transform:uppercase;letter-spacing:.12em;color:#5e5863}
.stars{color:#f7b500;letter-spacing:.14em;font-size:1.15rem}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.review-card{background:#fff;border-top:4px solid #6f35a3;padding:2rem;box-shadow:0 18px 45px #24133212}
.review-card blockquote{margin:1.4rem 0 2rem;font:600 clamp(1.35rem,2vw,1.75rem)/1.3 "Cormorant Garamond",serif;color:#2a103f}
.review-card p{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#6f35a3}
.reviews-button{margin-top:2rem;background:#6f35a3;color:#fff}
@media(max-width:800px){.reviews-heading{display:block}.google-rating{text-align:left;margin-top:2rem}.review-grid{grid-template-columns:1fr}.review-card{padding:1.6rem}}
.community{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,7vw,7rem);background:#2a103f;color:#fff}
.community-copy{display:grid;grid-template-columns:.75fr 1.25fr;column-gap:6vw;align-items:end;margin-bottom:3.5rem}
.community-copy .eyebrow{grid-column:1/-1}.community-copy h2{color:#fff}.community-copy>p:last-child{margin:0;color:#d9cee2;font-size:1.05rem;max-width:700px}
.community-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:280px;gap:1rem}
.community-gallery figure{margin:0;overflow:hidden;background:#120918}
.community-gallery figure.community-wide{grid-column:span 2}
.community-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.community-gallery figure:hover img{transform:scale(1.025)}
@media(max-width:800px){.community-copy{grid-template-columns:1fr;gap:1.5rem}.community-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:260px}.community-gallery figure.community-wide{grid-column:span 2}}
@media(max-width:500px){.community-gallery{display:block}.community-gallery figure,.community-gallery figure.community-wide{height:260px;margin-bottom:1rem}}
.achievement{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,7vw,7rem);background:#140d1d;color:#fff}
.achievement-feature{display:grid;grid-template-columns:minmax(260px,.75fr) 1.25fr;gap:clamp(2.5rem,7vw,7rem);align-items:center}
.achievement-feature>figure{margin:0;overflow:hidden;background:#0b0710;box-shadow:0 28px 60px #0008}
.achievement-feature>figure img{width:100%;height:auto;display:block}
.achievement-copy h2{font-size:clamp(3.6rem,7vw,7rem);color:#dfc9f5}
.achievement-copy>p:not(.eyebrow):not(.achievement-meta){max-width:720px;color:#d5cfda;font-size:1.05rem}
.achievement-meta{margin:1.25rem 0;color:#bba8c9;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.achievement-button{margin-top:1rem;background:#6f35a3;color:#fff}
.achievement-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:1rem;margin-top:3.5rem}
.achievement-gallery figure{margin:0;overflow:hidden;background:#0b0710}
.achievement-gallery figure.portrait{grid-row:span 2}
.achievement-gallery img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease}
.achievement-gallery figure:hover img{transform:scale(1.025)}
@media(max-width:800px){.achievement-feature{grid-template-columns:1fr}.achievement-feature>figure{max-width:440px}.achievement-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:260px}.achievement-gallery figure.portrait{grid-row:span 1}}
@media(max-width:500px){.achievement-gallery{display:block}.achievement-gallery figure{height:260px;margin-bottom:1rem}}
.visit-proof{position:absolute;z-index:4;top:94px;left:50%;display:flex;align-items:center;gap:.55rem;transform:translateX(-50%);padding:.6rem 1rem;border:1px solid rgba(230,220,245,.4);border-radius:999px;background:rgba(20,8,34,.76);color:#f5f0fa;box-shadow:0 12px 34px rgba(0,0,0,.24);backdrop-filter:blur(12px);font:600 .78rem/1.2 Montserrat,sans-serif;letter-spacing:.02em;white-space:nowrap}
.visit-proof strong{color:#fff;font-size:.95rem;font-variant-numeric:tabular-nums}
.visit-proof-dot{width:.48rem;height:.48rem;border-radius:50%;background:#d7b665;box-shadow:0 0 0 4px rgba(215,182,101,.16)}
@media(max-width:640px){.visit-proof{top:82px;max-width:calc(100% - 2rem);padding:.52rem .8rem;font-size:.7rem}}
.intro{position:relative;isolation:isolate;overflow:hidden;background:#160821;color:#fff}
.intro::before{content:"";position:absolute;z-index:-2;inset:0;background:url('tradition-background.webp') center/cover no-repeat;opacity:.62}
.intro::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(23,7,37,.82),rgba(23,7,37,.58) 48%,rgba(5,10,8,.76))}
.intro h2{color:#fff;text-shadow:0 4px 22px rgba(0,0,0,.32)}
.intro .eyebrow.purple{color:#ddc8ed}
.intro-copy{color:#f0ebf3;text-shadow:0 2px 15px rgba(0,0,0,.42)}
@media(max-width:800px){.intro::before{background-position:42% center;opacity:.52}.intro::after{background:rgba(20,7,31,.7)}}
.booking-planner{position:relative;isolation:isolate;padding:clamp(4rem,8vw,7rem) clamp(1.25rem,7vw,7rem);overflow:hidden;background:#2a103f}
.booking-planner::before{content:"";position:absolute;z-index:-2;inset:0;background:url('booking-pattern.webp') center/cover no-repeat;opacity:.44}
.booking-planner::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(145deg,rgba(29,8,47,.38),rgba(71,20,94,.58))}
.booking-shell{width:min(900px,100%);margin:0 auto;padding:clamp(1.5rem,4vw,3.5rem);background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.48);border-radius:26px;box-shadow:0 28px 80px rgba(12,2,22,.42);backdrop-filter:blur(6px)}
.booking-heading{text-align:center;margin-bottom:2.75rem}.booking-heading .eyebrow{letter-spacing:.22em}.booking-heading h2{margin:.25rem 0 .65rem;color:#251331;font:600 clamp(3rem,6vw,5.25rem)/.94 "Cormorant Garamond",serif;letter-spacing:-.025em}.booking-heading>p:last-child{margin:0;color:#6a6270;font-size:1rem;letter-spacing:.015em}
.booking-form fieldset{min-width:0;margin:0;padding:0;border:0}.booking-step+ .booking-step{margin-top:2.75rem}.booking-step legend{display:block;width:100%;margin-bottom:1rem;color:#2a103f;font-size:.74rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.booking-step legend span{display:inline-grid;place-items:center;width:2rem;height:2rem;margin-right:.65rem;border-radius:50%;background:#eee6f4;color:#6f35a3;letter-spacing:0}
.service-options{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.service-option{position:relative;cursor:pointer}.service-option input{position:absolute;opacity:0;pointer-events:none}.service-option>span{display:flex;min-height:104px;padding:1.25rem 1.4rem;border:1px solid #dcd3e3;border-radius:14px;flex-direction:column;justify-content:center;background:#fff;color:#2a103f;transition:border-color .2s,background-color .2s,color .2s,transform .2s}.service-option strong{font:600 1.55rem/1 "Cormorant Garamond",serif;letter-spacing:.01em}.service-option small{margin-top:.45rem;color:#746c7a;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase}.service-option input:checked+span{border-color:#43205f;background:#43205f;color:#fff;box-shadow:0 10px 25px #43205f32}.service-option input:checked+span small{color:#ded1e8}.service-option input:focus-visible+span{outline:3px solid #b999d1;outline-offset:3px}.service-option:hover>span{transform:translateY(-2px)}
.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.booking-grid label{display:flex;gap:.55rem;flex-direction:column;color:#2a103f;font-size:.76rem;font-weight:700;letter-spacing:.065em;text-transform:uppercase}.booking-grid label small{font-weight:500;color:#7e7483;text-transform:none;letter-spacing:0}.booking-grid input,.booking-grid select,.booking-grid textarea{width:100%;padding:.9rem 1rem;border:1px solid #d7cedd;border-radius:10px;background:#fff;color:#24172c;font:500 .92rem/1.35 Montserrat,sans-serif;letter-spacing:0;text-transform:none}.booking-grid textarea{resize:vertical}.booking-grid input::placeholder,.booking-grid textarea::placeholder{color:#9a909f}.booking-grid input:focus,.booking-grid select:focus,.booking-grid textarea:focus{outline:3px solid #d8c2e8;outline-offset:1px;border-color:#6f35a3}.booking-full{grid-column:1/-1}
.booking-submit{display:block;width:100%;margin-top:1.5rem;padding:1.05rem 1.4rem;border:0;border-radius:10px;background:#6f35a3;color:#fff;font:700 .82rem/1 Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background-color .2s,transform .2s}.booking-submit:hover,.booking-submit:focus-visible{background:#532378;transform:translateY(-1px)}.booking-note{max-width:650px;margin:1rem auto 0;text-align:center;color:#766d7b;font-size:.72rem;line-height:1.55}
@media(max-width:640px){.booking-shell{border-radius:20px}.service-options,.booking-grid{grid-template-columns:1fr}.booking-full{grid-column:auto}.service-option>span{min-height:88px}.booking-heading{margin-bottom:2rem}}
.service-area{margin-top:3.5rem;padding:2.25rem;border:1px solid #ffffff24;background:linear-gradient(135deg,#ffffff0c,#6f35a31c)}
.service-area .eyebrow{margin-bottom:.8rem}.service-area h3{font-size:clamp(1.65rem,3vw,2.5rem);line-height:1.15;color:#fff}.service-area>p:last-child{max-width:720px;margin:1rem 0 0;color:#c9c2ce}
.local-faq{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,7vw,7rem);background:#f5f2f7;color:#111016}
.local-faq .section-heading h2{color:#2a103f}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:3rem;background:#dcd4e1;border:1px solid #dcd4e1}
.faq-grid article{padding:clamp(1.5rem,3vw,2.25rem);background:#fff}.faq-grid h3{margin:0 0 .8rem;color:#2a103f;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.1}.faq-grid p{margin:0;color:#5e5863}
@media(max-width:700px){.service-area{padding:1.5rem}.faq-grid{grid-template-columns:1fr}}
