:root{--ink: #16130F;--ink-soft: #241F19;--cream: #FAF6EF;--cream-deep: #F1EADD;--gold: #C9A45C;--gold-deep: #6E5820;--wine: #722F37;--wine-bright: #9C4650;--text-on-dark: #EDE6D9;--text-on-dark-soft: #B9AF9E;--text-primary: #241F19;--text-secondary: #5C554A;--radius: 18px;--shadow-soft: 0 6px 30px rgba(22, 19, 15, .1);--shadow-deep: 0 24px 60px rgba(22, 19, 15, .22)}body[data-vibe=rustic]{--ink: #1E1611;--ink-soft: #2A211A;--cream: #FBF4E9;--cream-deep: #F0E4D0;--gold: #E0A64E;--gold-deep: #8A4B1E;--wine: #8C3A2E;--wine-bright: #B0503E;--text-primary: #2A211A;--text-secondary: #5E5245}body[data-vibe=coastal]{--ink: #12212E;--ink-soft: #1B2E3E;--cream: #F5F8F7;--cream-deep: #E3ECEC;--gold: #6FB6C4;--gold-deep: #1F6472;--wine: #1E3A5F;--wine-bright: #2E5A8A;--text-primary: #1C2A33;--text-secondary: #4C5A62}body[data-vibe=modern]{--ink: #171717;--ink-soft: #232323;--cream: #F6F5F2;--cream-deep: #E9E7E1;--gold: #C9B79A;--gold-deep: #6B6152;--wine: #2B2B2B;--wine-bright: #4A4A4A;--text-primary: #201F1D;--text-secondary: #57544E}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:"Source Sans 3",sans-serif;background:var(--cream);color:var(--text-primary);line-height:1.75;font-weight:400;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:Playfair Display,serif;font-weight:500;line-height:1.12}.container{width:100%;max-width:1240px;margin:0 auto;padding:0 2rem}.header{position:fixed;top:0;left:0;right:0;z-index:200;padding:1.1rem 0;background:#16130fb8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .35s ease,padding .35s ease,box-shadow .35s ease}.header.hdr-scrolled{background:#16130fd1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:.7rem 0}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem}.logo{font-family:Playfair Display,serif;font-size:1.45rem;font-weight:600;color:#fff;text-decoration:none;letter-spacing:.5px;text-shadow:0 2px 12px rgba(0,0,0,.45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60vw}.header-right{display:flex;align-items:center;gap:1.6rem}.header-phone{color:#e5cd9c;text-decoration:none;font-size:.92rem;font-weight:600;letter-spacing:.06em;text-shadow:0 1px 8px rgba(0,0,0,.5)}.header-cta{background:var(--gold);color:var(--ink);padding:.72rem 1.6rem;text-decoration:none;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-radius:999px}.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;background:var(--ink);overflow:hidden}.hero-bg{position:absolute;inset:0}.hero-bg img{width:100%;height:100%;object-fit:cover;display:block}.hero-bg-gradient{position:absolute;inset:0;background:linear-gradient(to bottom,#16130f8c,#16130f1f 38%,#16130f8c 68%,#16130ff0)}.hero .container{position:relative;z-index:3;padding-bottom:clamp(3rem,9vh,6.5rem)}.hero-content{max-width:900px}.hero-tagline{display:inline-flex;align-items:center;gap:.9rem;color:var(--gold);font-size:.82rem;font-weight:700;letter-spacing:.34em;text-transform:uppercase;margin-bottom:1.4rem}.hero-tagline:before{content:"";width:46px;height:1px;background:var(--gold)}.hero-title{font-size:clamp(2.9rem,8vw,6.2rem);color:#fff;letter-spacing:-.015em;margin-bottom:1.4rem;text-wrap:balance}.hero-content .hero-desc-wrap,.hero-content .hero-description{color:var(--text-on-dark-soft);max-width:640px}.hero-content .hero-about-title{color:var(--text-on-dark)}.hero-rating{display:flex;align-items:center;gap:.8rem;margin:1.6rem 0 2.2rem}.stars{color:var(--gold);font-size:1.05rem;letter-spacing:5px}.rating-text{color:var(--text-on-dark-soft);font-size:.95rem}.hero-buttons{display:flex;flex-wrap:wrap;gap:1rem}.btn-primary,.btn-secondary,.form-submit{display:inline-block;padding:1.02rem 2.4rem;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border-radius:999px;border:1px solid transparent;cursor:pointer}.btn-primary{background:var(--gold);color:var(--ink)}.btn-secondary{border-color:#ffffff73;color:#fff;background:#16130f40;backdrop-filter:blur(4px)}section.specialties,section.story,section.gallery-section,section.reviews-section,section.quote-section,section.contact{padding:clamp(4.5rem,10vw,8.5rem) 0}.section-header{max-width:780px;margin-bottom:clamp(2.5rem,6vw,4.5rem)}.section-tagline{display:inline-flex;align-items:center;gap:.8rem;font-size:.78rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:1rem}.section-tagline:before{content:"";width:38px;height:1px;background:currentColor;opacity:.7}.section-title{font-size:clamp(2.2rem,5vw,3.7rem);letter-spacing:-.01em;color:var(--ink);text-wrap:balance}.section-description{color:var(--text-secondary);margin-top:1.1rem;font-size:1.06rem;max-width:620px}.specialties{background:var(--cream)}.specialties-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:2.6rem 2.2rem}.specialty-card{background:transparent;padding:2.2rem 0 0;border-top:2px solid var(--ink);border-radius:0}.specialty-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:var(--ink);color:var(--gold);font-size:1.25rem;margin-bottom:1.3rem}.specialty-name{font-size:1.45rem;margin-bottom:.7rem;color:var(--ink)}.specialty-description{color:var(--text-secondary);font-size:.99rem}.story{background:var(--cream-deep)}.story-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2.5rem,6vw,5.5rem);align-items:center}.story-title{font-size:clamp(2rem,4.2vw,3.2rem);margin-bottom:1.4rem;color:var(--ink)}.story-text{color:var(--text-secondary);margin-bottom:1.1rem;font-size:1.04rem}.story-text:first-of-type:first-letter{font-family:Playfair Display,serif;font-size:3.4em;float:left;line-height:.82;padding-right:.14em;color:var(--wine)}.story-features{list-style:none;margin-top:1.8rem;display:grid;gap:.85rem}.story-features li{display:flex;align-items:center;gap:.9rem;color:var(--text-primary);font-weight:500}.feature-dot{width:7px;height:7px;border-radius:50%;background:var(--gold-deep);flex-shrink:0}.story-image{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-deep);aspect-ratio:4 / 5}.story-image img{width:100%;height:100%;object-fit:cover;display:block}.story-image-badge{position:absolute;left:1.2rem;bottom:1.2rem;background:#16130fd1;backdrop-filter:blur(8px);color:var(--text-on-dark);padding:.8rem 1.3rem;border-radius:12px;font-size:.85rem;letter-spacing:.04em}.story-image-placeholder{aspect-ratio:4 / 5;border-radius:var(--radius);background:linear-gradient(145deg,var(--wine) 0%,var(--ink) 90%)}.gallery-section{background:var(--ink)}.gallery-section .section-tagline{color:var(--gold)}.gallery-section .section-title{color:#fff}.gallery-section .section-description{color:var(--text-on-dark-soft)}.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:190px;grid-auto-flow:dense;gap:.9rem}.gallery-item{position:relative;border-radius:14px;overflow:hidden;cursor:pointer;grid-column:span 2;background:var(--ink-soft)}.gallery-item:nth-child(6n+1){grid-column:span 3;grid-row:span 2}.gallery-item:nth-child(6n+4){grid-row:span 2}.gallery-item img,.gallery-item video{width:100%;height:100%;object-fit:cover;display:block}.gallery-caption{position:absolute;inset-inline:0;bottom:0;padding:1.6rem 1rem .8rem;background:linear-gradient(transparent,#16130fd9);color:var(--text-on-dark);font-size:.82rem;letter-spacing:.03em;opacity:0;transition:opacity .3s ease}.gallery-item:hover .gallery-caption{opacity:1}.gallery-video-item{position:relative}.video-play-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#16130f59;color:#fff;font-size:2.4rem;pointer-events:none}.reviews-section{background:var(--cream)}.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.6rem}.review-card{position:relative;background:#fff;border-radius:var(--radius);padding:2.3rem 2rem 2rem;box-shadow:var(--shadow-soft);border:1px solid rgba(22,19,15,.06)}.review-card:before{content:"\201c";position:absolute;top:.4rem;right:1.4rem;font-family:Playfair Display,serif;font-size:4.6rem;line-height:1;color:var(--gold);opacity:.35}.review-header{display:flex;align-items:center;gap:.9rem;margin-bottom:1rem}.reviewer-photo{width:48px;height:48px;border-radius:50%;object-fit:cover}.reviewer-photo-placeholder{width:48px;height:48px;border-radius:50%;background:var(--wine);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}.reviewer-info{min-width:0}.reviewer-name{font-weight:700;font-size:.98rem;color:var(--ink)}.local-guide-badge{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep)}.review-rating{color:var(--gold-deep);font-size:.92rem;letter-spacing:3px;margin-bottom:.6rem}.review-rating .star{color:#16130f2e}.review-rating .star.filled{color:var(--gold-deep)}.review-text{color:var(--text-secondary);font-size:.97rem}.review-date{margin-top:.9rem;font-size:.8rem;color:#8d8577}.review-photo{width:74px;height:74px;border-radius:10px;object-fit:cover;cursor:pointer}.owner-response{margin-top:1.1rem;padding:1rem 1.1rem;background:var(--cream-deep);border-left:3px solid var(--gold);border-radius:0 10px 10px 0;font-size:.9rem;color:var(--text-secondary)}.quote-section{background:var(--wine);position:relative;overflow:hidden}.quote-section:before{content:"";position:absolute;inset:0;background:radial-gradient(900px 420px at 80% 10%,rgba(201,164,92,.18),transparent 60%)}.quote-content{position:relative;max-width:860px;margin:0 auto;text-align:center}.quote-text{font-family:Playfair Display,serif;font-size:clamp(1.6rem,3.6vw,2.6rem);font-style:italic;color:#fff;line-height:1.35}.quote-divider{width:60px;height:2px;background:var(--gold);margin:1.8rem auto 1.2rem}.quote-author{color:var(--gold);font-size:.85rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700}.contact{background:var(--cream-deep)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5vw,4.5rem);align-items:start}.contact-info h2{font-size:clamp(2rem,4.2vw,3rem);color:var(--ink);margin-bottom:.9rem}.contact-info>p{color:var(--text-secondary);margin-bottom:2rem}.contact-details{display:grid;gap:1.15rem;margin-bottom:2rem}.contact-item{display:flex;gap:1rem;align-items:flex-start}.contact-icon{width:46px;height:46px;flex-shrink:0;border-radius:50%;background:var(--ink);color:var(--gold);display:inline-flex;align-items:center;justify-content:center}.contact-icon svg{width:20px;height:20px}.contact-item-content strong,.contact-item-content h3{display:block;font-size:1.02rem;color:var(--ink);font-family:"Source Sans 3",sans-serif;font-weight:700}.contact-item-content,.contact-item-content p,.contact-item-content a{color:var(--text-secondary);font-size:.95rem;text-decoration:none}.map-container{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft);margin-top:1.6rem}.map-container iframe{width:100%;height:320px;border:0;display:block}.contact-form-wrapper{background:var(--ink);border-radius:calc(var(--radius) + 6px);padding:clamp(1.8rem,4vw,3rem);box-shadow:var(--shadow-deep)}.contact-form-wrapper h3{font-size:1.9rem;color:#fff;margin-bottom:.5rem}.contact-form-wrapper>p{color:var(--text-on-dark-soft);margin-bottom:1.7rem;font-size:.95rem}.form-group{margin-bottom:1.15rem}.form-label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:.45rem}.form-control{width:100%;padding:.85rem 1rem;background:#faf6ef12;border:1px solid rgba(250,246,239,.16);border-radius:10px;color:#fff;font-family:inherit;font-size:.97rem}.form-control::placeholder{color:#ede6d966}.form-control:focus{outline:none;border-color:var(--gold)}textarea.form-control{min-height:120px;resize:vertical}.form-submit{width:100%;background:var(--gold);color:var(--ink);border:none;margin-top:.4rem}.footer{background:var(--ink);color:var(--text-on-dark-soft);padding:3.5rem 0 2.5rem;text-align:center;font-size:.9rem}.footer-logo{font-family:Playfair Display,serif;font-size:1.6rem;color:#fff;margin-bottom:1rem}.lightbox{position:fixed;inset:0;background:#0c0a08f0;display:none;align-items:center;justify-content:center;z-index:500;padding:2rem}.lightbox.active{display:flex}.lightbox img{max-width:92vw;max-height:88vh;border-radius:10px}.lightbox-close{position:absolute;top:1.2rem;right:1.8rem;color:#fff;font-size:2.4rem;cursor:pointer;line-height:1}.subsite-share-btn{color:var(--text-secondary)}body .hero .hero-desc-toggle{color:var(--gold);text-decoration:underline;text-underline-offset:3px}body .gallery-section .bizdir-sec-tagline{color:var(--gold)!important}body .gallery-section .bizdir-sec-title{color:#fff!important}.mq-band{background:var(--gold);color:var(--ink);overflow:hidden;padding:.85rem 0;white-space:nowrap}.mq-track{display:inline-flex;gap:3.2rem;padding-right:3.2rem;animation:mq-scroll 30s linear infinite;will-change:transform}.mq-track span{font-size:.82rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;display:inline-flex;align-items:center;gap:3.2rem}.mq-track span:after{content:"\2726";font-size:.7rem}@keyframes mq-scroll{to{transform:translate(-50%)}}.stats-band{background:var(--ink);padding:3.6rem 0}.stats-band .container{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2rem;text-align:center}.stat-num{font-family:Playfair Display,serif;font-size:clamp(2.4rem,5vw,3.6rem);color:var(--gold);line-height:1}.stat-lbl{margin-top:.55rem;font-size:.78rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--text-on-dark-soft)}.maction{display:none;position:fixed;left:0;right:0;bottom:0;z-index:300;background:#16130feb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:.65rem .9rem calc(.65rem + env(safe-area-inset-bottom));gap:.7rem}.maction a{flex:1;text-align:center;padding:.85rem 0;border-radius:999px;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}.maction .ma-call{border:1px solid rgba(250,246,239,.35);color:#fff}.maction .ma-reserve{background:var(--gold);color:var(--ink)}@media (max-width: 768px){.maction{display:flex}body{padding-bottom:64px}.footer{padding-bottom:5.5rem}}.to-top{position:fixed;right:1.4rem;bottom:1.4rem;z-index:290;width:48px;height:48px;border-radius:50%;background:var(--gold);color:var(--ink);border:none;cursor:pointer;font-size:1.2rem;box-shadow:var(--shadow-deep);opacity:0;pointer-events:none;transform:translateY(14px);transition:opacity .3s ease,transform .3s ease}.to-top.show{opacity:1;pointer-events:auto;transform:none}@media (max-width: 768px){.to-top{bottom:5rem}}@media (prefers-reduced-motion: reduce){.mq-track{animation:none}.to-top{transition:none}}body .bizdir-breadcrumbs{background:var(--ink);border-bottom:0;color:var(--text-on-dark-soft);padding:84px 0 0;font-size:.8rem}body .bizdir-breadcrumbs a:hover{color:var(--gold);opacity:1}body .bizdir-crumb--current{color:var(--text-on-dark)}body .bizdir-type-tags{background:var(--ink);margin:0;padding:.6rem max(2rem,calc((100vw - 1240px)/2 + 2rem)) .2rem}@media (max-width: 900px){.story-grid,.contact-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px}.gallery-item,.gallery-item:nth-child(6n+1){grid-column:span 1;grid-row:span 1}.gallery-item:nth-child(4n+1){grid-column:span 2}}@media (max-width: 768px){.header-phone{display:none}.hero{min-height:92svh}.hero .container{padding-bottom:3rem}.hero-buttons .btn-primary,.hero-buttons .btn-secondary{width:100%;text-align:center}.container{padding:0 1.3rem}}@media (max-width: 480px){.header-cta{padding:.6rem 1.1rem;font-size:.72rem}.logo{font-size:1.15rem}.stars{letter-spacing:3px}}.reviews-section{padding:6rem 0;background:var(--restaurant-cream)}.reviews-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem}.review-card{flex:0 1 calc(33.333% - 2rem);min-width:320px;max-width:450px;background:var(--white);padding:2rem;box-shadow:var(--shadow-soft)}.review-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.reviewer-photo{width:50px;height:50px;border-radius:50%;object-fit:cover}.reviewer-photo-placeholder{width:50px;height:50px;border-radius:50%;background:var(--restaurant-burgundy);color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:500;font-size:1.2rem;font-family:Playfair Display,serif}.reviewer-info{flex:1}.reviewer-name{margin:0;font-size:1.1rem;color:var(--text-primary)}.local-guide-badge{font-size:.75rem;color:var(--restaurant-burgundy);display:block}.review-date{font-size:.75rem;color:var(--text-muted)}.review-rating{margin-bottom:.75rem}.review-rating .star{font-size:1rem;color:#ddd}.review-rating .star.filled{color:var(--restaurant-gold)}.review-text{color:var(--text-secondary);line-height:1.7;margin-bottom:1rem;font-size:.95rem}.owner-response{background:var(--restaurant-cream);padding:1rem;border-left:3px solid var(--restaurant-burgundy);margin-top:1rem}.owner-response strong{color:var(--restaurant-burgundy);font-size:.85rem}.owner-response p{margin:.5rem 0 0;color:var(--text-secondary);font-size:.9rem}.review-photos{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.review-photo{width:70px;height:70px;object-fit:cover;cursor:pointer;transition:transform .2s}.review-photo:hover{transform:scale(1.05)}@media (max-width: 768px){.reviews-grid{grid-template-columns:1fr}}.subsite-share-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:8px;border:1px solid rgba(0,0,0,.1);background:#00000005;color:#4b5563;font-size:1.1rem;transition:all .2s ease;text-decoration:none;cursor:pointer}.subsite-share-btn:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.subsite-share-btn.fb:hover{color:#1877f2;border-color:#1877f2;background:#1877f20d}.subsite-share-btn.tw:hover{color:#1da1f2;border-color:#1da1f2;background:#1da1f20d}.subsite-share-btn.wa:hover{color:#25d366;border-color:#25d366;background:#25d3660d}.subsite-share-btn.lk:hover{color:#f59e0b;border-color:#f59e0b;background:#f59e0b0d}.hero-tagline{color:var(--restaurant-gold-light)}
