@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');

:root{--bg:#171612;--panel:#23211c;--cream:#f7f2e8;--gold:#d8a24a;--gold-light:#f2cc83;--green:#4f7b57;--ink:#211d17;--muted:#c9c0b2;--line:rgba(255,255,255,.1);--shadow:0 18px 50px rgba(0,0,0,.17)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font-family:'DM Sans',Arial,sans-serif;background:var(--cream);color:var(--ink);line-height:1.65}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
.container{width:min(1160px,92vw);margin-inline:auto}
.nav{position:sticky;top:0;z-index:50;background:rgba(23,22,18,.96);backdrop-filter:blur(14px);color:#f8f1e6;border-bottom:1px solid var(--line);transition:box-shadow .25s}
.nav.scrolled{box-shadow:0 10px 35px rgba(0,0,0,.25)}
.nav-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand,.footer-brand{font-weight:800;letter-spacing:.11em;font-size:.95rem;line-height:1.25}
.brand span,.footer-brand span{display:block;font-size:.58rem;letter-spacing:.18em;color:var(--gold-light);margin-top:5px}
.navlinks{display:flex;align-items:center;gap:20px;font-size:.88rem;color:#e3d9c9}
.navlinks a{transition:color .2s}.navlinks a:hover,.footer-links a:hover{color:var(--gold-light)}
.nav-order{font-size:.82rem;font-weight:700;padding:11px 15px;border-radius:30px;background:var(--gold);color:#241a0d;white-space:nowrap}
.hero{position:relative;isolation:isolate;min-height:650px;min-height:min(86vh,820px);display:flex;align-items:center;overflow:hidden;color:#fff;background:#28231b url('https://images.unsplash.com/photo-1504674900247-0877df9cc836?auto=format&fit=crop&w=2000&q=85') center/cover no-repeat}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(17,16,13,.92) 0%,rgba(17,16,13,.72) 48%,rgba(17,16,13,.18) 100%),linear-gradient(0deg,rgba(17,16,13,.35),transparent 45%)}
.hero-content{padding-block:110px 100px}
.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.75rem;font-weight:700;color:var(--gold-light);margin:0 0 16px}
.eyebrow span{display:inline-block;width:25px;height:2px;background:var(--gold);vertical-align:middle;margin-right:9px}
.eyebrow-dark{color:#94651f}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:600;letter-spacing:-.035em}
h1{font-size:clamp(3.2rem,7.5vw,6.4rem);line-height:1.03;max-width:850px;margin-bottom:22px}
h1 em,h2 em{color:var(--gold-light);font-weight:500}
h2{font-size:clamp(2.35rem,5vw,4.2rem);line-height:1.1;margin-bottom:18px}
.hero-text{max-width:630px;color:#e7dfd2;font-size:1.08rem;line-height:1.85}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:4px;padding:14px 20px;font-size:.88rem;font-weight:700;cursor:pointer;transition:transform .22s,background .22s,box-shadow .22s}
.btn:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.btn-primary{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:#241a0d}
.btn-outline{border-color:rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.04)}
.btn-outline:hover{background:rgba(255,255,255,.12)}
.hero-note{margin-top:28px;color:#e5dac8;font-size:.85rem;letter-spacing:.03em}
.pulse-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#8cc28d;margin-right:8px;box-shadow:0 0 0 5px rgba(140,194,141,.15)}
.hero-orb{position:absolute;pointer-events:none;border:1px solid rgba(242,204,131,.2);border-radius:50%;width:340px;height:340px;right:8%;top:12%;animation:orbFloat 9s ease-in-out infinite alternate}
.orb-two{width:180px;height:180px;right:23%;top:auto;bottom:8%;animation-delay:-3s}
.trust-strip{background:#fffaf0;border-bottom:1px solid rgba(0,0,0,.06)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);padding-block:22px;gap:20px}
.trust-grid>div{display:flex;align-items:center;gap:12px;border-right:1px solid #e9dfcd;padding-right:12px}.trust-grid>div:last-child{border:0}
.trust-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#f1e5cd;font-size:1.2rem;flex-shrink:0}
.trust-grid p{margin:0;line-height:1.4}.trust-grid strong,.trust-grid small{display:block}.trust-grid strong{font-size:.88rem}.trust-grid small{color:#7c7161;font-size:.75rem;margin-top:4px}
.section{padding:96px 0}
.section-light{background:var(--cream);color:var(--ink)}
.section-dark{background:var(--bg);color:#f7f1e7}
.story-layout,.location-layout,.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,7vw,90px);align-items:center}
.story-photo{position:relative;padding:0 0 28px 28px}
.story-photo:before{content:"";position:absolute;left:0;bottom:0;width:72%;height:68%;background:#e4c88f;z-index:0}
.story-photo img{position:relative;z-index:1;width:100%;height:470px;object-fit:cover;box-shadow:var(--shadow)}
.photo-caption{position:absolute;z-index:2;right:-14px;bottom:48px;background:#fffaf0;padding:18px 24px;box-shadow:var(--shadow)}
.photo-caption span,.photo-caption strong{display:block}.photo-caption span{font-size:.65rem;letter-spacing:.18em;color:#94651f;font-weight:800}.photo-caption strong{font-family:'Playfair Display',Georgia,serif;font-size:1.3rem}
.story-copy p:not(.eyebrow),.location-copy>p:not(.eyebrow),.contact-layout>div>p:not(.eyebrow){color:#6c6255;line-height:1.9}
.gold-line{width:75px;height:3px;background:linear-gradient(90deg,var(--gold),transparent);margin:22px 0 26px}
.text-link{display:inline-flex;align-items:center;gap:12px;font-size:.86rem;font-weight:800;color:#8a5b19;margin-top:10px}
.text-link span{font-size:1.25rem;transition:transform .2s}.text-link:hover span{transform:translateX(4px)}
.section-heading{max-width:760px;margin-bottom:35px}
.section-heading>p:last-of-type{color:#c7beaf;max-width:620px}
.section-light .section-heading>p:last-of-type{color:#706657}
.section-heading h2 em,.location-copy h2 em,.contact-layout h2 em{color:var(--gold)}
.menu-tools{display:grid;grid-template-columns:1fr minmax(260px,.65fr);gap:14px;margin:28px 0 14px}
.search-wrap,.filter-wrap{display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.14);background:#211f1a;padding:0 15px;min-height:54px}
.search-wrap>span{font-size:1.6rem;color:var(--gold)}
.search-wrap input,.filter-wrap select{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#f7f1e7;padding:14px 0}
.search-wrap input::placeholder{color:#aaa092}
.filter-wrap>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-light);white-space:nowrap}
.filter-wrap select option{background:#211f1a;color:#fff}
.menu-count{font-size:.78rem;color:#b8ae9e;margin:12px 0 18px}
.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.menu-item{background:#fffaf2;color:var(--ink);border:1px solid rgba(216,162,74,.14);min-width:0;overflow:hidden;transition:transform .3s,box-shadow .3s}
.menu-item:hover{transform:translateY(-5px);box-shadow:0 22px 44px rgba(0,0,0,.24)}
.menu-item-image{position:relative;overflow:hidden;background:#332d22}
.menu-item img{width:100%;height:210px;object-fit:cover;transition:transform .45s}
.menu-item:hover img{transform:scale(1.045)}
.menu-item-body{padding:19px 20px 21px}
.badge{display:inline-block;background:#e8efdf;color:#365c3c;font-size:.66rem;letter-spacing:.04em;font-weight:800;padding:5px 8px;margin:0 0 12px;text-transform:uppercase}
.menu-item h3{font-family:'Playfair Display',Georgia,serif;font-size:1.25rem;line-height:1.3;margin:0 0 8px}
.menu-item p{font-size:.83rem;color:#766c5f;line-height:1.65;margin-bottom:12px;min-height:44px}
.menu-price{display:block;color:#93611c;font-size:1.08rem;margin:12px 0 16px}
.menu-item .btn{width:100%;padding:12px;font-size:.8rem}
.menu-footnote{margin-top:25px;padding:15px 18px;background:rgba(255,255,255,.05);border:1px solid var(--line);color:#c9c0b2;font-size:.8rem}
.menu-footnote span{margin-right:6px}
.no-results{grid-column:1/-1;text-align:center;padding:50px 20px;border:1px dashed rgba(255,255,255,.2);color:#c9c0b2}
.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.service-card{background:#fffaf1;padding:27px 23px;border:1px solid #e9dfcd;min-height:250px;transition:transform .25s,box-shadow .25s}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.service-icon{width:48px;height:48px;display:grid;place-items:center;background:#f0e3c9;font-size:1.4rem;margin-bottom:18px}
.service-card h3{font-family:'Playfair Display',Georgia,serif;font-size:1.3rem;line-height:1.3}
.service-card p{font-size:.86rem;color:#726758;line-height:1.75}
.service-card .text-link{font-size:.77rem}
.service-highlight{background:#211f1a;color:#fff4e2;border-color:#4b402b}
.service-highlight p{color:#cfc3ae}.service-highlight .service-icon{background:#3d3323}
.special-band{display:grid;grid-template-columns:1fr 1fr;min-height:450px;background:#28241c;color:#fff4e2}
.special-image{background:linear-gradient(90deg,rgba(0,0,0,.1),rgba(0,0,0,.2)),url('https://images.unsplash.com/photo-1547592180-85f173990554?auto=format&fit=crop&w=1400&q=85') center/cover no-repeat;min-height:380px}
.special-copy{align-self:center;padding:65px clamp(28px,7vw,100px)}
.special-copy h2{font-size:clamp(2.4rem,4vw,3.6rem)}.special-copy p:not(.eyebrow){color:#cfc3b2;max-width:440px}
.location-copy>p:not(.eyebrow){color:#c9c0b2}.location-copy strong{color:#fff}
.location-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.location-pills span{padding:8px 11px;background:#24221c;border:1px solid var(--line);font-size:.78rem;color:#ded2bf}
.map-frame{min-height:390px;border:1px solid #4a4438;padding:9px;background:#211f1a}
.map-frame iframe{display:block;width:100%;height:370px;border:0;filter:saturate(.75)}
.contact-detail{display:flex;gap:14px;align-items:center;margin:22px 0}
.contact-detail>span{display:grid;place-items:center;width:43px;height:43px;background:#eddfc3;color:#7c511a;font-weight:800}
.contact-detail small,.contact-detail a{display:block}.contact-detail small{font-size:.7rem;color:#817666;text-transform:uppercase;letter-spacing:.1em}.contact-detail a{font-weight:700}
.contact-form{padding:30px;background:#fffaf2;border:1px solid #e9dfcd;box-shadow:var(--shadow);display:grid;gap:15px}
.contact-form h3{font-family:'Playfair Display',Georgia,serif;font-size:1.7rem;margin:0}
.contact-form>p{font-size:.82rem;color:#776d5f;margin-bottom:3px}
.contact-form label{display:grid;gap:7px;font-size:.78rem;font-weight:700;color:#51483d}
.contact-form input,.contact-form textarea{width:100%;padding:13px 14px;border:1px solid #ded4c3;background:#fff;border-radius:0;color:#211d17;outline-color:var(--gold)}
.contact-form textarea{resize:vertical}
.contact-form .btn{border:0}
.form-note{color:#85796a;font-size:.72rem}
.floating-whatsapp{position:fixed;right:20px;bottom:20px;z-index:60;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#25d366;color:#fff;font-size:1.8rem;box-shadow:0 10px 30px rgba(37,211,102,.35);transition:transform .2s}
.floating-whatsapp:hover{transform:translateY(-4px) scale(1.04)}
.footer{background:#11110e;color:#d9d0c1;padding:35px 0 100px}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.footer-brand{color:#fff}.footer-inner>p{margin:0;color:#b5aa98;font-size:.85rem}
.footer-links{display:flex;gap:17px;flex-wrap:wrap;font-size:.8rem}
.footer-inner>small{width:100%;border-top:1px solid var(--line);padding-top:18px;color:#8f8577;font-size:.72rem}
.mobile-nav{display:none}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.show{opacity:1;transform:translateY(0)}
@keyframes orbFloat{from{transform:translateY(0) rotate(0)}to{transform:translateY(-22px) rotate(8deg)}}
@media(max-width:1000px){.navlinks{gap:12px}.nav-order{display:none}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-grid>div:nth-child(2){border-right:0}.trust-grid>div{padding-block:8px}}
@media(max-width:720px){html{scroll-padding-top:70px}.nav-inner{min-height:68px}.navlinks{display:none}.brand{font-size:.85rem}.hero{min-height:650px;background-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(17,16,13,.9),rgba(17,16,13,.52)),linear-gradient(0deg,rgba(17,16,13,.3),transparent)}.hero-content{padding-block:90px}.hero-orb{right:-150px;top:12%;width:280px;height:280px}.orb-two{right:10%;width:120px;height:120px}.section{padding:68px 0}.story-layout,.location-layout,.contact-layout{grid-template-columns:1fr;gap:38px}.story-photo{padding-left:15px}.story-photo img{height:350px}.photo-caption{right:-5px;bottom:38px}.menu-tools{grid-template-columns:1fr}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.menu-item img{height:150px}.menu-item-body{padding:14px}.menu-item h3{font-size:1.05rem}.menu-item p{font-size:.78rem;min-height:0}.services-grid{grid-template-columns:1fr 1fr}.special-band{grid-template-columns:1fr}.special-image{min-height:260px}.special-copy{padding:50px 6vw}.map-frame iframe{height:310px}.map-frame{min-height:330px}.contact-form{padding:22px}.footer-inner{align-items:flex-start;flex-direction:column}.footer-inner>small{margin-top:5px}.mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:55;background:rgba(17,17,14,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.mobile-nav a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;padding:9px 3px;color:#f7f1e7;font-size:1.1rem}.mobile-nav span{font-size:.65rem;color:#d4c7b4}.floating-whatsapp{right:14px;bottom:78px;width:52px;height:52px}.footer{padding-bottom:100px}}
@media(max-width:400px){.menu-grid{grid-template-columns:1fr}.menu-item img{height:200px}.services-grid{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr}.trust-grid>div{border-right:0;border-bottom:1px solid #e9dfcd;padding-bottom:13px}.trust-grid>div:last-child{border-bottom:0}h1{font-size:3rem}.cta-row .btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
              
