@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800;900&family=Paytone+One&display=swap');
:root{--red:#b71922;--red2:#e33436;--cream:#fff8ef;--pink:#f7e5df;--ink:#321719;--muted:#795c5b;--line:#e8c8c1;--white:#fffdf9}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Nunito,Arial,sans-serif}a{color:inherit;text-decoration:none}.site-header{height:90px;padding:12px clamp(20px,5vw,82px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,248,239,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;font-family:'Paytone One',sans-serif;font-size:1.2rem;letter-spacing:.02em;color:var(--red)}.brand img{width:62px;height:62px;object-fit:contain}.brand b{color:var(--ink)}nav{display:flex;gap:clamp(16px,3vw,42px);font-size:.9rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}nav a:hover{color:var(--red)}.hero{min-height:650px;display:grid;grid-template-columns:1.03fr .97fr;position:relative;overflow:hidden;background:var(--red);color:white}.hero-art{min-height:650px;overflow:hidden;position:relative}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,var(--red) 100%),linear-gradient(0deg,rgba(90,0,0,.15),transparent 50%)}.hero-art img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}.hero-content{align-self:center;padding:70px clamp(28px,6vw,90px) 80px 35px;max-width:720px}.eyebrow{font-size:.76rem;font-weight:900;letter-spacing:.22em}.hero h1{font-family:'Paytone One',sans-serif;font-size:clamp(4rem,7vw,7.8rem);line-height:.84;letter-spacing:-.055em;margin:24px 0;color:white;text-shadow:4px 5px 0 #76121a}.hero h1 em{font-style:normal;color:#ffe8d9;-webkit-text-stroke:1px #fff}.slogan{font-size:clamp(1.3rem,2.4vw,2rem);font-weight:900;line-height:1.2}.hero-intro{max-width:440px;line-height:1.8;color:#ffe8e0}.cta{display:inline-flex;align-items:center;gap:32px;margin-top:22px;background:var(--cream);color:var(--red);padding:17px 22px;font-size:.8rem;font-weight:900;letter-spacing:.1em;box-shadow:5px 5px 0 #77121b}.cta span{font-size:1.3rem}.hero-stamp{position:absolute;bottom:28px;left:42%;border:2px solid #ffe7db;border-radius:50%;width:105px;height:105px;display:grid;place-content:center;text-align:center;font-size:.65rem;font-weight:900;letter-spacing:.1em;transform:rotate(-12deg);background:var(--red)}.ticker{display:flex;align-items:center;justify-content:space-around;gap:16px;flex-wrap:wrap;padding:18px;background:var(--ink);color:#fff4e9;font-size:.75rem;font-weight:900;letter-spacing:.18em}.ticker b{color:#ff9b91}.section{padding:90px clamp(22px,7vw,110px)}.section-kicker{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:16px;font-size:.75rem;font-weight:900;letter-spacing:.18em;color:var(--red)}.section-kicker span{color:var(--muted)}.story-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,8vw,130px);padding-top:55px}.story h2,.menu-heading h2,.contact h2,.banner h2{font-family:'Paytone One',sans-serif;font-size:clamp(2.7rem,5vw,5.3rem);line-height:.98;letter-spacing:-.04em;margin:0}.story h2 em,.menu-heading h2 em,.contact h2 em,.banner h2 em{font-style:normal;color:var(--red)}.story-grid p,.contact-grid p{line-height:1.9;color:var(--muted);font-size:1.03rem}blockquote{margin:32px 0 0;padding:25px 28px;border-left:5px solid var(--red);background:#f8e8e0;font-size:1.1rem;line-height:1.8;font-weight:800}blockquote em{color:var(--red)}blockquote strong{font-size:.76rem;letter-spacing:.15em;color:var(--red)}.menu-section{background:#fffdf9}.menu-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:45px 0}.menu-heading p{color:var(--muted)}.menu-seal{width:110px;height:110px;flex-shrink:0;border-radius:50%;background:var(--red);color:white;display:grid;align-content:center;justify-items:center;font-family:'Paytone One';font-size:2.4rem;line-height:1}.menu-seal small{font:900 .56rem Nunito;letter-spacing:.1em;margin-top:8px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.product-card{border:1px solid var(--line);background:var(--cream);display:flex;flex-direction:column;min-width:0;transition:transform .2s,box-shadow .2s}.product-card:hover{transform:translateY(-5px);box-shadow:8px 8px 0 #f0d8d1}.product-image{min-height:280px;height:300px;padding:12px;background:#fffdf9;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--line)}.product-image img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;max-width:100%;max-height:100%}.product-copy{padding:23px;display:flex;flex-direction:column;flex:1}.item-number{font-size:.64rem;letter-spacing:.16em;font-weight:900;color:var(--red)}.product-copy h3{font-family:'Paytone One',sans-serif;font-size:1.35rem;line-height:1.18;margin:10px 0}.product-copy p{font-size:.93rem;line-height:1.7;color:var(--muted);margin:0 0 20px}.price{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);font-size:.92rem;font-weight:900;color:var(--red)}.banner{min-height:430px;background:var(--red);color:white;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.banner>img{width:100%;height:100%;min-height:430px;object-fit:cover;object-position:center}.banner>div{align-self:center;padding:45px clamp(25px,6vw,90px)}.banner h2{margin:25px 0}.cta.light{background:#fff1e7;box-shadow:5px 5px 0 #73131a}.contact-grid{padding-bottom:0}.contact-details{display:grid;gap:20px}.contact-details>div{padding:18px 0;border-bottom:1px solid var(--line)}.contact-details span{font-size:.7rem;letter-spacing:.18em;font-weight:900;color:var(--red)}.contact-details p{margin:8px 0 0;font-weight:800;color:var(--ink)}.contact-details small{color:var(--muted);line-height:1.6}footer{background:var(--ink);color:#fff2e9;padding:32px clamp(22px,7vw,110px);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}footer p{color:#e9c9c1}footer a:last-child{font-size:.72rem;font-weight:900;letter-spacing:.12em}.footer-brand{font-family:'Paytone One';font-size:1.25rem;color:#ffb5a8}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-art{min-height:380px}.hero-art:after{background:linear-gradient(0deg,var(--red),transparent 45%)}.hero-content{padding:25px 8vw 75px}.hero-stamp{left:auto;right:24px;top:300px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-image{height:260px;min-height:260px}.story-grid,.contact-grid{gap:35px}}@media(max-width:600px){.site-header{height:auto;min-height:78px;align-items:center;gap:10px;flex-wrap:wrap}.brand{font-size:1rem}.brand img{width:48px;height:48px}nav{width:100%;justify-content:space-between;gap:8px;font-size:.68rem;padding:0 0 8px}.hero-art{min-height:310px}.hero h1{font-size:4rem}.section{padding:58px 20px}.story-grid,.contact-grid{grid-template-columns:1fr;padding-top:35px}.menu-heading{align-items:start}.menu-seal{width:80px;height:80px;font-size:1.8rem}.product-grid{grid-template-columns:1fr}.product-image{height:320px;min-height:320px}.banner{grid-template-columns:1fr}.banner>img{min-height:280px;height:280px}.banner>div{padding:42px 25px}footer{align-items:flex-start;flex-direction:column}}

/* Homepage hero revision: remove character artwork and center the brand message. */
.hero.hero-centered{grid-template-columns:1fr;min-height:650px;align-items:center;justify-items:center;text-align:center;background:radial-gradient(circle at 50% 30%, #d52a32 0%, var(--red) 55%, #99141c 100%);}
.hero-centered .hero-content{width:100%;max-width:900px;padding:90px 28px;justify-self:center;text-align:center;}
.hero-centered .eyebrow{margin-left:auto;margin-right:auto;}
.hero-centered .hero-intro{margin-left:auto;margin-right:auto;}
.hero-centered .cta{justify-content:center;}
.story-grid{grid-template-columns:1fr;max-width:900px;margin:0 auto;gap:20px;}
.story-grid h2{text-align:center;}
.story-grid>div{max-width:780px;width:100%;margin:0 auto;}
@media(max-width:900px){.hero.hero-centered{min-height:560px}.hero-centered .hero-content{padding:75px 24px;}}

/* Individual, uncropped dessert panels supplied for the menu */
.pie-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:12px;background:#fffdf9;border-bottom:1px solid var(--line);align-content:center}
.pie-gallery img{display:block;width:100%;height:105px;object-fit:contain;object-position:center;background:#fffaf5;min-width:0}
.pie-list{margin:0 0 20px;padding-left:19px;color:var(--muted);font-size:.88rem;line-height:1.6}
.pie-list li{margin:0 0 8px}
.pie-list strong{color:var(--ink)}
@media(max-width:600px){.pie-gallery img{height:100px}}
