:root{--cream:#f5f2ec;--ink:#222820;--olive:#4b5945;--line:#d8d2c8;--script:'Allura',cursive;--serif:'Libre Caslon Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #ab7435;outline-offset:6px}.skip{position:fixed;left:16px;top:-100px;z-index:20;background:white;padding:12px}.skip:focus{top:12px}.header{min-height:112px;padding:16px 7.5%;display:flex;gap:30px;align-items:center;justify-content:space-between}.brand{display:flex;flex-direction:column;align-items:center;flex-shrink:0;line-height:.9}.brand span{font-family:var(--script);font-size:56px;white-space:nowrap}.brand small{font-size:13px;letter-spacing:.58em;margin-top:8px;padding-left:.58em}.header nav{display:flex;gap:27px;align-items:center}.header nav a,.button,.eyebrow,.values h3,.micro{text-transform:uppercase;letter-spacing:.19em}.header nav a{font-size:10px;white-space:nowrap}.header nav a:hover{color:#946d37}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--olive);color:#fff;border-radius:40px;padding:14px 28px;font-size:11px;line-height:1.2;transition:background .2s,transform .2s}.button:hover{background:#35412f;transform:translateY(-2px)}.nav-toggle{display:none}.hero{position:relative;min-height:560px;height:43vw;max-height:710px;background:linear-gradient(90deg,rgba(0,0,0,.24),transparent 75%),url('assets/hero.png') center 58%/cover;color:white;display:flex;align-items:center}.hero-copy{margin-left:11.8%;padding:36px 0}.hero h1{font-family:var(--script);font-size:clamp(64px,6.7vw,110px);font-weight:400;line-height:.88;margin:0 0 32px}.hero-tag{text-transform:uppercase;letter-spacing:.19em;font-size:17px}.rule{display:block;width:52px;height:1px;background:currentColor;margin:22px auto}.hero .rule{margin:28px 0;width:100px}.eyebrow{font-size:13px;line-height:1.85}.script{font-family:var(--script);font-weight:400}.hero-note{position:absolute;right:12%;top:17%;font-size:36px;line-height:.95;transform:rotate(-14deg)}.hero-note span{display:block;text-align:right}.moving{display:grid;grid-template-columns:1fr 1.3fr 1fr;align-items:center;gap:25px;min-height:440px;padding:40px 3% 32px;background:radial-gradient(ellipse at center,#faf8f3,#efebe3)}.town svg{width:100%;mix-blend-mode:multiply}.moving-copy{text-align:center;max-width:480px;margin:auto}.moving-copy .eyebrow{letter-spacing:.38em;margin:0 0 12px}h2{font-family:var(--serif);font-weight:400;font-size:clamp(42px,4.2vw,64px);line-height:1.02;margin:0}.moving-copy p:not(.eyebrow){font-size:15px;margin:0 0 20px}.micro{font-size:9px;line-height:1.7}.moving-copy .micro{display:block;margin-top:8px}.paper{margin:20px auto;padding:26px 28px;background:#e9e0d0;box-shadow:10px 12px 18px #47372225;transform:rotate(-12deg);font-size:32px;line-height:1.35;max-width:290px}.paper p{margin:0 0 15px}.paper p:last-child{margin:0;text-align:right}.values{display:grid;grid-template-columns:repeat(4,1fr);padding:40px 4% 36px;text-align:center}.values>div+div{border-left:1px solid var(--line)}.values svg{width:38px;height:38px;stroke:var(--olive);fill:none;stroke-width:1.4}.values h3{font-size:11px;font-weight:500;margin:9px 0 0}.values p{font-family:Georgia,serif;font-style:italic;font-size:15px;margin:1px 0}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.gallery svg{display:block;width:100%;height:100%;aspect-ratio:1.06;object-fit:cover}.story{position:relative;text-align:center;padding:38px 25px 44px;display:flex;justify-content:center}.story>div{max-width:610px}.story h2{font-size:46px}.story p:not(.story-note){font-size:15px;margin:0}.story-note{position:absolute;left:7%;top:36px;font-size:28px;line-height:1.15;transform:rotate(-13deg);text-align:left}.story-note span{display:block;text-align:center;font-size:38px}footer{background:var(--olive);color:var(--cream);padding:30px 7.5% 18px}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:32px}.footer-main .brand span{font-size:49px}.contact,.social{display:flex;flex-direction:column;font-size:12px;gap:3px}.contact a:hover,.social a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff26;margin-top:26px;padding-top:13px;font-size:10px;color:#e1e5dd}@media(min-width:1600px){.header,.moving,.values,.story,footer{padding-left:max(7.5%,calc((100% - 1450px)/2));padding-right:max(7.5%,calc((100% - 1450px)/2))}}@media(max-width:1100px){.header{padding:18px 4%;gap:20px}.header nav{gap:16px}.brand span{font-size:47px}.header-cta{padding:13px 18px;font-size:9px}.hero{min-height:480px}.paper{font-size:27px;padding:24px}.story-note{left:3%;font-size:23px}.story>div{max-width:540px}}@media(max-width:800px){.header{min-height:91px;position:relative;flex-wrap:wrap}.brand span{font-size:45px}.brand small{font-size:10px}.nav-toggle{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:24px;background:transparent;padding:8px 17px;margin-left:auto;font-size:12px}.header-cta{display:none}.header nav{display:none;flex-basis:100%;flex-wrap:wrap;justify-content:center;gap:18px;padding:16px 0 6px}.header nav.open{display:flex}.header nav a{font-size:12px}.hero{min-height:530px;height:auto;background-position:61% center}.hero-copy{margin-left:7%;padding-top:90px;align-self:flex-start}.hero h1{font-size:76px}.hero-tag{font-size:12px}.hero .eyebrow{font-size:11px}.hero-note{right:8%;top:5%;font-size:26px}.moving{grid-template-columns:1fr;padding:40px 6%;gap:24px}.moving-copy{grid-row:1}.moving-copy h2{font-size:58px}.town{display:none}.paper{font-size:28px;padding:20px 38px;transform:rotate(-5deg);margin:12px auto}.values{grid-template-columns:1fr 1fr;gap:30px 0;padding:30px 3%}.values>div:nth-child(3){border:0}.values h3{font-size:9px}.values p{font-size:13px}.gallery{grid-template-columns:1fr 1fr;gap:4px}.story{padding:38px 7%}.story-note{display:none}.story h2{font-size:43px}.footer-main{flex-wrap:wrap;justify-content:space-between}.footer-main .brand{width:100%;margin-bottom:8px}.footer-main>.micro{width:100%;text-align:center;margin:0}.footer-bottom{gap:16px;font-size:9px}.contact{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:800px){.hero h1{font-size:clamp(54px,15vw,76px)}.hero-note{display:none}.hero{background-image:linear-gradient(90deg,rgba(0,0,0,.35),rgba(0,0,0,.04)),url('assets/hero.png')}}
.town{mask-image:radial-gradient(ellipse at center,#000 48%,transparent 74%)}

/* Actual new storefront, illustrated from the owner-provided reference. */
.moving{position:relative;isolation:isolate;overflow:hidden;display:flex;justify-content:flex-start;min-height:590px;padding:60px 7%;background:var(--cream)}
.moving-backdrop{position:absolute;z-index:-2;right:0;bottom:0;width:85%;height:100%;object-fit:contain;object-position:right center;mix-blend-mode:multiply}
.moving::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#f5f2ec 0%,#f5f2ecf5 26%,#f5f2ecc9 38%,#f5f2ec00 61%)}
.moving-copy{width:40%;max-width:440px;margin:0;position:relative}
.moving .paper{position:absolute;right:6%;bottom:16px;max-width:none;padding:10px 20px;margin:0;background:#f5f2eceb;box-shadow:none;transform:rotate(-5deg);font-size:24px;line-height:1.15}
.moving .paper p{margin:0}.moving .paper p:first-child{display:none}
@media(max-width:800px){
 .moving{min-height:760px;padding:40px 6% 320px;justify-content:center}
 .moving-copy{width:100%;max-width:460px}
 .moving-backdrop{width:120%;max-width:none;height:350px;right:-4%;bottom:0;object-position:right bottom}
 .moving::before{background:linear-gradient(180deg,#f5f2ec 0%,#f5f2ec 49%,#f5f2ec00 68%)}
 .moving .paper{right:5%;bottom:10px;font-size:25px}
}
.moving-backdrop{mask-image:linear-gradient(180deg,transparent,#000 8%,#000 90%,transparent)}
@media(max-width:800px){.moving-backdrop{mask-image:linear-gradient(180deg,transparent 18%,#000 40%,#000 88%,transparent)}}

/* Weekday specials */
.specials{padding:64px 7%;text-align:center;background:#eae6dc}
.specials>.eyebrow{margin:0 0 14px;color:var(--olive)}
.specials-follow{margin:0 auto 32px;font-size:15px}
.specials-follow a{text-decoration:underline;text-underline-offset:4px}
.specials-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;max-width:1400px;margin:auto}
.special{padding:24px 18px;background:var(--cream);border:1px solid var(--line);border-radius:4px}
.special .eyebrow{font-size:11px;color:var(--olive);margin:0 0 12px}
.special h3{font-family:var(--serif);font-weight:400;font-size:29px;line-height:1.1;margin:0 0 14px}
.special>p:last-child{font-size:14px;margin:0}
@media(min-width:801px) and (max-width:1250px){.header{flex-wrap:wrap;justify-content:center}.header nav{order:3;flex-basis:100%;justify-content:center}.specials-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.specials{padding:44px 6%}.specials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.special:last-child{grid-column:1/-1}}
@media(max-width:480px){.specials-grid{grid-template-columns:1fr}.special{padding:24px}.specials h2{font-size:42px}}

/* Original café menus, with full-size images available for zooming. */
.menus{padding:64px 7%;text-align:center}
.menus>.eyebrow{margin:0 0 14px;color:var(--olive)}
.menus-intro{max-width:680px;margin:0 auto 32px;font-size:15px}
.menus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1200px;margin:auto}
.menu-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.menu-preview{display:block;padding:12px;background:#fff;cursor:zoom-in}
.menu-preview img{display:block;width:100%;height:auto}
.menu-preview:focus-visible{outline-offset:-6px}
.menu-copy{padding:24px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:center;flex:1}
.menu-copy h3{font-family:var(--serif);font-size:38px;font-weight:400;line-height:1.1;margin:0 0 12px}
.menu-copy p{font-size:14px;margin:0 0 22px}
.menu-copy .button{margin-top:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:800px){.menus{padding:44px 6%}.menus-grid{grid-template-columns:1fr;max-width:500px}.menu-copy{padding:24px}}
