:root{--cream:#f8f0e5;--paper:#fffaf3;--ink:#2b2926;--orange:#d75f3b;--orange-dark:#b84628;--sage:#ced5ae;--pink:#f4c4bc;--line:#dfd5c8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}.wrap{max-width:1280px;padding:0 38px;margin:0 auto}.concept-bar{background:#292923;color:#fff5e9;text-align:center;padding:9px 18px;font-size:12px;letter-spacing:.025em}.concept-bar a{text-decoration:underline;text-underline-offset:3px;font-weight:700}.site-header{position:sticky;top:0;background:rgba(248,240,229,.97);backdrop-filter:blur(10px);z-index:20;border-bottom:1px solid var(--line)}.nav-wrap{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:10px;font-family:'Fraunces',Georgia,serif;font-size:27px;font-weight:750;letter-spacing:-1.4px;white-space:nowrap}.brand em{font-weight:500;color:var(--orange)}.brand-flower{color:var(--orange);font-family:Arial;font-size:36px;line-height:1}.brand-dot{color:var(--orange)}.nav{display:flex;align-items:center;gap:30px;font-weight:700;font-size:13px}.nav a:not(.nav-cta):hover,.text-link:hover{color:var(--orange)}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--orange);color:white;padding:17px 22px;border-radius:5px;font-weight:800;transition:transform .2s,background .2s}.nav-cta{padding:14px 18px}.nav-cta:hover,.button:hover{transform:translateY(-2px);background:var(--orange-dark)}.menu-toggle{display:none;background:transparent;border:0;font-size:27px;cursor:pointer}.hero{overflow:hidden}.hero-grid{display:grid;grid-template-columns:46% 54%;min-height:650px;align-items:stretch}.hero-copy{padding:104px 30px 78px 0;position:relative}.eyebrow{font-weight:800;font-size:12px;letter-spacing:.16em;color:var(--orange);margin-bottom:27px}.spark{font-size:22px;vertical-align:-2px;margin-right:6px}.hero h1,h2{font-family:'Fraunces',Georgia,serif;font-weight:750;letter-spacing:-.06em;line-height:1.04;margin:0}.hero h1{font-size:clamp(58px,6.6vw,105px);white-space:nowrap}.hero h1>span:first-child,h2 em{color:var(--orange);font-style:italic;font-weight:500}.smile{font-family:Arial,sans-serif;color:var(--orange);font-size:.6em;vertical-align:8px;margin-left:10px}.hero-copy>p{font-size:18px;line-height:1.8;max-width:430px;color:#5e5952;margin:34px 0}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.text-link{font-size:14px;font-weight:800;border-bottom:2px solid currentColor;padding-bottom:5px}.text-link span{margin-left:9px}.hero-note{display:flex;align-items:center;gap:11px;margin-top:80px;font-size:12px;font-weight:700;color:#726b62}.note-icon{display:grid;place-items:center;width:35px;height:35px;background:#eacbbd;border-radius:50%;color:var(--orange)}.hero-visual{position:relative;min-height:590px;margin-right:calc((min(100vw,1280px) - 100vw)/2 - 38px);overflow:hidden;border-radius:170px 0 0 12px;background:#b0a08b}.hero-visual img{position:absolute;inset:0}.image-sticker{position:absolute;top:36px;right:38px;width:124px;height:124px;border-radius:50%;background:#f4d67e;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;transform:rotate(12deg);font-family:'Fraunces',Georgia,serif;font-size:17px;line-height:1.1;box-shadow:0 8px 30px #0002}.image-sticker strong{font-size:31px;color:var(--orange)}.image-sticker span{font-size:24px;color:var(--orange)}.hero-caption{position:absolute;bottom:32px;left:38px;background:var(--paper);padding:15px 19px;border-radius:3px;font-size:13px;font-weight:800;transform:rotate(-3deg)}.ticker{background:var(--orange);color:#fff4e8;overflow:hidden;white-space:nowrap;padding:18px 0;font-weight:800;font-size:17px;letter-spacing:.18em}.ticker div{text-align:center}.section{padding:115px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.photo-stack{height:520px;position:relative;padding:0 35px 32px 0}.about-photo{border-radius:220px 220px 9px 9px;transform:rotate(-3deg)}.little-label{position:absolute;bottom:15px;right:0;background:#f4d67e;padding:18px 23px;font-family:'Fraunces',Georgia,serif;font-size:20px;transform:rotate(8deg)}h2{font-size:clamp(48px,5vw,76px)}.about-copy p,.visit p{font-size:16px;line-height:1.9;color:#645d55;max-width:530px}.about-copy .text-link{display:inline-block;margin-top:20px}.menu-section{background:#e5e9d6}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:40px}.section-heading>p{max-width:340px;line-height:1.8;color:#615f57}.menu-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.tab{border:1px solid #aeb7a0;background:transparent;border-radius:30px;padding:13px 22px;cursor:pointer;font-size:13px;font-weight:800}.tab.active,.tab:hover{background:var(--ink);border-color:var(--ink);color:#fff}.menu-board{background:var(--paper);border-radius:10px;overflow:hidden;display:grid;grid-template-columns:44% 56%;min-height:475px;box-shadow:0 18px 40px #34412510}.menu-photo{position:relative;min-height:440px}.menu-photo img{position:absolute;inset:0}.photo-stamp{position:absolute;bottom:27px;left:25px;background:#f4d67e;border-radius:50%;width:116px;height:116px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-12deg);font-family:'Fraunces',Georgia,serif}.photo-stamp strong{font-size:27px;color:var(--orange)}.menu-items{padding:40px 50px}.menu-items h3{font-family:'Fraunces',Georgia,serif;font-size:30px;margin:0 0 25px}.menu-item{display:flex;justify-content:space-between;gap:15px;border-bottom:1px dashed #d4c9bb;padding:14px 0}.menu-item strong{font-size:16px}.menu-item p{font-size:13px;color:#777168;margin:5px 0 0;line-height:1.5}.menu-item .price{white-space:nowrap;font-weight:800;color:var(--orange)}.menu-disclaimer,.gallery-note{font-size:12px;color:#756f66;margin-top:18px}.quote-strip{background:#f1c5b4;text-align:center;padding:33px 0;font-family:'Fraunces',Georgia,serif;font-size:clamp(25px,3.6vw,47px);font-weight:650;letter-spacing:-.04em}.quote-strip span{color:var(--orange);margin:0 24px}.gallery-grid{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:240px 240px;gap:18px}.gallery-grid figure{margin:0;position:relative;overflow:hidden;border-radius:7px;background:#d4c5b6}.gallery-grid img{transition:transform .4s}.gallery-grid figure:hover img{transform:scale(1.035)}.gallery-large{grid-row:span 2}.gallery-grid figcaption{position:absolute;bottom:18px;left:18px;background:#fff9ed;padding:13px 17px;font-weight:800;font-size:13px;transform:rotate(-2deg)}.visit{background:#f6ded2}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.hours{margin-top:35px;max-width:450px}.hours h3{font-family:'Fraunces',Georgia,serif;font-size:24px}.hours>div{display:flex;justify-content:space-between;border-bottom:1px solid #dcbbae;padding:13px 0;font-size:14px;gap:20px}.visit-notice{margin-top:30px;max-width:460px;font-size:12px;line-height:1.7;color:#775c51}.visit-card{background:var(--paper);padding:15px;transform:rotate(2deg);box-shadow:0 18px 50px #693a271b}.visit-card-photo{height:350px}.visit-card-bottom{padding:23px 13px 14px;display:flex;flex-direction:column;gap:12px}.visit-card-bottom span{font-size:11px;letter-spacing:.12em;color:var(--orange);font-weight:800}.visit-card-bottom strong{font-family:'Fraunces',Georgia,serif;font-size:29px}.visit-card-bottom a{font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:4px}footer{background:#2b2926;color:#fff7e9;padding:65px 0 22px}.footer-top{display:flex;justify-content:space-between;gap:35px;padding-bottom:65px}.footer-brand{font-size:30px}.footer-top p{color:#c6bdb3;line-height:1.7;font-size:14px}.footer-links{display:grid;grid-template-columns:repeat(2,auto);gap:18px 38px;align-content:center;font-size:14px;font-weight:700}.footer-links a:hover,.footer-bottom a:hover{color:#f0ad96}.footer-bottom{border-top:1px solid #55504b;padding-top:22px;display:flex;justify-content:space-between;gap:15px;color:#c6bdb3;font-size:12px}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}@media(max-width:1050px){.nav{gap:15px}.brand{font-size:23px}.hero h1{font-size:clamp(54px,6vw,85px)}.about-grid,.visit-grid{gap:55px}.hero-note{margin-top:55px}}@media(max-width:760px){.wrap{padding:0 22px}.nav-wrap{min-height:75px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:20px 24px 26px;box-shadow:0 14px 20px #0001;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:14px 4px}.nav .nav-cta{margin-top:10px;justify-content:center}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:70px 0 40px}.hero h1{font-size:clamp(52px,10vw,86px)}.hero-copy>p{margin:25px 0}.hero-note{margin-top:35px}.hero-visual{min-height:450px;margin:0 -22px;border-radius:90px 0 0 0}.image-sticker{right:25px;top:25px;width:100px;height:100px}.section{padding:75px 0}.about-grid,.visit-grid{grid-template-columns:1fr;gap:60px}.photo-stack{height:440px;max-width:510px}.section-heading{display:block}.section-heading>p{max-width:540px}.menu-board{grid-template-columns:1fr}.menu-photo{min-height:330px}.menu-items{padding:30px 25px}.gallery-grid{grid-template-rows:180px 180px}.visit-card{max-width:540px}.footer-top{padding-bottom:40px}}@media(max-width:480px){.brand{font-size:21px}.brand-flower{font-size:28px}.hero h1{font-size:51px}.smile{margin-left:3px}.hero-actions{gap:18px}.hero-visual{min-height:355px}.hero-caption{left:15px;bottom:20px;font-size:11px}.photo-stack{height:350px;padding-right:20px}.little-label{font-size:15px;padding:13px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:270px 150px}.gallery-large{grid-column:span 2;grid-row:span 1}.gallery-grid figcaption{font-size:11px}.visit-card-photo{height:270px}.quote-strip span{margin:0 5px}.footer-top,.footer-bottom{flex-direction:column}.footer-links{justify-content:start}.ticker{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Willow & Bean: expressive hand-lettered branding and visible Find Us action */
.brand-lettering{font-family:'Pacifico','Brush Script MT',cursive;font-size:1.06em;font-weight:400;letter-spacing:-.065em;line-height:1.35;display:inline-block;transform:rotate(-2deg);transform-origin:left center}
.brand-lettering em{font-family:inherit;font-style:normal;font-weight:400;color:var(--orange)}
.brand-flower{transform:rotate(-14deg)}
.button-secondary{background:transparent;color:var(--ink);border:2px solid var(--ink);padding:15px 22px;border-radius:5px}
.button-secondary:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
@media(max-width:480px){.brand-lettering{font-size:.96em}.hero-actions .button{gap:10px;padding:14px 16px}}
