@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Caveat:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');
:root{--red:#d32430;--ink:#282824;--cream:#faf8f4}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#f5f5f3;font:14px Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}.site{max-width:1200px;margin:48px auto;background:#fff;box-shadow:0 20px 55px #0002;overflow:hidden}.wrap{width:70%;max-width:860px;margin:auto}.red{background-color:var(--red);background-image:radial-gradient(ellipse at 10% 15%,#98192144 0 25%,transparent 25%),radial-gradient(ellipse at 95% 90%,#a61a242b 0 40%,transparent 40%);color:white}.header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid #fff1}.logo{display:flex;align-items:center;gap:7px;font:700 italic 30px Caveat,cursive}.logo svg{width:43px;height:43px}.logo small{display:block;font:7px Inter,sans-serif;letter-spacing:4px;text-align:right}.nav{display:flex;gap:19px;font-size:10px;font-weight:700}.nav a{padding:10px 0;border-bottom:2px solid transparent}.nav a:hover,.nav a.active{border-color:white}.phone{display:flex;gap:8px;align-items:center;border-radius:30px;padding:7px 12px 7px 7px;background:white;color:#222;font-size:10px;font-weight:700}.phone i{background:#16834a;color:white;border-radius:50%;padding:8px;font-style:normal}.phone small{display:block;font-size:7px;color:#777}.menu-toggle{display:none;background:none;border:0;color:white;font-size:25px}.hero{text-align:center;position:relative;padding:45px 20px 0;height:580px}.script{font:500 23px Caveat,cursive;margin:0 0 5px}.hero h1{font:700 43px 'Barlow Condensed',Impact,sans-serif;margin:0 auto;max-width:900px}.hero img{position:relative;width:790px;height:440px;object-fit:contain;margin:20px auto 0;z-index:2;filter:drop-shadow(0 16px 10px #0002)}.hero:after{content:'';position:absolute;bottom:-1px;left:-5%;width:110%;height:85px;background:white;clip-path:polygon(0 15%,50% 100%,100% 15%,100% 100%,0 100%)}h2,h3,h1{font-family:'Barlow Condensed',Impact,sans-serif;line-height:1.1}h2{font-size:34px;margin:0 0 28px}h3{font-size:25px}.section{padding:70px 0;text-align:center}.offers{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0 20px}.tile{position:relative;overflow:hidden;text-align:left;min-height:155px;color:white;background:#222}.tile img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.tile:hover img{transform:scale(1.045)}.tile:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,#0006,transparent 70%)}.tile .caption{position:absolute;top:22px;left:23px;z-index:1}.tile h3{font-size:31px;margin:0}.tile small{font:700 13px 'Barlow Condensed',sans-serif}.tile.big{grid-row:span 2}.tile.big img{height:345px}.tile-right{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tile-right .tile{height:160px}.tile.delivery{height:167px;grid-column:span 2}.pill{display:inline-block;padding:6px 14px;background:var(--red);border-radius:20px;font:700 14px 'Barlow Condensed',sans-serif;margin-top:10px}.btn{display:inline-flex;justify-content:center;align-items:center;background:#272823;color:white;border:0;border-radius:30px;padding:12px 27px;font:700 13px 'Barlow Condensed',sans-serif;transition:background .2s,transform .2s}.btn:hover{background:var(--red);transform:translateY(-2px)}.btn.light{background:white;color:#222}.btn.light:hover{background:#f8d886}.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:60px}.benefit svg{width:76px;height:76px;stroke:#363930;fill:#f7edbb;stroke-width:1.7}.benefit h3{font:700 14px Inter,sans-serif;margin:18px 0 8px}.benefit p{color:#999;font-size:11px;line-height:1.5;margin:0}.promotion{position:relative;min-height:450px;display:grid;grid-template-columns:44% 56%;align-items:center;border-top:16px solid #eee;border-bottom:16px solid #eee}.promotion .copy{text-align:center;padding:40px 25px;z-index:1}.promotion h2{font-size:98px;border-block:1px solid #fff9;padding:5px 0;margin:12px 0}.promotion h3{font-size:35px;margin:0}.promotion p{font:700 17px 'Barlow Condensed';margin:10px 0}.promotion img{width:100%;height:440px;object-fit:cover}.reviews{padding:60px 0 15px}.quote{max-width:550px;margin:0 auto;border-bottom:2px solid var(--red);padding:0 20px 24px;font-size:13px;line-height:1.8;color:#777}.quote strong{display:block;font:23px Caveat;margin-top:12px;color:#444}.stars{color:#d39f32;letter-spacing:5px;font-size:20px;margin:15px}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.story{position:relative;border-bottom:1px solid #ddd;padding-bottom:15px}.story img{aspect-ratio:1.05;object-fit:cover;width:100%;transition:transform .35s}.story>a{overflow:hidden;display:block}.story:hover h3{color:var(--red)}.story h3{font-size:22px;margin:15px 0 8px}.story p{font-size:11px;color:#999;line-height:1.5}.story .pill{position:absolute;top:-20px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:11px}.news-grid+.btn{margin-top:25px}.footer{text-align:center;padding:55px 20px 20px;clip-path:polygon(0 6%,50% 0,100% 6%,100% 100%,0 100%)}.footer h2{font-size:39px;margin:0 0 15px}.socials{display:flex;justify-content:center;gap:10px;margin:20px}.socials a{border:1px solid #fff9;border-radius:50%;width:30px;height:30px;display:grid;place-items:center}.footer .nav{justify-content:center;margin:45px 0 20px}.fine{font-size:10px;opacity:.7}.page-head{text-align:center;padding:55px 20px}.page-head h1{font-size:52px;margin:10px}.page-main{min-height:420px;padding:55px 0 70px}.filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:30px}.filters button{border:1px solid #ddd;border-radius:24px;padding:10px 20px;background:white}.filters button.active{background:var(--red);color:white;border-color:var(--red)}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.product{border:1px solid #eee;padding:15px;border-radius:6px;display:flex;flex-direction:column}.product img{aspect-ratio:1.1;object-fit:cover;width:100%;border-radius:3px}.product h3{margin:18px 0 8px}.product p{font-size:12px;line-height:1.6;color:#777;flex:1}.price{font-weight:700;margin:10px 0}.product .btn{width:100%}.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.split img{border-radius:4px}.prose{line-height:1.8}.prose h2{margin-top:25px}.prose p{color:#666}.form{display:grid;gap:17px;text-align:left}.form label{display:grid;gap:8px;font-weight:600;font-size:12px}.form input,.form textarea,.form select{width:100%;padding:13px;border:1px solid #ddd;border-radius:3px;background:#fafafa}.notice{background:#f9f6ec;padding:15px;font-size:12px;line-height:1.6}.cart-row{display:flex;gap:20px;align-items:center;border-bottom:1px solid #ddd;padding:18px 0}.cart-row img{width:85px;height:75px;object-fit:cover}.cart-row .info{flex:1}.cart-row h3{margin:0 0 8px}.qty{display:flex;align-items:center;gap:10px}.qty button{border:1px solid #ddd;background:white;border-radius:50%;width:28px;height:28px}.total{text-align:right;margin:30px 0;font-size:23px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,30px);opacity:0;pointer-events:none;background:#222;color:white;padding:15px 25px;border-radius:6px;z-index:100;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}.empty{text-align:center;padding:60px 0}.cart-link{font-size:12px;white-space:nowrap}.story-full{max-width:650px;margin:auto}.story-full img{width:100%;max-height:450px;object-fit:cover}.close{background:none;border:0;color:var(--red)}a:focus-visible,button:focus-visible{outline:3px solid #ecb52c;outline-offset:4px}
@media(min-width:1600px){.site{max-width:1400px}.hero{height:640px}.hero img{width:900px;height:480px}}
@media(max-width:1000px){.site{margin:0}.wrap{width:86%}.nav{gap:12px}.phone{display:none}.hero h1{font-size:38px}.hero{height:550px}.hero img{height:400px}.promotion h2{font-size:76px}}
@media(max-width:600px){.wrap{width:88%}.header{padding:16px 0;gap:12px;position:relative}.logo{font-size:28px}.logo svg{width:35px;height:35px}.menu-toggle{display:block}.header .nav{display:none;position:absolute;top:75px;left:-7%;width:114%;background:#b51d28;padding:20px;z-index:20;flex-direction:column;font-size:14px}.header .nav.open{display:flex}.hero{height:auto;padding:28px 15px 0}.hero .script{font-size:20px}.hero h1{font-size:30px;max-width:340px;line-height:1.1}.hero img{width:100%;height:auto;aspect-ratio:1.5;object-fit:contain;margin:16px auto 0}.hero:after{height:50px}.section{padding:44px 0}h2{font-size:30px}.offers{gap:12px;grid-template-columns:1fr}.tile.big{grid-row:auto}.tile.big img{height:270px}.tile-right{gap:12px}.tile-right .tile{height:145px}.tile.delivery{height:140px}.tile h3{font-size:28px}.tile .caption{left:16px;top:17px}.benefits{grid-template-columns:1fr 1fr;gap:30px 20px;margin-top:40px}.promotion{grid-template-columns:1fr;gap:0}.promotion .copy{padding:35px 40px 25px}.promotion h2{font-size:72px;max-width:260px;margin:10px auto}.promotion h3{font-size:28px}.promotion img{height:240px}.news-grid{grid-template-columns:1fr;gap:40px}.story img{aspect-ratio:1.35}.story h3{font-size:27px}.story p{font-size:13px}.footer .nav{gap:14px;font-size:9px;flex-wrap:wrap}.footer h2{font-size:32px}.products{grid-template-columns:1fr 1fr;gap:12px}.product{padding:10px}.product h3{font-size:24px}.product .btn{padding:11px;font-size:12px}.split{grid-template-columns:1fr;gap:25px}.page-head{padding:30px 10px}.page-head h1{font-size:39px}.page-main{padding:35px 0}.cart-row{gap:10px;flex-wrap:wrap}.cart-row img{width:65px;height:65px}.cart-row h3{font-size:22px}.cart-row .info{min-width:120px}.reviews{padding:40px 0 5px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Smooth editorial curves and clean, consistent icon linework. */
.logo svg{stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.benefit svg{fill:none;stroke:#373a31;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;width:84px;height:84px}
.benefit svg .accent{fill:#f4e8b6;stroke:none}
.hero:after{left:0;width:100%;height:85px;clip-path:none;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 85' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 0 Q600 150 1200 0 V85 H0Z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.promotion{border:0;padding:35px 0;isolation:isolate}
.promotion:before,.promotion:after,.footer:before{content:'';position:absolute;left:0;width:100%;height:45px;z-index:3;pointer-events:none;background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 45' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 0 H1200 V40 Q600 -35 0 40Z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.promotion:before,.footer:before{top:-1px}
.promotion:after{bottom:-1px;transform:rotate(180deg)}
.promotion img{height:440px}
.footer{position:relative;clip-path:none;padding-top:75px;border-radius:0}
.footer:after{content:'';position:absolute;bottom:0;left:0;right:0;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 20' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 0 Q600 35 1200 0 V20 H0Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;pointer-events:none}
@media(max-width:600px){.hero:after{height:50px}.promotion{padding:35px 0}.promotion img{height:240px}.promotion:before,.promotion:after,.footer:before{height:25px}.footer{padding-top:55px}.tile .caption{right:12px}.tile.delivery h3{font-size:26px}.tile.delivery .pill{font-size:11px}}

/* Reference composition: shallow layered waves and overlapping hero pizza. */
body[data-page="index"] .hero{height:500px;overflow:visible;padding-top:45px;z-index:1}
body[data-page="index"] .hero img{width:860px;max-width:90%;height:455px;margin:12px auto 0;z-index:4}
body[data-page="index"] .hero:after{height:64px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 64' preserveAspectRatio='none'%3E%3Cpath fill='%23e8e8e6' d='M0 0Q600 96 1200 0V64H0Z'/%3E%3Cpath fill='white' d='M0 22Q600 100 1200 22V64H0Z'/%3E%3C/svg%3E");z-index:1}
body[data-page="index"] .hero+.section{padding-top:140px;padding-bottom:60px}
body[data-page="index"] .hero h1{font-size:40px}
.promotion{height:560px;min-height:0;padding:0;display:block;overflow:hidden}
.promotion img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}
.promotion .copy{position:relative;width:49%;height:100%;padding:100px 55px 70px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#cf202c;border-radius:0 48% 48% 0 / 0 65% 65% 0;z-index:2}
.promotion h2{width:100%;font-size:98px;margin:12px 0}
.promotion h3{font-size:35px}
.promotion .script{font-size:22px;margin:5px 0 18px}
.promotion:before{height:64px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 64' preserveAspectRatio='none'%3E%3Cpath fill='%23e8e8e6' d='M0 0H1200V24Q600 100 0 24Z'/%3E%3Cpath fill='white' d='M0 0H1200V0Q600 94 0 0Z'/%3E%3C/svg%3E")}
.promotion:after{height:64px;transform:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 64' preserveAspectRatio='none'%3E%3Cpath fill='%23e8e8e6' d='M0 40Q600 -24 1200 40V64H0Z'/%3E%3Cpath fill='white' d='M0 60Q600 -4 1200 60V64H0Z'/%3E%3C/svg%3E")}
.footer{border-radius:0;padding-top:76px;padding-bottom:20px}
.footer:before{height:64px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 64' preserveAspectRatio='none'%3E%3Cpath fill='%23e8e8e6' d='M0 40Q600 -24 1200 40V64H0Z'/%3E%3Cpath fill='white' d='M0 60Q600 -4 1200 60V64H0Z'/%3E%3C/svg%3E");transform:rotate(180deg)}
.footer:after{display:none}
.reviews{padding-top:45px;padding-bottom:10px}
.reviews .stars{display:none}
.reviews .quote{margin-top:15px;position:relative;max-width:430px;font-size:12px;border:0;padding-bottom:25px}
.reviews .quote:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:15px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 440 20' preserveAspectRatio='none'%3E%3Cpath d='M0 2H45V18L70 2H440' fill='none' stroke='%23d32430' stroke-width='2'/%3E%3C/svg%3E") center/100% 100% no-repeat}
body[data-page="index"] .reviews+.section{padding-top:60px;padding-bottom:70px}
@media(min-width:1600px){body[data-page="index"] .hero{height:540px}body[data-page="index"] .hero img{width:960px;height:490px}}
@media(max-width:600px){
 body[data-page="index"] .hero{height:auto;padding-top:28px;padding-bottom:0}
 body[data-page="index"] .hero h1{font-size:30px}
 body[data-page="index"] .hero img{width:100%;max-width:100%;height:auto;aspect-ratio:1.5;margin-top:16px;margin-bottom:-35px}
 body[data-page="index"] .hero:after{height:40px}
 body[data-page="index"] .hero+.section{padding-top:50px;padding-bottom:44px}
 .promotion{height:auto;display:flex;flex-direction:column;padding:35px 0}
 .promotion .copy{width:100%;height:auto;padding:30px 35px;border-radius:0;background:transparent}
 .promotion img{position:relative;inset:auto;height:250px;object-position:center}
 .promotion h2{font-size:72px;max-width:260px}
 .promotion h3{font-size:28px}
 .promotion:before,.promotion:after,.footer:before{height:30px}
 .footer{padding-top:55px}
}

.footer:before{transform:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 64' preserveAspectRatio='none'%3E%3Cpath fill='%23e8e8e6' d='M0 0H1200V60Q600 -40 0 60Z'/%3E%3Cpath fill='white' d='M0 0H1200V38Q600 -28 0 38Z'/%3E%3C/svg%3E")}

/* Reference-style illustrated benefit icons. */
.benefit svg{width:94px;height:94px;stroke:#282a24;stroke-width:1.35;overflow:visible}
.benefit svg .accent{fill:#f6f0c9;stroke:none}
.benefit{position:relative}
.benefit:not(:last-child):after{content:'';position:absolute;width:32%;right:-24%;top:48px;border-top:3px dotted #efefea}
@media(max-width:600px){.benefit:not(:last-child):after{display:none}}

.logo .brand-logo{width:160px;height:55px;object-fit:contain}
.benefit .benefit-icon{width:110px;height:110px;object-fit:contain;margin:0 auto}
.benefit:not(:last-child):after{top:55px}
@media(max-width:600px){.logo .brand-logo{width:135px;height:46px}.benefit .benefit-icon{width:104px;height:104px}}

/* Larger two-line homepage headline. */
body[data-page="index"] .hero h1{font-size:clamp(48px,4.5vw,66px);line-height:1.05;max-width:1050px}
body[data-page="index"] .hero{height:570px}
@media(min-width:1600px){body[data-page="index"] .hero{height:610px}}
@media(max-width:600px){body[data-page="index"] .hero{height:auto}body[data-page="index"] .hero h1{font-size:clamp(30px,7.7vw,44px);line-height:1.08}}

/* Wide sliced pizza composition, with floating leaves and olives. */
body[data-page="index"] .hero{height:auto;padding-left:0;padding-right:0}
body[data-page="index"] .hero h1,body[data-page="index"] .hero>.script{position:relative;z-index:5;padding-left:20px;padding-right:20px}
body[data-page="index"] .hero img{width:100%;max-width:1100px;height:auto;aspect-ratio:1.5;object-fit:contain;margin:20px auto -75px}
@media(max-width:600px){body[data-page="index"] .hero img{max-width:100%;margin:16px auto -35px}}

/* Soft-focus ingredients continue down the outer page background. */
body{position:relative;isolation:isolate}
body:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url('assets/background-ingredients.png');background-repeat:repeat-y;background-position:center top;background-size:100% auto;filter:blur(5px);opacity:.65}
.site{position:relative;z-index:0}
@media(max-width:1000px){body:before{background-size:1000px auto}}

body[data-page="index"] .hero img{transform:translateY(-150px) scale(.8);transform-origin:center center}

/* Lift the curved red boundary beneath the raised pizza. */
@media(min-width:601px){body[data-page="index"] .hero img{margin-bottom:-375px}}
/* Keep mobile artwork below the heading and overlapping its shallow curve. */
@media(max-width:600px){body[data-page="index"] .hero img{transform:translateY(-60px) scale(.8);margin-bottom:-55px}}
/* Keep the raised artwork and curved boundary in the same layout box. */
body[data-page="index"] .hero{display:flow-root}
.tile.big{position:relative;min-height:345px}
.tile.big img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(min-width:601px){.promotion img{inset:10% 0 auto auto;width:80%;height:80%;object-fit:cover}}
@media(max-width:600px){.tile.big{min-height:270px}.promotion img{width:80%;height:200px;align-self:center}}
.socials a{border:0;width:34px;height:34px}
.socials img{width:100%;height:100%;object-fit:contain}

@media(min-width:601px){.offers{align-items:stretch}.offers>.tile.big{grid-row:auto;min-height:0}.tile-right{grid-template-rows:160px 167px}.tile-right .tile.delivery{height:167px}}

body[data-page="index"] .hero>.script{font-size:26px}
@media(max-width:600px){body[data-page="index"] .hero>.script{font-size:23px}}

/* Coffee editorial image: ten percent closer within its existing frame. */
.story-photo{display:block;overflow:hidden}
.story a[href="article.html?id=coffee"] .story-photo img{transform:scale(1.21)}

/* Give the grilled cheese story image twenty percent more breathing room. */



.menu-coffee-photo{overflow:hidden;aspect-ratio:1.1;width:100%}.product .menu-coffee-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.21)}

/* Balanced navigation and compact order badge. */
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-shrink:0}
.header .phone{flex:0 0 auto;white-space:nowrap;width:max-content;line-height:1.3}
.header .phone i{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;padding:0;line-height:1;font-size:16px}
@media(min-width:601px){.header{display:grid;grid-template-columns:1fr auto 1fr;gap:20px}.header>.logo{justify-self:start}.header>.nav{justify-self:center;white-space:nowrap}.header-actions{justify-self:end}}
@media(min-width:1001px){.header.wrap{width:90%;max-width:none}}

/* Center the visible contact fields against the contact copy. */
body[data-page="contact"] .split{align-items:center}
#contact-form{align-self:center;margin:0}
#contact-form #form-status:empty{display:none}
body[data-page="contact"] .prose>:first-child{margin-top:0}
body[data-page="contact"] .prose>:last-child{margin-bottom:0}

@media(max-width:600px){body[data-page="index"] .promotion{padding-bottom:70px}}
