:root{--background:#fbf8f4;--foreground:#221d1a;--muted:#736a63;--line:#221d1a1f;--cream:#fffdf9;--blush:#eacfc7;--rose:#9e5f55;--rose-dark:#5d332d;--sage:#d9dfd2;--shadow:0 28px 80px #38292224}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--foreground);background:radial-gradient(circle at 0 0,#eacfc78c,#0000 34rem),linear-gradient(#fbf8f4 0%,#f4eee8 100%);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}[data-reveal]{opacity:1}.reveal-ready [data-reveal]{opacity:0;will-change:opacity, transform, filter;transition:opacity .72s,transform .72s cubic-bezier(.22,1,.36,1),filter .72s}.reveal-ready [data-reveal=fade-up]{transform:translateY(28px)}.reveal-ready [data-reveal=float-in]{filter:blur(8px);transform:translateY(18px)scale(.975)}.reveal-ready [data-reveal=zoom-soft]{filter:saturate(.88);transform:scale(.96)}.reveal-ready [data-reveal].is-visible{opacity:1;filter:none;transform:translate(0,0)scale(1)}.reveal-ready .menu-card:nth-child(2n),.reveal-ready .gallery-tile:nth-child(2n),.reveal-ready .review-card:nth-child(2n),.reveal-ready .service-card:nth-child(2n),.reveal-ready .blog-list article:nth-child(2n){transition-delay:90ms}.reveal-ready .menu-card:nth-child(3n),.reveal-ready .gallery-tile:nth-child(3n),.reveal-ready .review-card:nth-child(3n){transition-delay:.16s}.site-shell{min-height:100vh;overflow:hidden}.announcement-backdrop{z-index:60;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:radial-gradient(circle at 50% 35%,#eacfc766,#0000 20rem),#221d1a57;place-items:center;padding:1rem;animation:.32s both announcementFade;display:grid;position:fixed;inset:0}.announcement-popup{background:radial-gradient(circle at top right, #eacfc7b8, transparent 12rem), var(--cream);width:min(560px,100%);box-shadow:var(--shadow);border:1px solid #ffffffb8;border-radius:2rem;padding:clamp(1.4rem,4vw,2.4rem);animation:.42s cubic-bezier(.22,1,.36,1) both announcementLift;position:relative}.announcement-popup img{object-fit:cover;mix-blend-mode:multiply;border-radius:50%;width:4.5rem;height:4.5rem;margin-bottom:1rem}.announcement-popup h2{max-width:460px;margin-bottom:1rem;font-size:clamp(2rem,5vw,3.3rem)}.announcement-popup p:not(.eyebrow){color:var(--muted);font-size:1.03rem;line-height:1.7}.announcement-check{color:var(--muted);align-items:center;gap:.55rem;margin-top:.35rem;font-size:.9rem;font-weight:700;display:inline-flex}.announcement-check input{width:1.05rem;height:1.05rem;accent-color:var(--rose-dark)}.announcement-close{border:1px solid var(--line);width:2.35rem;height:2.35rem;color:var(--rose-dark);cursor:pointer;background:#fffdf9b8;border-radius:999px;place-items:center;font-size:1.45rem;line-height:1;display:grid;position:absolute;top:1rem;right:1rem}.announcement-actions{flex-wrap:wrap;gap:.8rem;margin-top:1.5rem;display:flex}.announcement-tab{z-index:55;background:radial-gradient(circle at top left, #eacfc794, transparent 7rem), var(--rose-dark);color:#fff9f4;cursor:pointer;border:1px solid #ffffffa3;border-right:0;border-radius:1.25rem 0 0 1.25rem;place-items:center;min-height:10.5rem;padding:1rem .65rem;transition:transform .22s,box-shadow .22s;display:grid;position:fixed;top:48%;right:0;transform:translateY(-50%);box-shadow:0 18px 46px #5d332d42}.announcement-tab:hover{transform:translateY(-50%)translate(-4px);box-shadow:0 20px 52px #5d332d57}.announcement-tab span{writing-mode:vertical-rl;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:900;transform:rotate(180deg)}@keyframes announcementFade{0%{opacity:0}}@keyframes announcementLift{0%{opacity:0;transform:translateY(18px)scale(.98)}}.nav-wrap{z-index:20;border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf9c7;border-radius:999px;justify-content:space-between;align-items:center;gap:1rem;width:min(1180px,100% - 32px);margin:1rem auto 0;padding:.7rem .75rem;display:flex;position:sticky;top:0;box-shadow:0 16px 50px #38292214}.brand{align-items:center;gap:.7rem;min-width:fit-content;display:flex}.brand-logo{object-fit:cover;border-radius:50%;width:2.35rem;height:2.35rem;box-shadow:0 8px 22px #5d332d24}.brand strong,.brand small{line-height:1.1;display:block}.brand strong{letter-spacing:-.02em;font-size:.95rem}.brand small{color:var(--muted);margin-top:.2rem;font-size:.72rem}.nav-links{color:var(--muted);align-items:center;gap:1.1rem;font-size:.88rem;display:flex}.nav-links a{transition:color .18s}.nav-links a:hover{color:var(--foreground)}.button{background:var(--rose-dark);color:#fff9f4;letter-spacing:-.01em;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:3rem;padding:0 1.25rem;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex;box-shadow:0 16px 38px #5d332d38}.button:hover{background:#452520;transform:translateY(-2px);box-shadow:0 20px 46px #5d332d47}.button-small{min-height:2.4rem;padding:0 1rem;font-size:.88rem}.button-secondary{border-color:var(--line);color:var(--foreground);box-shadow:none;background:#fffdf9bd}.button-secondary:hover{background:#fffdf9}.button-dark{background:#221d1a}.button-full{width:100%}.section-pad{width:min(1180px,100% - 32px);margin:0 auto;padding:6rem 0}.hero{grid-template-columns:minmax(0,1.04fr) minmax(320px,.78fr);align-items:center;gap:4rem;min-height:calc(100vh - 6rem);display:grid}.eyebrow{color:var(--rose);letter-spacing:.15em;text-transform:uppercase;margin:0 0 1rem;font-size:.78rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.085em;max-width:850px;margin-bottom:1.35rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.4rem,8vw,7.8rem);font-weight:500;line-height:.9}h2{letter-spacing:-.06em;margin-bottom:1rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.35rem,4.6vw,4.9rem);font-weight:500;line-height:.96}h3{letter-spacing:-.03em;margin-bottom:.65rem;font-size:1.05rem}.hero-text{max-width:650px;color:var(--muted);font-size:clamp(1.08rem,2vw,1.35rem);line-height:1.65}.hero-actions,.trust-row{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.hero-actions{margin-top:2rem}.trust-row{color:var(--muted);margin-top:2rem;font-size:.9rem}.trust-row span{border:1px solid var(--line);background:#fffdf994;border-radius:999px;padding:.55rem .8rem}.hero-card{border:1px solid var(--line);background:linear-gradient(145deg, #fffdf9db, #eacfc775), var(--cream);min-height:560px;box-shadow:var(--shadow);border-radius:2.4rem;position:relative;overflow:hidden}.hero-card-logo{z-index:1;opacity:.88;mix-blend-mode:multiply;filter:drop-shadow(0 18px 38px #5d332d1f);border-radius:50%;width:min(18rem,54%);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.orb{filter:blur(2px);border-radius:999px;position:absolute}.orb-one{background:var(--blush);width:18rem;height:18rem;top:4rem;right:3rem}.orb-two{background:var(--sage);width:13rem;height:13rem;bottom:5rem;right:10rem}.service-ticket{z-index:2;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf9c2;border:1px solid #ffffffb3;border-radius:1.6rem;padding:1.4rem;position:absolute;bottom:2rem;left:2rem;right:2rem}.service-ticket span,.service-ticket strong,.service-ticket a{display:block}.service-ticket span{color:var(--rose);text-transform:uppercase;font-size:.8rem;font-weight:800}.service-ticket strong{letter-spacing:-.05em;max-width:340px;margin:.65rem 0 1rem;font-family:Georgia,Times New Roman,serif;font-size:2.1rem;font-weight:500;line-height:1}.service-ticket a,.section-heading a,.service-card a,.menu-card a,.blog-list a,.footer a{color:var(--rose-dark);text-underline-offset:.35em;font-weight:800;text-decoration:underline}.mini-grid{z-index:2;grid-template-columns:repeat(2,1fr);gap:.8rem;display:grid;position:absolute;top:2rem;left:2rem}.mini-grid span{width:6.1rem;height:6.1rem;color:var(--rose-dark);background:#fffdf98c;border:1px solid #ffffff9e;border-radius:1.4rem;place-items:center;font-family:Georgia,Times New Roman,serif;font-size:1.25rem;display:grid}.booking-strip{background:var(--rose-dark);color:#fff9f4;border-radius:1.5rem;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;width:min(1180px,100% - 32px);margin:0 auto;padding:1rem;display:grid}.booking-strip span{color:#fff9f4b8}.split-section{grid-template-columns:.72fr 1.28fr;gap:3rem;display:grid}.menu-section{padding-bottom:4rem}.menu-hero{grid-template-columns:1.05fr .95fr;align-items:end;gap:3rem;margin-bottom:1.5rem;display:grid}.menu-hero h2{margin-bottom:0}.menu-hero-copy{justify-items:start;gap:1.25rem;display:grid}.menu-hero-copy p,.menu-disclaimer{color:var(--muted);font-size:1.03rem;line-height:1.7}.menu-hero-copy p{margin-bottom:0}.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.menu-card{border:1px solid var(--line);background:#fffdf9b3;border-radius:1.6rem;flex-direction:column;min-height:100%;padding:1.35rem;display:flex;box-shadow:0 16px 44px #3829220f}.menu-card-featured{box-shadow:var(--shadow);background:radial-gradient(circle at 100% 0,#eacfc77a,#0000 12rem),#fffdf9}.menu-card-wide{grid-column:span 2}.menu-card-header{border-bottom:1px solid var(--line);min-height:8.1rem;margin-bottom:1rem;padding-bottom:1rem}.menu-card h3{color:var(--rose-dark);letter-spacing:-.055em;margin-bottom:.65rem;font-family:Georgia,Times New Roman,serif;font-size:1.75rem;font-weight:500;line-height:1}.menu-card p{color:var(--muted);margin-bottom:0;font-size:.92rem;line-height:1.55}.price-list{gap:.78rem;margin:0 0 1.25rem;display:grid}.price-row{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.8rem;display:grid}.price-row:after{content:"";border-bottom:1px dotted #5d332d2e;grid-area:1/1/auto/-1;align-self:end}.price-row dt,.price-row dd{z-index:1;background:linear-gradient(#0000 0 48%,#fffdf9e6 48%);margin:0;position:relative}.price-row dt{color:#3d3530;padding-right:.25rem;font-size:.93rem;font-weight:650;line-height:1.35}.price-row dt span,.price-row dt small{display:block}.price-row dt small{max-width:34rem;color:var(--muted);margin-top:.35rem;font-size:.78rem;font-weight:500;line-height:1.45}.price-row dd{color:var(--rose-dark);padding-left:.25rem;font-weight:900}.menu-card a{margin-top:auto}.menu-disclaimer{max-width:760px;margin:1.25rem 0 0;font-size:.95rem}.logo-ribbon{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem;padding-top:2rem;padding-bottom:2rem;display:grid}.logo-ribbon img{object-fit:cover;mix-blend-mode:multiply;border-radius:50%;width:5rem;height:5rem}.logo-ribbon span{color:var(--muted);letter-spacing:-.05em;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.45rem,3vw,2.35rem)}.logo-ribbon a{color:var(--rose-dark);text-underline-offset:.35em;white-space:nowrap;font-weight:900;text-decoration:underline}.cards-grid,.blog-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.service-card,.blog-list article,.contact-card{border:1px solid var(--line);background:#fffdf9a3;border-radius:1.4rem;padding:1.35rem}.service-card p,.blog-list p,.promo-card p,.contact-section p{color:var(--muted);line-height:1.7}.gallery-section{padding-top:3rem}.section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.5rem;display:flex}.section-heading h2{max-width:740px;margin-bottom:0}.gallery-grid{grid-template-columns:repeat(6,1fr);grid-auto-rows:190px;gap:1rem;display:grid}.gallery-tile{background:var(--cream);border:1px solid #ffffffa3;border-radius:1.5rem;align-items:end;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 48px #38292217}.gallery-tile:after{content:"";pointer-events:none;background:linear-gradient(#0000 52%,#221d1a8a);position:absolute;inset:0}.gallery-tile img{object-fit:cover;width:100%;height:100%;transition:transform .52s,filter .52s}.gallery-tile:hover img{filter:saturate(1.08);transform:scale(1.045)}.gallery-tile span{z-index:1;color:var(--rose-dark);background:#fffdf9d1;border-radius:999px;width:fit-content;max-width:calc(100% - 2rem);padding:.5rem .75rem;font-weight:800;position:absolute;bottom:1rem;left:1rem;right:1rem}.tile-1,.tile-4,.tile-6{grid-area:span 2/span 2}.tile-2,.tile-3,.tile-5,.tile-7,.tile-8,.tile-9{grid-column:span 2}.reviews-section{padding-top:3rem}.reviews-heading{grid-template-columns:1.2fr .8fr;align-items:end;gap:3rem;margin-bottom:2rem;display:grid}.reviews-heading h2{margin-bottom:0}.reviews-heading>p{max-width:34rem;color:var(--muted);margin-bottom:.5rem;font-size:1.05rem;line-height:1.7}.reviews-summary{border:1px solid var(--line);background:#fffdf99e;border-radius:1.5rem;grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:1rem;display:grid;box-shadow:0 16px 44px #3829220f}.reviews-summary div{background:#eacfc738;border-radius:1.1rem;padding:1rem}.reviews-summary strong,.reviews-summary span{display:block}.reviews-summary strong{letter-spacing:-.06em;font-family:Georgia,Times New Roman,serif;font-size:2.3rem;line-height:1}.reviews-summary span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:.3rem;font-size:.82rem;font-weight:800}.reviews-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.review-card{border:1px solid var(--line);background:radial-gradient(circle at 100% 0,#eacfc747,#0000 9rem),#fffdf9d1;border-radius:1.5rem;flex-direction:column;min-height:100%;padding:1.4rem;display:flex;box-shadow:0 18px 48px #38292214}.review-topline,.review-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.review-person{align-items:center;gap:.75rem;display:flex}.review-person>span{background:var(--rose-dark);color:#fff9f4;border-radius:50%;place-items:center;width:2.45rem;height:2.45rem;font-weight:900;display:grid}.review-person a{letter-spacing:-.035em;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:700}.review-stars{color:var(--rose);letter-spacing:.08em;font-size:.9rem}.review-details,.review-meta{color:var(--muted);font-size:.78rem}.review-details{margin:.35rem 0 1rem}.review-meta{justify-content:flex-start}.review-meta span+span:before{content:"·";margin-right:.5rem}.review-card blockquote{color:#3d3530;flex:1;margin:1rem 0;font-family:Georgia,Times New Roman,serif;font-size:1.02rem;line-height:1.65}.review-reaction{color:var(--muted);font-size:.8rem;display:inline-block}.owner-response{border-left:3px solid var(--blush);background:#eacfc733;border-radius:0 1rem 1rem 0;margin-top:1.1rem;padding:1rem}.owner-response strong,.owner-response span{display:block}.owner-response span{color:var(--muted);margin-top:.15rem;font-size:.75rem}.owner-response p{color:var(--muted);margin:.65rem 0 0;font-size:.86rem;line-height:1.55}.promo-section{grid-template-columns:1.1fr .9fr;gap:1rem;padding-top:3rem;display:grid}.promo-card{box-shadow:var(--shadow);background:#fffdf9;border-radius:2rem;padding:clamp(1.5rem,4vw,3rem)}.promo-list{gap:1rem;display:grid}.promo-list span{border:1px solid var(--line);min-height:7rem;color:var(--rose-dark);background:#fffdf99e;border-radius:1.5rem;align-items:center;padding:1.25rem;font-family:Georgia,Times New Roman,serif;font-size:1.55rem;display:flex}.appointment-panel{box-shadow:var(--shadow);background:radial-gradient(circle at 100% 0,#ffffffb8,#0000 16rem),linear-gradient(135deg,#eacfc7e6,#fffdf9d6);border:1px solid #ffffffb8;border-radius:2rem;grid-template-columns:1.2fr auto;align-items:center;gap:2rem;margin-top:1rem;margin-bottom:2rem;padding:clamp(1.5rem,4vw,3rem);display:grid}.appointment-panel h2{max-width:760px;margin-bottom:1rem}.appointment-panel p:not(.eyebrow){max-width:620px;color:var(--muted);margin-bottom:0;font-size:1.05rem;line-height:1.7}.appointment-actions{flex-wrap:wrap;justify-content:flex-end;gap:.8rem;display:flex}.contact-section{grid-template-columns:.82fr 1.18fr;align-items:start;gap:3rem;display:grid}.contact-actions{flex-wrap:wrap;gap:.8rem;margin-top:1.5rem;display:flex}.location-panel{gap:1rem;display:grid}.contact-card{gap:1rem;display:grid;box-shadow:0 16px 44px #3829221a}.contact-logo{mix-blend-mode:multiply;border-radius:50%;width:5.5rem}.contact-card>a:first-child{letter-spacing:-.05em;font-family:Georgia,Times New Roman,serif;font-size:2rem}.contact-card span{color:var(--muted)}.map-frame{border:1px solid var(--line);background:var(--cream);width:100%;min-height:340px;box-shadow:var(--shadow);border-radius:1.4rem}.footer{width:min(1180px,100% - 32px);color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:2rem 0 6rem;display:flex}.footer-brand{align-items:center;gap:.65rem;display:inline-flex}.footer-brand img{object-fit:cover;border-radius:50%;width:2rem;height:2rem}.floating-booking{z-index:30;background:var(--rose-dark);color:#fff9f4;border-radius:50%;place-items:center;min-width:4.4rem;min-height:4.4rem;font-weight:900;display:none;position:fixed;bottom:1.1rem;right:1.1rem;box-shadow:0 18px 46px #5d332d57}@media (width<=940px){.nav-wrap{border-radius:1.4rem;align-items:flex-start}.nav-links{display:none}.hero,.split-section,.promo-section,.contact-section,.appointment-panel,.menu-hero,.reviews-heading{grid-template-columns:1fr}.hero{gap:2rem;min-height:auto;padding-top:4rem}.hero-card{min-height:430px}.section-pad{padding:4rem 0}.section-heading{display:block}.section-heading h2{margin-bottom:1rem}.gallery-grid{grid-template-columns:repeat(2,1fr)}.reviews-summary,.reviews-grid{grid-template-columns:1fr}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-card-wide{grid-column:span 2}.gallery-tile,.tile-1,.tile-2,.tile-3,.tile-4,.tile-5,.tile-6,.tile-7,.tile-8,.tile-9{grid-area:span 1/span 1}.booking-strip{grid-template-columns:1fr}.appointment-actions{justify-content:flex-start}.logo-ribbon{grid-template-columns:1fr;justify-items:start}.floating-booking{display:grid}}@media (width<=620px){.nav-wrap{width:min(100% - 20px,1180px)}.nav-wrap>.button{display:none}.section-pad,.booking-strip,.footer{width:min(100% - 20px,1180px)}h1{font-size:clamp(3rem,17vw,5.2rem)}.cards-grid,.blog-list,.menu-grid,.gallery-grid{grid-template-columns:1fr}.menu-card-wide{grid-column:span 1}.menu-card-header{min-height:auto}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button,.appointment-actions .button{width:100%}.mini-grid span{width:4.8rem;height:4.8rem}.announcement-tab{border-right:1px solid #ffffffa3;border-radius:999px;min-height:auto;padding:.75rem .95rem;top:auto;bottom:5.9rem;right:.75rem;transform:none}.announcement-tab:hover{transform:translateY(-2px)}.announcement-tab span{writing-mode:initial;transform:none}.service-ticket{bottom:1rem;left:1rem;right:1rem}.footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-ready [data-reveal],.reveal-ready [data-reveal].is-visible{opacity:1;filter:none;transition:none;transform:none}}
