/* Editorial upgrade: authentic store photography and stories of discovery. */
.hero-art{isolation:auto}
.hero-art img{border-radius:0!important;transform:none!important;max-width:none;width:110%;-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 6%,#000 93%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 6%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 6%,#000 93%,transparent);mask-composite:intersect}
.hero-inner{gap:30px}.hero{background:#fae0bd}
figure{margin:0}.text-button{border:0;background:transparent;padding:0;color:inherit;cursor:pointer;font-family:var(--body)}
.discovery-teaser{padding:72px 0;background:var(--paper);border-top:1px solid var(--line)}
.discovery-teaser-inner{display:grid;grid-template-columns:1fr 3fr;gap:45px}
.discovery-teaser h2{font-size:clamp(1.9rem,3.4vw,3.2rem);line-height:1.12}.discovery-teaser h2 span{color:var(--red)}
.discovery-teaser p{margin:25px 0;max-width:650px}.discovery-teaser .eyebrow{padding-top:10px}
.store-home{display:grid;grid-template-columns:1.2fr 1fr;background:var(--cream)}
.store-home-photo{overflow:hidden;min-height:590px}.store-home-photo img{height:100%;width:100%;object-fit:cover;object-position:46% center}
.store-home-copy{padding:64px clamp(30px,5vw,80px)}.store-home-copy h2{margin-bottom:28px;font-size:clamp(1.9rem,3.1vw,3.1rem);line-height:1.12}.store-home-copy h2 span{color:var(--red)}
.store-home-copy>p{font-size:.98rem}.store-home-address{border-top:1px solid var(--line);margin-top:30px;padding-top:25px;font-size:.88rem}.store-home-address strong{display:block;margin-bottom:8px}.store-home-copy .btn{font-size:.8rem;padding:16px 18px;gap:12px}
.occasions{background:var(--paper)}.occasion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.occasion-image{position:relative;aspect-ratio:4/3;overflow:hidden;margin-bottom:25px;border-radius:0 0 60px 0}.occasion-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.occasion-card:hover .occasion-image img{transform:scale(1.03)}.occasion-card h3{font-size:1.32rem;line-height:1.17;margin-bottom:18px;min-height:50px}.occasion-card p{font-size:.9rem;line-height:1.75}.occasion-card .text-link{font-size:.84rem;margin-top:22px}
.social-hub{background:var(--green)}.social-hub-inner{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.social-hub h2{font-size:clamp(2rem,3vw,3.2rem);margin-bottom:22px}.social-hub p{max-width:390px;font-size:.97rem}.social-destinations{display:grid}.social-destinations a{display:flex;align-items:center;gap:25px;padding:28px 5px;border-top:1px solid var(--ink);transition:padding .2s}.social-destinations a:last-child{border-bottom:1px solid var(--ink)}.social-destinations a:hover{padding-left:15px}.social-destinations strong{font-family:var(--font);font-size:1.6rem;line-height:1}.social-destinations small{display:block;margin-top:10px;font-size:.83rem}.social-destinations .arrow{margin-left:auto;font-size:1.8rem}.social-symbol{font:2.9rem/1 Arial}
.discovery-hero{background:var(--cream);overflow:hidden}.discovery-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-top:70px;padding-bottom:70px}.discovery-hero h1{font-size:clamp(3rem,5.2vw,5rem);line-height:1.05;margin-bottom:28px}.discovery-hero h1 span{color:var(--red)}.discovery-hero p{max-width:440px}.discovery-hero figure{position:relative}.discovery-hero figure img{aspect-ratio:1/1;object-fit:cover;border-radius:0 0 100px 100px}.discovery-hero figcaption{font-size:.73rem;margin-top:16px}
.discovery-belief{padding-top:110px;padding-bottom:100px}.discovery-belief h2{font-size:clamp(2.3rem,4.1vw,4.25rem);line-height:1.14;max-width:1130px}.discovery-belief h2 span{color:var(--red)}.belief-copy{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:48px;max-width:1000px;margin-left:auto}.belief-copy p{font-size:1rem;line-height:1.85}
.discovery-principles{background:var(--yellow)}.editorial-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;margin-top:50px}.editorial-three article{border-top:1px solid var(--ink);padding-top:26px}.editorial-three h3{font-size:1.65rem;line-height:1.15;margin:0 0 22px}.editorial-three p{font-size:.95rem}
.taste-journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.taste-photo{position:relative;background:#e9e7e4;overflow:hidden;border-radius:0 0 150px 150px}.taste-photo img{width:100%;aspect-ratio:1/1.08;object-fit:cover}.taste-photo>span{display:block;text-align:center;font-size:.73rem;padding:0 20px 35px}.taste-journey h2{font-size:clamp(1.9rem,3vw,3rem);line-height:1.15;margin-bottom:24px}.taste-stops{margin:28px 0}.taste-stops article{border-top:1px solid var(--line);display:grid;grid-template-columns:115px 1fr;gap:18px;padding:18px 0}.taste-stops span{font-family:var(--font);font-size:1rem;line-height:1.4}.taste-stops p{font-size:.86rem}.taste-journey .btn{font-size:.84rem}
.story-place{display:grid;grid-template-columns:1fr 1fr;background:var(--cream)}.story-place>div:first-child img{height:100%;width:100%;object-fit:cover;min-height:580px}.story-place-copy{padding:70px clamp(30px,5vw,80px)}.story-place h2{margin-bottom:28px;font-size:clamp(2rem,3.1vw,3.1rem);line-height:1.12}.story-place p+p{margin-top:20px}.story-place .btn{margin-top:32px}
.restaurant-hero{padding-top:60px;background:var(--cream)}.restaurant-title{display:flex;align-items:end;justify-content:space-between;gap:55px;margin-bottom:45px}.restaurant-title h1{font-size:clamp(2.5rem,4.3vw,4.4rem);line-height:1.1;min-width:0}.restaurant-title h1 span{color:var(--red)}.restaurant-title p{max-width:310px;font-size:.95rem;flex-shrink:0}.restaurant-photo{overflow:hidden;border-radius:0 0 100px 100px}.restaurant-photo img{width:100%;aspect-ratio:2.05;object-fit:cover;object-position:center 61%}
.restaurant-information h2{margin-bottom:28px;font-size:clamp(2rem,3vw,3rem)}.restaurant-information .location-grid{align-items:center;gap:90px}.restaurant-information .location-grid>div>p{max-width:450px}.restaurant-information p+p{margin-top:22px}.restaurant-information .store-card{border:1px solid var(--line);background:var(--cream)}.restaurant-information .store-card h2{font-size:2rem}
.store-details{background:var(--cream)}.store-gallery{display:grid;grid-template-columns:1.4fr .6fr;gap:28px}.store-gallery figure{overflow:hidden}.store-gallery figure:first-child{grid-column:1;grid-row:1}.store-gallery figure:nth-child(2){grid-column:2;grid-row:1/3}.store-gallery figure:last-child{grid-column:1;grid-row:2}.store-gallery img{width:100%;aspect-ratio:1.8;object-fit:cover}.store-gallery .gallery-detail img{height:calc(100% - 38px);aspect-ratio:auto;object-position:57% center}.store-gallery figcaption{font-size:.76rem;margin-top:12px}
.quick-faq .btn{margin-top:22px}.franchise-wide-image img{object-position:center 60%}
@media(max-width:1100px){.social-hub-inner{gap:45px}.discovery-hero-grid,.taste-journey-grid{gap:45px}.restaurant-title{display:block}.restaurant-title p{max-width:620px;margin-top:25px}.occasion-grid{gap:20px}.occasion-card h3{font-size:1.08rem}.store-home-copy{padding:45px 30px}.editorial-three{gap:28px}.editorial-three h3{font-size:1.45rem}.store-home-photo{min-height:540px}.discovery-teaser-inner{grid-template-columns:1fr 3.5fr}.restaurant-information .location-grid{gap:40px}}
@media(max-width:680px){.hero-art{margin:0 -20px}.hero-art img{width:100%;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 6%,#000 94%,transparent)}.hero-inner{gap:0}.discovery-teaser{padding:45px 0}.discovery-teaser-inner{grid-template-columns:1fr;gap:14px}.discovery-teaser .eyebrow{margin-bottom:0;padding:0}.discovery-teaser h2{font-size:1.6rem;line-height:1.2}.discovery-teaser p{font-size:.94rem;margin:22px 0}.discovery-teaser .btn{font-size:.8rem}.store-home{grid-template-columns:1fr}.store-home-photo{min-height:0;height:310px}.store-home-copy{padding:38px 20px 44px}.store-home-copy h2{font-size:2rem}.store-home-copy .btn{font-size:.78rem}.occasion-grid{grid-template-columns:1fr;gap:40px}.occasion-image{aspect-ratio:1.4;margin-bottom:22px}.occasion-card h3{min-height:0;font-size:1.4rem;margin-bottom:16px}.occasion-card p{font-size:.94rem}.occasion-card .text-link{margin-top:18px}.occasions .section-heading h2{font-size:1.9rem;line-height:1.15}.social-hub-inner{grid-template-columns:1fr;gap:32px}.social-hub h2{font-size:2.1rem;line-height:1.1}.social-destinations strong{font-size:1.4rem}.social-symbol{font-size:2.6rem}.social-destinations a{padding:24px 4px;gap:20px}.discovery-hero-grid{grid-template-columns:1fr;gap:32px;padding-top:40px;padding-bottom:38px}.discovery-hero h1{font-size:clamp(2.2rem,10.45vw,3rem)}.discovery-hero p{font-size:.98rem}.discovery-hero figure img{aspect-ratio:1.1;border-radius:0 0 65px 65px}.discovery-hero figcaption{font-size:.71rem}.discovery-belief{padding:55px 0}.discovery-belief h2{font-size:1.8rem;line-height:1.25}.discovery-belief h2 br{display:none}.belief-copy{grid-template-columns:1fr;gap:23px;margin-top:30px}.belief-copy p{font-size:.96rem;line-height:1.85}.editorial-three{grid-template-columns:1fr;gap:32px;margin-top:30px}.editorial-three h3{font-size:1.65rem;margin:0 0 17px}.editorial-three h3 br{display:none}.editorial-three p{font-size:.97rem}.taste-journey-grid{grid-template-columns:1fr;gap:38px}.taste-photo{border-radius:0 0 85px 85px}.taste-photo img{aspect-ratio:1.25}.taste-photo>span{padding-bottom:24px}.taste-journey h2{font-size:2rem}.taste-stops article{grid-template-columns:85px 1fr;gap:20px}.taste-stops span{font-size:.94rem}.taste-stops p{font-size:.88rem}.taste-journey .btn{font-size:.78rem}.story-place{grid-template-columns:1fr}.story-place>div:first-child img{min-height:0;height:320px}.story-place-copy{padding:40px 20px 45px}.story-place h2{font-size:2.1rem}.story-place-copy p{font-size:.95rem}.restaurant-hero{padding-top:37px}.restaurant-title{margin-bottom:30px}.restaurant-title h1{font-size:2rem;line-height:1.15}.restaurant-title p{font-size:.95rem;margin-top:23px}.restaurant-photo{margin-inline:-20px;border-radius:0}.restaurant-photo img{aspect-ratio:1.15;object-position:42% center}.restaurant-information .location-grid{gap:32px}.restaurant-information h2{font-size:2.2rem}.restaurant-information p{font-size:.96rem}.store-details .section-heading h2{font-size:1.8rem;line-height:1.15}.store-gallery{grid-template-columns:1fr;gap:27px}.store-gallery figure:nth-child(n){grid-column:auto;grid-row:auto}.store-gallery img{aspect-ratio:1.25}.store-gallery .gallery-detail img{height:260px;object-position:center 55%}.store-gallery figcaption{font-size:.73rem}.franchise-wide-image img{object-position:center center}.franchise-photo img{object-position:center center}}

/* Product photographs stay still; the card retains its original silhouette. */
.category-preview .category-card>img{transform:none;transition:none;height:auto;aspect-ratio:3/2;object-fit:cover}
.category-card.product-category>img{background:var(--green);padding:0;object-fit:cover}
.category-card h3{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;line-height:1.12}
.category-card h3 .arrow{float:none;flex-shrink:0}
.category-card:focus-visible h3,.category-card:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
/* Match the crisp card shadow used in the corporate landing. */
.category-preview .category-card{transition:box-shadow .2s}
.category-preview .category-card:focus-visible{box-shadow:0 6px 0 var(--ink)}
@media(hover:hover) and (pointer:fine){.category-preview .category-card:hover{box-shadow:0 6px 0 var(--ink)}}
.discovery-still-life img{object-position:center;background:var(--cream)}
@media(max-width:680px){.discovery-hero figure .discovery-still-life img{aspect-ratio:4/5;object-fit:cover;border-radius:0 0 65px 65px}}

/* A typographic invitation separates expansion from the photographed Ravenna store. */
.franchise-invitation{background:var(--red);color:#171717;padding:78px 0 72px}
.franchise-invitation .eyebrow{margin-bottom:36px}
.franchise-invitation h2{font-size:clamp(2.6rem,5.4vw,5.3rem);line-height:1.08;letter-spacing:-.04em}
.franchise-invitation h2 span{color:var(--paper)}
.franchise-invitation-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:clamp(36px,7vw,100px);margin-top:48px;padding-top:32px;border-top:1px solid rgba(23,23,23,.35)}
.franchise-invitation-copy{max-width:690px;font-size:1rem;line-height:1.75}
.franchise-invitation-copy p+p{margin-top:16px}
.franchise-invitation .btn{color:var(--ink);align-self:end;font-size:.86rem;white-space:nowrap;min-height:58px}
.franchise-invitation .btn:focus-visible{outline-color:var(--paper)}
@media(max-width:900px){.franchise-invitation-bottom{grid-template-columns:1fr;gap:28px}.franchise-invitation .btn{justify-self:start}.franchise-invitation-copy{max-width:650px}}
@media(max-width:680px){.franchise-invitation{padding:48px 0 50px}.franchise-invitation .eyebrow{font-size:.71rem;margin-bottom:28px}.franchise-invitation h2{font-size:clamp(1.85rem,6.9vw,2.9rem);line-height:1.13}.franchise-invitation h2 span{display:inline-block;margin-top:6px;font-size:1.5em}.franchise-invitation-bottom{margin-top:30px;padding-top:24px;gap:26px}.franchise-invitation-copy{font-size:.94rem;line-height:1.75}.franchise-invitation .btn{width:100%;white-space:normal;text-align:left;justify-content:space-between;font-size:.79rem;gap:14px;padding:18px}.franchise-invitation .btn .arrow{flex-shrink:0}}

/* Preserve the complete supplied Osaka artwork, including its title and price. */
.taste-photo.taste-poster{background:transparent;border-radius:0;overflow:visible}
.taste-photo.taste-poster img{width:100%;height:auto;aspect-ratio:1043/1326;object-fit:contain}
.taste-photo.taste-poster>span{padding:14px 0 0}
