*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;--paper:#fff9e9;--ink:#303b27;--accent:#f3cf53;--line:#303b2733;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #237ccc;outline-offset:5px}img{width:100%;height:100%;object-fit:cover;display:block}figure{margin:0}p{line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(50px,5.9vw,92px);line-height:1.02;letter-spacing:-4px;margin-bottom:27px}h2{font-size:clamp(38px,4vw,62px);line-height:1.08;letter-spacing:-2px}h3{font-size:25px}em{font-weight:400}.concept-bar{position:sticky;top:0;z-index:20;background:#20221f;color:#faf9f4;min-height:68px;display:flex;align-items:center;justify-content:space-between;padding:12px 25px;gap:20px}.concept-label{font-size:11px;letter-spacing:1.5px;white-space:nowrap}.concept-label small{display:block;font-size:8px;margin-top:6px;color:#b5b9ae}.concept-bar nav{display:flex;gap:5px}.concept-bar nav a{font-size:11px;padding:12px 14px;border:1px solid transparent;border-radius:5px;white-space:nowrap}.concept-bar nav a span{opacity:.55;margin-right:4px}.concept-bar nav a[aria-current]{border-color:#75796e;background:#353a30}.concept-bar nav a:hover{background:#42483d}.concept-count{font-size:10px;color:#b5b9ae;white-space:nowrap}.announcement{text-align:center;background:var(--accent);padding:10px;font-size:11px;letter-spacing:1px}.announcement span{padding:0 20px}header{padding:17px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.brand{display:flex;align-items:center;gap:10px}.brand img{height:62px;width:70px;object-fit:contain}.brand>span{font-family:Georgia,serif;font-size:25px;font-style:italic}.brand strong{display:block;font:12px Arial;letter-spacing:3px}.header-order{border:1px solid var(--ink);padding:13px 19px;font-size:12px}header nav{display:flex;gap:32px;font-size:12px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:5%;padding:55px 5% 60px;align-items:center;min-height:650px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;margin-bottom:23px}.intro{font-size:15px;max-width:380px;opacity:.85}.actions{display:flex;align-items:center;gap:28px;margin-top:30px}.button{display:inline-flex;align-items:center;gap:30px;padding:17px 22px;background:var(--ink);color:var(--paper);font-size:12px}.text-link{font-size:12px;border-bottom:1px solid;padding-bottom:5px;display:inline-block}.hero-note{font-size:10px;letter-spacing:.5px;margin-top:40px}.hero-note span{font-size:20px;margin-right:10px}.hero-image{height:500px;position:relative}.hero-image>img{border-radius:240px 240px 4px 4px}.hero-image figcaption{font-size:8px;letter-spacing:2px;margin-top:13px;text-align:center}.seal{position:absolute;bottom:25px;left:-35px;background:var(--accent);width:115px;height:115px;border:1px solid var(--ink);outline:6px solid var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:10px;line-height:1.7;transform:rotate(-12deg)}.seal em{font:21px Georgia}.ribbon{background:var(--ink);color:var(--paper);display:flex;justify-content:space-evenly;gap:15px;align-items:center;padding:23px 25px;font-size:12px;letter-spacing:2px;overflow:hidden;white-space:nowrap}.section{padding:90px 6%}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.section-heading h2{margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.card-image{height:310px;overflow:hidden}.card-image img{transition:transform .4s}.food-card:hover img{transform:scale(1.04)}.card-title{display:flex;justify-content:space-between;align-items:center;margin-top:23px;gap:10px}.card-title h3{margin:0;font-size:23px}.food-card p{font-size:12px;margin-top:10px}.story{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;border-top:1px solid var(--line);background:#edeadf}.story figure{height:400px}.story figcaption{font:italic 13px Georgia;margin-top:12px}.story p:not(.eyebrow){font-size:14px;max-width:460px}.film{display:block;margin-top:25px;font-size:12px}.visit{text-align:center}.visit-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px}.visit-grid>div{padding:15px;border-right:1px solid var(--line)}.visit-grid>div:last-child{border:0}.visit-grid h3{font-size:23px}.visit-grid p{font-size:13px}footer{background:var(--ink);color:var(--paper);padding:45px 6%;display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px}.footer-brand{font:32px Georgia}.footer-brand span{display:block;font:8px Arial;letter-spacing:2px;margin-top:14px}footer a{font-size:12px}footer div a+a{margin-left:25px}footer small{width:100%;font-size:10px;opacity:.7}footer small a{font-size:10px}
/* 02: A bold, striped neighborhood sandwich counter. */
.deli{--paper:#fff5df;--ink:#a5261d;--accent:#ecd99f;--line:#a5261d40}.deli header{border-bottom:3px solid}.deli .announcement{background:var(--ink);color:var(--paper)}.deli h1{font-family:Impact,'Arial Narrow',sans-serif;font-weight:900;letter-spacing:-2px;font-size:clamp(60px,7vw,108px);line-height:.94}.deli h1 em{font-style:normal;-webkit-text-stroke:1.5px var(--ink);color:transparent}.deli .hero{gap:0;padding:0;grid-template-columns:1fr 1fr;background:repeating-linear-gradient(90deg,#fff5df 0 28px,#f4e7c9 28px 56px)}.deli .hero-copy{padding:45px 10%;background:var(--paper);margin:28px}.deli .hero-image{height:650px}.deli .hero-image>img{border-radius:0}.deli .hero-image figcaption{position:absolute;bottom:0;left:0;right:0;background:var(--ink);color:var(--paper);padding:18px}.deli .seal{top:25px;left:auto;right:25px}.deli .button{box-shadow:4px 4px 0 #d9b778}.deli .ribbon{border-top:5px double var(--paper);border-bottom:5px double var(--paper);font-weight:bold}.deli .card-image{border:2px solid;padding:8px}.deli .story{background:#eddcba}.deli h2{font-weight:bold}
/* 03: A restrained, botanical pastry editorial. */
.artisan{--paper:#f8f7f0;--ink:#35483e;--accent:#dce3d3;--line:#35483e30}.artisan .announcement{font-size:9px;letter-spacing:3px}.artisan header{margin:0 5%;padding:20px 0}.artisan .hero{grid-template-columns:1fr 1fr;padding:55px 9% 75px;gap:9%}.artisan h1{font-size:clamp(48px,5.8vw,88px);font-weight:400}.artisan .hero-image{height:540px}.artisan .hero-image>img{border-radius:0;outline:1px solid var(--line);outline-offset:13px}.artisan .hero-image figcaption{margin-top:28px}.artisan .seal{display:none}.artisan .hero-note{border-top:1px solid var(--line);padding-top:20px}.artisan .button{background:transparent;border:1px solid;color:var(--ink)}.artisan .ribbon{background:transparent;color:var(--ink);border-block:1px solid var(--line);font-size:9px;letter-spacing:3px}.artisan .section{padding:100px 9%}.artisan .card-image{height:350px;border-radius:180px 180px 0 0}.artisan .story{background:#e7ebdf}.artisan .story figure img{filter:saturate(.6)}.artisan .section-heading .eyebrow{font-size:9px}.artisan .card-title h3{font-size:21px}
/* 04: A family album, with Mediterranean color and paper framing. */
.family{--paper:#f6eddf;--ink:#274b5a;--accent:#b95437;--line:#274b5a33}.family .announcement{color:#fff5df}.family .hero{background:#ebddc8;gap:7%;padding:65px 7% 85px}.family h1{font-size:clamp(48px,5.8vw,86px)}.family h1 em{color:#a4452d}.family .hero-image{height:445px;transform:rotate(3deg);padding:17px 17px 45px;background:#fffbef;box-shadow:0 12px 25px #49301b20}.family .hero-image>img{border-radius:0;filter:sepia(.2)}.family .hero-image figcaption{font:italic 12px Georgia;letter-spacing:0}.family .seal{background:#b95437;color:#fff5df;outline-color:#b95437;border-color:#fff5df;bottom:-40px;left:-35px}.family .ribbon{background:var(--accent);color:#fff5df}.family .button{background:var(--accent);color:#fff5df}.family .card-image{padding:10px 10px 30px;background:#fffbef;box-shadow:0 4px 12px #49301b14}.family .cards{gap:35px}.family .food-card:nth-child(2){transform:rotate(-2deg)}.family .story{background:#dce2df}.family .story figure{padding:15px 15px 40px;background:#fffbef;transform:rotate(-3deg)}
@media(min-width:1600px){#site{max-width:1600px;margin:auto}}@media(max-width:1050px){.concept-label,.concept-count{display:none}.concept-bar{justify-content:center;padding:10px}.concept-bar nav a{padding:10px;font-size:10px}.hero{gap:4%;min-height:0}h1{letter-spacing:-2px}.hero-image{height:440px}.actions{gap:15px;flex-wrap:wrap}header nav{gap:18px}.brand>span{display:none}.deli .hero-copy{margin:15px;padding:35px 7%}.deli .hero-image{height:630px}.card-image{height:240px}.artisan .hero-image{height:470px}.section{padding:65px 5%}}
@media(max-width:700px){.concept-bar{min-height:65px}.concept-bar nav{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.concept-bar nav a{white-space:normal;text-align:center;line-height:1.35;padding:7px 4px;font-size:9px}.concept-bar nav a span{display:block;margin:0 0 3px}.announcement{font-size:9px;letter-spacing:.2px}.announcement span{padding:0 8px}header{padding:12px 5%;gap:10px;position:relative}.brand img{height:45px;width:52px}.brand>span{display:block;font-size:20px}.brand strong{font-size:9px}.header-order{font-size:10px;padding:11px}.menu-toggle{display:block;background:none;color:var(--ink);border:0;font-size:11px;padding:10px}header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:25px;z-index:10;border-bottom:1px solid;box-shadow:0 8px 15px #0001}header nav.open{display:flex;flex-direction:column;gap:22px}.hero,.artisan .hero,.family .hero,.deli .hero{display:flex;flex-direction:column;padding:38px 7% 42px;gap:32px}.hero-copy{width:100%}h1,.artisan h1,.family h1{font-size:55px;letter-spacing:-2px}.deli h1{font-size:70px}.eyebrow{font-size:9px;margin-bottom:20px}.intro{font-size:14px}.actions{margin-top:23px}.hero-note{margin-top:25px}.hero-image,.artisan .hero-image,.family .hero-image,.deli .hero-image{width:100%;height:370px}.hero-image>img{border-radius:180px 180px 0 0}.seal{width:90px;height:90px;left:-10px;font-size:8px}.seal em{font-size:17px}.hero-image figcaption{font-size:7px}.ribbon{justify-content:flex-start;font-size:10px;padding:20px;gap:24px}.section,.artisan .section{padding:55px 7%}.section-heading{display:block}.section-heading .text-link{margin-top:25px}h2{font-size:40px}.cards{grid-template-columns:1fr;gap:35px}.card-image,.artisan .card-image{height:340px}.card-title h3{font-size:24px}.story{grid-template-columns:1fr;gap:45px}.story figure{height:290px}.visit-grid{grid-template-columns:1fr;margin-top:25px}.visit-grid>div{border-right:0;border-bottom:1px solid var(--line);padding:25px 0}.deli .hero-copy{margin:0;padding:0;background:none}.deli .hero-image figcaption{margin:0}.deli .seal{left:auto}.artisan .hero-image{margin-top:10px}.family .hero-image{height:320px;margin-bottom:20px}.family .seal{left:-15px}.family .food-card:nth-child(2){transform:none}.family .story figure{height:300px}footer{padding:35px 7%}.footer-brand{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card-image img{transition:none}}

/* Refined signature-yellow directions, September 2026. */
:is(.sunshine,.family){--paper:#fffbf0;--ink:#302b20;--accent:#efbf38;--line:#302b2026}
:is(.sunshine,.family) .announcement{background:var(--accent);color:var(--ink);padding:12px;font-size:10px;letter-spacing:1.4px}
:is(.sunshine,.family) header{padding:20px 6%;background:var(--paper)}
:is(.sunshine,.family) .header-order{background:var(--accent);border-color:transparent;border-radius:30px;padding:15px 23px}
:is(.sunshine,.family) .brand>span{font-size:29px}
:is(.sunshine,.family) .button{border-radius:30px;padding:18px 26px;transition:transform .2s,box-shadow .2s}
:is(.sunshine,.family) .button:hover{transform:translateY(-3px);box-shadow:0 7px 18px #302b2020}
:is(.sunshine,.family) .hero{padding:70px 6% 85px;gap:6%;position:relative;isolation:isolate}
:is(.sunshine,.family) .hero-copy{position:relative;z-index:2}
:is(.sunshine,.family) h1{font-size:clamp(56px,6.2vw,96px);letter-spacing:-4.5px;line-height:1.02}
:is(.sunshine,.family) .intro{font-size:16px;max-width:390px}
:is(.sunshine,.family) .eyebrow{letter-spacing:2.4px;font-size:9px}
:is(.sunshine,.family) .hero-note{border-top:1px solid var(--line);padding-top:20px;margin-top:34px;max-width:350px}
.sunshine .hero{background:var(--accent)}
.sunshine .hero:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 85% 10%,#ffe6a0 0,transparent 60%)}
.sunshine .hero h1 em{position:relative;display:inline-block}
.sunshine .hero h1 em:after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:8px;border-top:2px solid;border-radius:50%;transform:rotate(-3deg)}
.sunshine .hero-image{height:530px;padding:12px 12px 37px;background:var(--paper);border-radius:250px 250px 8px 8px;transform:rotate(2deg);box-shadow:16px 20px 0 #9d741b20}
.sunshine .hero-image>img{border-radius:240px 240px 0 0}
.sunshine .hero-image figcaption{margin-top:12px;font-size:8px}
.sunshine .seal{background:var(--paper);outline-color:var(--paper);bottom:35px;left:-38px;transform:rotate(-14deg);width:120px;height:120px}
:is(.sunshine,.family) .ribbon{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);padding:25px;font-size:10px;letter-spacing:2px}
:is(.sunshine,.family) .section{padding:90px 6%}
:is(.sunshine,.family) .cards{gap:30px}
:is(.sunshine,.family) .card-image{height:340px;border-radius:8px;padding:0;box-shadow:none}
:is(.sunshine,.family) .card-title{border-bottom:1px solid var(--line);padding-bottom:18px}
:is(.sunshine,.family) .card-title span{border:1px solid var(--line);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;flex-shrink:0}
:is(.sunshine,.family) .food-card:nth-child(2){transform:none}
:is(.sunshine,.family) .food-card p{font-size:13px}
:is(.sunshine,.family) .story{background:#f3e9d4;border-top:0;gap:9%}
:is(.sunshine,.family) .story figure{height:430px;background:var(--paper);padding:12px 12px 35px;box-shadow:0 15px 30px #302b2010;transform:rotate(-2deg)}
:is(.sunshine,.family) .story figure img{border-radius:2px}
:is(.sunshine,.family) .story h2 em{background:linear-gradient(transparent 70%,var(--accent) 70%)}
:is(.sunshine,.family) .visit{background:var(--accent);position:relative}
:is(.sunshine,.family) .visit h2{font-size:clamp(48px,5vw,74px)}
:is(.sunshine,.family) footer{background:#302b20;color:#fffbf0;padding:55px 6%}
.family .hero{background:var(--paper);padding-bottom:105px}
.family .hero:before{content:'';position:absolute;inset:0 0 0 53%;background:var(--accent);z-index:-1}
.family h1 em{color:var(--ink)}
.family .hero-image{height:460px;padding:14px 14px 45px;transform:rotate(4deg);background:#fffdf7;box-shadow:0 15px 35px #62430e20}
.family .hero-image>img{filter:none}
.family .hero-image:before{content:'';position:absolute;width:110px;height:30px;left:38%;top:-13px;background:#fff6cbab;transform:rotate(-9deg);box-shadow:0 1px 2px #0001}
.family .seal{background:#302b20;color:#ffdb69;outline-color:#302b20;border-color:#ffdb69;bottom:-38px;left:-27px}
.family .button{background:var(--accent);color:var(--ink)}
.family .ribbon{background:var(--accent)}
.family .menu-section .card-image{border-radius:160px 160px 5px 5px}
.family .story{background:#f6eedc}
.family .visit{background:var(--accent)}
@media(min-width:701px) and (max-width:1100px){:is(.sunshine,.family) h1{font-size:65px;letter-spacing:-3px}:is(.sunshine,.family) .hero-image{height:450px}:is(.sunshine,.family) .card-image{height:270px}.family .hero-image{height:400px}}
@media(max-width:700px){:is(.sunshine,.family) header{padding:12px 5%}:is(.sunshine,.family) .brand>span{font-size:20px}:is(.sunshine,.family) .header-order{padding:12px;font-size:10px}:is(.sunshine,.family) .hero{padding:40px 7% 55px;gap:38px}:is(.sunshine,.family) h1{font-size:58px;letter-spacing:-3px}:is(.sunshine,.family) .intro{font-size:14px}:is(.sunshine,.family) .hero-image{height:370px;width:94%;margin:0 auto}:is(.sunshine,.family) .seal{width:92px;height:92px;left:-18px;bottom:24px}.sunshine .hero-image{padding:9px 9px 32px;box-shadow:9px 10px 0 #9d741b20}.sunshine .hero-image figcaption{font-size:6px}:is(.sunshine,.family) .section{padding:55px 7%}:is(.sunshine,.family) .card-image{height:340px}:is(.sunshine,.family) .story figure{height:290px}:is(.sunshine,.family) .card-title h3{font-size:23px}.family .hero:before{inset:56% 0 0}.family .hero-image{height:310px;margin-top:10px;margin-bottom:25px}.family .seal{bottom:-27px}.family .hero-image figcaption{font-size:10px}:is(.sunshine,.family) .announcement{font-size:8px;letter-spacing:.5px}:is(.sunshine,.family) .button{padding:16px 22px}}
@media(prefers-reduced-motion:reduce){:is(.sunshine,.family) .button{transition:none}}
/* The signature palette now extends to all five directions. */
:is(.deli,.artisan,.mercato){--paper:#fffbf0;--ink:#302b20;--accent:#efbf38;--line:#302b2026}
.deli .announcement{background:var(--accent);color:var(--ink)}
.deli .hero{background:repeating-linear-gradient(90deg,#efbf38 0 28px,#f8d777 28px 56px)}
.deli .hero-image figcaption,.deli .ribbon{background:var(--accent);color:var(--ink)}
.deli .button{background:var(--accent);color:var(--ink);box-shadow:4px 4px 0 #302b20}
.deli .story{background:#f3e9d4}.deli .header-order{background:var(--accent)}
.artisan .announcement{background:var(--accent)}
.artisan .hero-image{box-shadow:20px 20px 0 #efbf38}
.artisan .button,.artisan .header-order{background:var(--accent);border-color:transparent;color:var(--ink)}
.artisan .ribbon{background:var(--accent)}
.artisan .story{background:#f3e9d4}.artisan .story figure img{filter:none}
.artisan .visit{background:#f8e6ad}
/* 05: An oversized market masthead and cinematic food banner. */
.mercato header{border-bottom:0;padding:20px 5%}
.mercato .announcement{background:var(--ink);color:var(--accent);text-transform:uppercase;font-size:9px;letter-spacing:2px}
.mercato .header-order,.mercato .button{background:var(--accent);color:var(--ink);border:1px solid var(--ink);border-radius:0;box-shadow:3px 3px 0 var(--ink)}
.mercato .hero{display:flex;flex-direction:column;padding:0 5% 45px;gap:35px;background:var(--accent)}
.mercato .hero-copy{display:grid;grid-template-columns:1.6fr 1fr;column-gap:8%;width:100%;padding-top:30px;align-items:center}
.mercato .hero-copy:before{content:'CAFFÈ SORRENTO';grid-column:1/-1;display:block;font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(65px,11vw,170px);line-height:1.15;letter-spacing:-3px;text-align:center;border-block:2px solid;padding:12px 0 18px;margin-bottom:30px}
.mercato .hero .eyebrow{grid-column:1/-1;margin-bottom:20px;font-size:9px}
.mercato h1{font-size:clamp(45px,4.4vw,67px);letter-spacing:-2.5px;grid-row:3/5;margin:0}
.mercato .intro{max-width:430px;margin:0;font-size:14px}
.mercato .actions{margin-top:20px;gap:20px}.mercato .hero .button{background:var(--ink);color:var(--paper);box-shadow:none}
.mercato .hero-note{display:none}
.mercato .hero-image{width:100%;height:450px}
.mercato .hero-image>img{border-radius:0;object-position:center 48%}
.mercato .hero-image figcaption{position:absolute;bottom:18px;left:20px;margin:0;background:var(--paper);padding:13px 17px;font-size:8px;letter-spacing:1.5px}
.mercato .seal{left:auto;right:25px;bottom:-20px;background:var(--paper);outline-color:var(--paper)}
.mercato .ribbon{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);font-size:10px}
.mercato .section-heading h2{font-size:clamp(40px,4.7vw,70px)}
.mercato .card-image{height:330px}
.mercato .food-card{border:1px solid var(--line);padding:12px;background:#fffdf7}
.mercato .card-title h3{font-size:23px}.mercato .card-title,.mercato .food-card p{padding-inline:10px}
.mercato .story{background:#f3e9d4;gap:7%}.mercato .story figure{height:460px}
.mercato .story figure img{border-radius:220px 220px 0 0}
.mercato .visit{background:var(--accent)}.mercato .visit h2{font-size:clamp(48px,6vw,88px)}
@media(max-width:1100px){.concept-bar nav a{padding:10px 8px;font-size:10px}.mercato .hero-copy{column-gap:4%}.mercato .actions{flex-wrap:wrap}.mercato .card-image{height:250px}}
@media(max-width:700px){.concept-bar nav{grid-template-columns:repeat(5,minmax(0,1fr))}.concept-bar nav a{font-size:8px;padding:7px 2px}.concept-bar nav a span{margin-bottom:4px}.artisan .hero-image{box-shadow:9px 9px 0 #efbf38}.mercato header{padding:12px 5%}.mercato .announcement{font-size:7px;letter-spacing:.3px}.mercato .hero{padding:0 6% 35px;gap:26px}.mercato .hero-copy{display:block;padding-top:16px}.mercato .hero-copy:before{font-size:clamp(40px,10.4vw,72px);letter-spacing:-1px;margin-bottom:25px;padding:13px 0}.mercato .hero .eyebrow{font-size:7px;letter-spacing:1px}.mercato h1{font-size:47px;letter-spacing:-2px;margin-bottom:22px}.mercato .intro{font-size:14px}.mercato .hero-image{height:330px}.mercato .hero-image figcaption{left:8px;bottom:10px;font-size:6px;letter-spacing:.5px;padding:10px;max-width:70%;line-height:1.5}.mercato .seal{right:0;bottom:-15px;width:80px;height:80px;font-size:7px}.mercato .seal em{font-size:15px}.mercato .card-image{height:300px}.mercato .story figure{height:330px}}
/* Full-site pages and searchable HTML menu. */
#main-nav a[aria-current]{text-decoration:underline;text-underline-offset:7px}.footer-nav{width:100%;display:flex;gap:24px;flex-wrap:wrap;border-bottom:1px solid #ffffff30;padding-bottom:25px}.content-wrap{padding:70px 6%}.page-hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;background:var(--accent);gap:7%;padding:55px 6%;min-height:430px}.page-hero h1{font-family:Georgia,serif;font-size:clamp(48px,5.3vw,80px);line-height:1.03;letter-spacing:-3px;margin-bottom:24px}.page-hero h1 em{color:var(--ink);-webkit-text-stroke:0}.page-hero p:not(.eyebrow){max-width:440px;font-size:15px}.page-hero figure{height:330px}.page-hero img{border-radius:5px}.sunshine .page-hero figure{padding:10px;background:var(--paper);border-radius:180px 180px 5px 5px;transform:rotate(2deg)}.sunshine .page-hero img{border-radius:170px 170px 0 0}.family .page-hero figure{padding:12px 12px 30px;background:var(--paper);transform:rotate(3deg);box-shadow:8px 10px 0 #302b2012}.artisan .page-hero{background:var(--paper);border-bottom:1px solid var(--line)}.artisan .page-hero figure{box-shadow:15px 15px 0 var(--accent)}.artisan .page-hero img{border-radius:0}.deli .page-hero{border-block:4px double;background:repeating-linear-gradient(90deg,#efbf38 0 28px,#f8d777 28px 56px)}.deli .page-hero>div{padding:25px;background:var(--paper)}.deli .page-hero h1{font-family:Impact,'Arial Narrow',sans-serif;text-transform:uppercase;font-weight:400;letter-spacing:-1px}.mercato .page-hero{border-top:2px solid var(--ink)}.mercato .page-hero img{border-radius:0}.mercato .page-hero h1{font-size:clamp(50px,6vw,88px)}
.page-cta{text-align:center;padding:70px 6%;background:var(--accent)}.page-cta h2{font-size:clamp(42px,5vw,70px)}.page-cta .button{margin-right:25px;background:var(--ink);color:var(--paper)}.menu-tools{border-bottom:1px solid var(--line);padding-bottom:25px}.menu-tools>label{max-width:460px;display:block;font-size:12px;font-weight:bold}.menu-tools input{margin-top:10px}.menu-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.menu-filters button{background:transparent;border:1px solid var(--line);border-radius:30px;padding:12px 17px;font:12px Arial;color:var(--ink);cursor:pointer}.menu-filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.menu-meta,#result-count{font-size:12px;color:#625b4b;margin-top:20px}.menu-category{margin:50px 0 65px}.menu-category-heading{display:flex;gap:20px;align-items:start;border-bottom:2px solid var(--ink);padding-bottom:20px}.menu-category-heading>span{background:var(--accent);padding:13px;border-radius:50%;font-size:12px}.menu-category-heading h2{font-size:40px;margin-bottom:10px;letter-spacing:-1px}.menu-category-heading p{font-size:13px;margin-bottom:0;max-width:700px}.menu-items{display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.menu-item{padding:25px 0;border-bottom:1px solid var(--line)}.menu-item>div{display:flex;justify-content:space-between;gap:20px;align-items:baseline}.menu-item h3{font-size:24px;margin:0}.menu-item strong{font-size:15px;white-space:nowrap}.menu-item p{font-size:13px;max-width:440px;margin:12px 0 0}.allergen{background:#f3e9d4;padding:25px 30px;border-left:4px solid var(--accent)}.allergen h3{margin-bottom:10px}.allergen p{font-size:13px;margin:0}.source-menu{margin-top:25px}.source-menu a{margin:20px 20px 0 0}.empty-state{padding:50px 0}.story-body,.split-content{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.story-body p{font-size:16px;line-height:1.85}.signature{font:italic 28px Georgia!important;margin-top:30px}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;background:var(--accent)}.timeline article{border-top:1px solid;padding-top:25px}.timeline span{font:50px Georgia}.timeline h3{margin:18px 0 10px}.timeline p{font-size:14px}.film-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center}.film-feature>img{height:360px}.info-panel{background:#f4eddd;padding:35px}.info-panel h2{font-size:46px}.info-panel p,.split-content p{font-size:14px}.split-content h2{font-size:48px}.info-panel label{display:block;font-size:12px;margin-bottom:18px;font-weight:bold}input,textarea{display:block;width:100%;border:1px solid #302b2055;background:#fffdf7;padding:14px;font:16px Arial;color:var(--ink);border-radius:3px}input:focus,textarea:focus{outline:2px solid #a77b0b;outline-offset:2px}label input,label textarea{margin-top:9px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-note{font-size:12px!important;line-height:1.6;color:#625b4b;margin-top:20px}.info-panel button,.empty-state button{font-family:Arial;border:0;cursor:pointer}.visit-details{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:40px}.visit-details h2{font-size:42px}.visit-details address{font-style:normal;line-height:1.8}.visit-details a{overflow-wrap:anywhere}.visit-details p{font-size:14px}.hours{margin:0}.hours>div{padding:18px 0;border-bottom:1px solid var(--line)}.hours dt{font-size:13px}.hours dd{margin:8px 0 0;font-family:Georgia;font-size:22px}.faq{background:#f3e9d4}.faq details{border-bottom:1px solid var(--line);padding:23px 0}.faq summary,.source-menu summary{cursor:pointer;font-size:16px}.faq p{font-size:14px;max-width:700px}.order-options{display:grid;grid-template-columns:1fr 1fr;gap:30px}.gift-section{align-items:center}.gift-card{min-height:300px;background:var(--accent);border:2px solid var(--ink);border-radius:14px;box-shadow:9px 9px 0 #302b20;transform:rotate(-3deg);padding:32px;display:flex;flex-direction:column;justify-content:space-between;gap:24px}.gift-card>p{letter-spacing:3px;font-size:12px}.gift-card>span{font:52px/1 Georgia}.gift-card small{font-size:8px;letter-spacing:2px}
.family-photo-collage{overflow:hidden;background:#f3e9d4;border-block:1px solid var(--line)}.family-photo-collage__intro{max-width:700px;margin:0 auto 55px;text-align:center}.family-photo-collage__intro h2{margin-bottom:18px}.family-photo-collage__intro>p:last-child{max-width:560px;margin-inline:auto;font-size:15px}.family-photo-collage__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px 24px;align-items:start;max-width:1260px;margin:0 auto;padding:10px 18px 18px}.family-photo-collage__photo{position:relative;background:#fffdf7;padding:11px 11px 42px;box-shadow:0 14px 28px #302b201c}.family-photo-collage__photo:before{content:'';position:absolute;z-index:2;width:84px;height:23px;left:50%;top:-12px;transform:translateX(-50%) rotate(-3deg);background:#fff1afcc;box-shadow:0 1px 2px #302b2014}.family-photo-collage__photo img{height:100%;min-height:260px;object-fit:cover}.family-photo-collage__photo figcaption{position:absolute;left:15px;right:15px;bottom:12px;text-align:center;font:italic 13px Georgia;color:var(--ink)}.family-photo-collage__photo--1{grid-column:span 5;height:455px;transform:rotate(-2deg)}.family-photo-collage__photo--2{grid-column:span 3;height:350px;transform:translateY(34px) rotate(2.5deg)}.family-photo-collage__photo--3{grid-column:span 4;height:400px;transform:translateY(-4px) rotate(-1deg)}.family-photo-collage__photo--4{grid-column:span 3;height:350px;transform:translateY(-10px) rotate(2deg)}.family-photo-collage__photo--5{grid-column:span 4;height:410px;transform:translateY(18px) rotate(-2.5deg)}.family-photo-collage__photo--6{grid-column:span 5;height:365px;transform:rotate(1.5deg)}
.family-photo-gallery{overflow:hidden;background:#f3e9d4;border-block:1px solid var(--line)}.family-photo-gallery__intro{max-width:700px;margin:0 auto 55px;text-align:center}.family-photo-gallery__intro h2{margin-bottom:18px}.family-photo-gallery__intro>p:last-child{max-width:560px;margin-inline:auto;font-size:15px}.family-photo-gallery__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px 24px;align-items:start;max-width:1260px;margin:0 auto;padding:10px 18px 18px}.family-photo-gallery__photo{position:relative;background:#fffdf7;padding:11px 11px 42px;box-shadow:0 14px 28px #302b201c}.family-photo-gallery__photo:before{content:'';position:absolute;z-index:2;width:84px;height:23px;left:50%;top:-12px;transform:translateX(-50%) rotate(-3deg);background:#fff1afcc;box-shadow:0 1px 2px #302b2014}.family-photo-gallery__photo img{height:100%;min-height:260px;object-fit:cover}.family-photo-gallery__photo figcaption{position:absolute;left:15px;right:15px;bottom:12px;text-align:center;font:italic 13px Georgia;color:var(--ink)}.family-photo-gallery__photo:nth-child(6n+1){grid-column:span 5;height:455px;transform:rotate(-2deg)}.family-photo-gallery__photo:nth-child(6n+2){grid-column:span 3;height:350px;transform:translateY(34px) rotate(2.5deg)}.family-photo-gallery__photo:nth-child(6n+3){grid-column:span 4;height:400px;transform:translateY(-4px) rotate(-1deg)}.family-photo-gallery__photo:nth-child(6n+4){grid-column:span 3;height:350px;transform:translateY(-10px) rotate(2deg)}.family-photo-gallery__photo:nth-child(6n+5){grid-column:span 4;height:410px;transform:translateY(18px) rotate(-2.5deg)}.family-photo-gallery__photo:nth-child(6n){grid-column:span 5;height:365px;transform:rotate(1.5deg)}.family-photo-gallery__empty{grid-column:1/-1;border:1px dashed var(--line);padding:45px;text-align:center;background:#fffdf7}.family-photo-gallery__empty p{margin-bottom:15px}
@media(max-width:1050px){header nav{gap:15px;font-size:11px}.visit-details{grid-template-columns:1fr 1fr}.visit-details>article:last-child{grid-column:1/-1}.page-hero h1{font-size:58px}.info-panel{padding:25px}.menu-item h3{font-size:22px}}
@media(max-width:700px){.page-hero{grid-template-columns:1fr;padding:35px 7%;gap:25px}.page-hero h1,.mercato .page-hero h1{font-size:50px;letter-spacing:-2px}.page-hero figure{height:240px;width:94%;margin:0 auto}.page-hero p:not(.eyebrow){font-size:14px}.content-wrap{padding:45px 7%}.menu-category-heading h2{font-size:30px}.menu-category-heading{gap:12px}.menu-category-heading>span{padding:10px}.menu-items,.story-body,.split-content,.timeline,.film-feature,.order-options,.visit-details{grid-template-columns:1fr;gap:28px}.menu-items{gap:0}.menu-item h3{font-size:23px}.menu-item{padding:22px 0}.menu-filters{gap:7px}.menu-filters button{font-size:11px;padding:11px 12px}.menu-category{margin:35px 0 45px}.info-panel{padding:23px}.info-panel h2,.split-content h2{font-size:38px}.film-feature>img{height:260px}.timeline span{font-size:42px}.visit-details>article:last-child{grid-column:auto}.page-cta{padding:50px 7%}.page-cta .button{margin-right:16px}.gift-card{min-height:260px;margin:10px 0 25px}.gift-card>span{font-size:45px}.footer-nav{gap:18px}.deli .page-hero>div{padding:20px}.form-pair{grid-template-columns:1fr}.allergen{padding:20px}.family .page-hero figure{margin-bottom:10px}.story-body p{font-size:14px}.menu-item strong{font-size:13px}.family-photo-collage__intro{margin-bottom:35px}.family-photo-collage__intro h2{font-size:40px}.family-photo-collage__grid{grid-template-columns:1fr 1fr;gap:25px 15px;padding-inline:5px}.family-photo-collage__photo,.family-photo-collage__photo--1,.family-photo-collage__photo--2,.family-photo-collage__photo--3,.family-photo-collage__photo--4,.family-photo-collage__photo--5,.family-photo-collage__photo--6{grid-column:span 1;height:260px;transform:none}.family-photo-collage__photo:nth-child(3n+2){transform:translateY(18px) rotate(1.5deg)}.family-photo-collage__photo:nth-child(3n+1){transform:rotate(-1deg)}.family-photo-collage__photo img{min-height:0}.family-photo-collage__photo figcaption{font-size:11px}}
@media(max-width:700px){.family-photo-gallery__intro{margin-bottom:35px}.family-photo-gallery__intro h2{font-size:40px}.family-photo-gallery__intro>p:last-child{font-size:14px}.family-photo-gallery__grid{grid-template-columns:1fr 1fr;gap:25px 15px;padding-inline:5px}.family-photo-gallery__photo,.family-photo-gallery__photo:nth-child(6n+1),.family-photo-gallery__photo:nth-child(6n+2),.family-photo-gallery__photo:nth-child(6n+3),.family-photo-gallery__photo:nth-child(6n+4),.family-photo-gallery__photo:nth-child(6n+5),.family-photo-gallery__photo:nth-child(6n){grid-column:span 1;height:260px;transform:none}.family-photo-gallery__photo:nth-child(3n+2){transform:translateY(18px) rotate(1.5deg)}.family-photo-gallery__photo:nth-child(3n+1){transform:rotate(-1deg)}.family-photo-gallery__photo img{min-height:0}.family-photo-gallery__photo figcaption{font-size:11px}}
@media(max-width:430px){.family-photo-collage__grid{display:block;max-width:330px}.family-photo-collage__photo,.family-photo-collage__photo--1,.family-photo-collage__photo--2,.family-photo-collage__photo--3,.family-photo-collage__photo--4,.family-photo-collage__photo--5,.family-photo-collage__photo--6{height:350px;margin:0 0 32px;transform:rotate(-1deg)}.family-photo-collage__photo:nth-child(even){transform:rotate(1deg)}}
@media(max-width:430px){.family-photo-gallery__grid{display:block;max-width:330px}.family-photo-gallery__photo,.family-photo-gallery__photo:nth-child(6n+1),.family-photo-gallery__photo:nth-child(6n+2),.family-photo-gallery__photo:nth-child(6n+3),.family-photo-gallery__photo:nth-child(6n+4),.family-photo-gallery__photo:nth-child(6n+5),.family-photo-gallery__photo:nth-child(6n){height:350px;margin:0 0 32px;transform:rotate(-1deg)}.family-photo-gallery__photo:nth-child(even){transform:rotate(1deg)}}

/* Six-version client comparison navigation. */
.concept-count{display:none}.concept-bar .concept-label{flex-shrink:0}.concept-bar nav a{font-size:10px;padding:11px 9px}
@media(max-width:1200px){.concept-bar .concept-label{display:none}.concept-bar{justify-content:center}}
@media(max-width:700px){.concept-bar nav{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.concept-bar nav a{font-size:9px;padding:6px 3px}.concept-bar nav a span{display:inline;margin-right:4px}}

@media(max-width:700px){.concept-bar nav{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Sandwich thumbnails: reserved photo space alongside readable menu details. */
.menu-item > .menu-item-copy{display:block;min-width:0}
.menu-item-title{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.sandwich-item{display:grid;grid-template-columns:110px minmax(0,1fr);gap:22px;align-items:center;min-height:158px}
.sandwich-item > .sandwich-photo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:110px;aspect-ratio:1;background:#f2e9d5;border:1px solid #302b2015;border-radius:8px;color:#817352}
.sandwich-photo svg{width:36px;height:36px}.sandwich-photo span{font:8px Arial,sans-serif;letter-spacing:1px}
.sandwich-item p{margin-top:9px;line-height:1.6}
@media(min-width:701px) and (max-width:1000px){.menu-items:has(.sandwich-item){grid-template-columns:1fr}}
@media(max-width:700px){.sandwich-item{grid-template-columns:80px minmax(0,1fr);gap:15px;align-items:start;min-height:0}.sandwich-item > .sandwich-photo{width:80px;border-radius:6px}.sandwich-photo svg{width:29px;height:29px}.sandwich-photo span{font-size:6px;letter-spacing:.7px}.sandwich-item h3{font-size:21px}.sandwich-item .menu-item-title{gap:8px;flex-wrap:wrap}.sandwich-item p{font-size:12px}}

.sandwich-photo{overflow:hidden}.sandwich-photo img{width:100%;height:100%;object-fit:cover}.sandwich-photo.is-placeholder{padding:11px;background:var(--accent)}.sandwich-photo.is-placeholder img{width:84%;height:84%;object-fit:contain}.menu-category-heading .image-note{font-size:11px;color:#74684f;margin-top:10px}

/* Francesco flavor story: native, keyboard-accessible disclosure. */
.sandwich-details{grid-column:1/-1;margin-top:-8px}
.sandwich-details summary{display:flex;align-items:center;justify-content:flex-end;gap:7px;cursor:pointer;font-size:12px;list-style:none;min-height:32px;text-decoration:underline;text-underline-offset:4px}
.sandwich-details summary::-webkit-details-marker{display:none}
.sandwich-details summary:focus-visible{outline:2px solid #a77b0b;outline-offset:4px;border-radius:3px}
.sandwich-details .learn-close{display:none}.sandwich-details[open] .learn-open{display:none}.sandwich-details[open] .learn-close{display:inline}
.detail-arrow{display:inline-block;text-decoration:none;transition:transform .2s}.sandwich-details[open] .detail-arrow{transform:rotate(180deg)}
.sandwich-story{background:#f4eddd;border-left:3px solid var(--accent);padding:20px 22px;margin-top:12px;border-radius:0 6px 6px 0}
.sandwich-story h4{font:21px/1.3 Georgia,serif;margin:0 0 10px}.sandwich-story p{max-width:none;margin:0;font-size:13px;line-height:1.75}
.menu-items:has(.sandwich-details){align-items:start}
.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:700px){.sandwich-details{margin-top:-5px}.sandwich-story{padding:18px}.sandwich-story h4{font-size:20px}}
@media(prefers-reduced-motion:reduce){.detail-arrow{transition:none}}

/* Compact sandwich rows while retaining comfortable disclosure targets. */
.sandwich-item{padding:16px 0;min-height:0;column-gap:18px;row-gap:4px}
.sandwich-item .sandwich-details{margin-top:0}
.sandwich-details summary{min-height:28px}
.sandwich-item p{margin-top:6px;line-height:1.5}
.sandwich-story{margin-top:8px;padding:16px 18px}
.sandwich-story p{margin:0;line-height:1.65}
@media(max-width:700px){.sandwich-item{padding:14px 0;column-gap:15px;row-gap:3px}.sandwich-item .sandwich-details{margin-top:0}.sandwich-details summary{min-height:32px}.sandwich-story{padding:15px}}
/* Bring the disclosure into the space beside the thumbnail. */
.sandwich-item .sandwich-details{margin-top:-25px}
.sandwich-details summary{width:max-content;margin-left:auto}
@media(max-width:700px){.sandwich-item .sandwich-details{margin-top:-8px}}

@media(max-width:700px){.concept-bar nav{grid-template-columns:repeat(2,minmax(0,1fr))}}

.namesake-story{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}
.sandwich-story>.namesake-story:first-child{margin-top:0;padding-top:0;border-top:0}
.namesake-story>img{width:100px;height:130px;object-fit:cover;border-radius:5px}
.namesake-story .namesake-label{font:9px Arial;letter-spacing:1.6px;margin:0 0 9px}
.namesake-story h4{font-size:24px;margin-bottom:5px}.namesake-story .namesake-relation{font:italic 13px/1.5 Georgia;margin-bottom:13px}
.namesake-story p+p{margin-top:10px}.namesake-story>small{grid-column:1/-1;font-size:10px;line-height:1.5;color:#74684f}
@media(max-width:700px){.namesake-story{grid-template-columns:1fr}.namesake-story>img{width:110px;height:135px}}

.catering-feature{align-items:center}.catering-feature figure{margin:0}.catering-feature figure img{width:100%;aspect-ratio:4/3;object-fit:cover}.catering-contact{border-top:1px solid var(--line);margin-top:30px;padding-top:25px}.catering-contact h3{font-size:22px}

/* Mobile specialty ribbon: slow auto-scroll with touch and keyboard control. */
@media(max-width:700px){
.ribbon.is-marquee{display:block;padding:0;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab}
.ribbon.is-marquee:active{cursor:grabbing}
.ribbon.is-marquee::-webkit-scrollbar{display:none}
.ribbon-track{display:flex;width:max-content;min-width:100%}
.ribbon-group{display:flex;align-items:center;flex:none;gap:24px;padding:20px 12px 20px 20px}
.ribbon-group:after{content:'✦';display:block;padding-left:4px}
}
/* Sticky primary navigation */
.site-header{position:sticky;top:0;z-index:100;background:var(--paper);transition:padding .2s ease,box-shadow .2s ease}
.site-header .brand img{transition:width .2s ease,height .2s ease}
.site-header.is-scrolled{padding-top:10px;padding-bottom:10px;box-shadow:0 8px 24px #302b2017}
.site-header.is-scrolled .brand img{width:55px;height:48px}
.admin-bar .site-header{top:32px}
.editor-styles-wrapper .site-header{position:relative;top:auto}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:700px){body.nav-open{overflow:hidden}.site-header.is-scrolled{padding:8px 5%}.site-header.is-scrolled .brand img{width:46px;height:40px}}
@media(prefers-reduced-motion:reduce){.site-header,.site-header .brand img{transition:none}}

/* WordPress layout integration */
.wp-site-blocks{width:100%;max-width:1500px;margin-inline:auto;padding:0}.wp-site-blocks>*,.wp-block-post-content>*{margin-block-start:0;margin-block-end:0}.wp-block-post-content{max-width:none}.wp-block-template-part{margin:0}.wp-site-blocks>.wp-block-template-part:first-child{display:contents}.wp-site-blocks>main{margin:0}
