/* Ver.2 photo treatment */
.logo{display:block;line-height:0}.logo img,.access h2 img{display:block;width:100%;height:auto;object-fit:contain}.header .logo{width:118px}.access h2{width:min(120px,30vw);font-size:initial;line-height:1;letter-spacing:normal}footer .logo{width:min(120px,30vw)}@media(min-width:700px){.header .logo{width:142px}.access h2{width:150px}footer .logo{width:160px}}
.champion-photo{margin:0;position:relative;min-height:240px;overflow:hidden;background:#111}.champion-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.champion-photo figcaption{position:absolute;z-index:1;bottom:10px;left:10px;color:#fff;font-size:.52rem;font-weight:800;letter-spacing:.08em;background:#101214bb;padding:5px}.story-photos{min-height:360px;position:relative}.story-photos img{position:absolute;display:block;object-fit:cover}.owner-photo{width:78%;height:265px;top:0;left:0}.florida-photo{width:48%;height:140px;right:0;bottom:0;border:7px solid var(--black)}.story-shop-photo{width:43%;height:125px;left:10%;bottom:0;border:7px solid var(--black)}.sandwich-photos{display:grid;grid-template-columns:1.4fr 1fr;gap:10px;margin-top:45px}.sandwich-photos img{width:100%;height:230px;object-fit:cover;display:block}.sandwich-photos img:last-child{object-position:70% center;margin-top:35px}.map-card{min-height:250px;position:relative;overflow:hidden;padding:0}.map-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.map-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#101214cc,transparent 60%)}.map-card div{position:absolute;z-index:1;left:17px;right:17px;bottom:17px;display:flex;justify-content:space-between;align-items:end}

/* Japanese display headings: normal-flow rows only. No overlap effects. */
.signature-photo,.beef-feature{margin:45px 0 0;max-width:540px}.signature-photo img,.beef-feature img{display:block;width:100%;height:auto;object-fit:contain}.beef-feature{max-width:420px;margin-left:auto}.beef-feature figcaption{margin-top:10px;font-size:.56rem;font-weight:800;letter-spacing:.08em;color:var(--blue)}
.photo-2024{aspect-ratio:3/4;min-height:0}.photo-2024 img{object-fit:cover;object-position:center center;background:transparent}
.hours-block{margin:24px 0 26px;display:grid;gap:22px}.hours-group{display:grid;grid-template-columns:1fr auto;column-gap:18px;align-items:baseline;border-top:1px solid rgba(16,18,20,.35);padding-top:12px}.hours-group strong{grid-column:1/-1;font-size:.72rem;letter-spacing:.1em;color:var(--blue);margin-bottom:5px}.hours-group span{font-size:.95rem;font-weight:800;line-height:1.45}.hours-group small{grid-column:2;font-size:.56rem;font-weight:800;letter-spacing:.08em;color:var(--blue);text-align:right}.hours-group.closed{grid-template-columns:1fr auto}.hours-group.closed span{font-size:1rem}.hours-group.closed small{grid-column:2}
.hero-hours{display:grid;grid-template-columns:1fr;row-gap:5px;margin-top:22px;max-width:350px;font-size:.72rem;line-height:1.35}.hero-hours strong{font-size:.7rem;letter-spacing:.1em;color:var(--yellow);margin-bottom:2px}.hero-hours span{font-weight:800}.hero-hours .hero-closed{margin-top:9px;margin-bottom:0}
@media(max-width:430px){.hero-hours{row-gap:4px;font-size:.76rem}}
.hero-photo{background-image:linear-gradient(90deg,rgba(8,9,10,.88),rgba(8,9,10,.52) 43%,rgba(8,9,10,.1)),url('assets/web/hero/florida-festival.jpeg');background-position:center}
.hero-photo::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 34% 56% at 78% 50%,rgba(255,221,178,.2) 0%,rgba(255,221,178,.1) 38%,rgba(255,221,178,0) 74%)}
.making-feature{display:grid;gap:24px;margin-top:55px;padding-top:22px;border-top:1px solid rgba(16,18,20,.25)}.making-kicker{margin:0 0 10px;color:var(--blue);font-size:.62rem;font-weight:900;letter-spacing:.1em}.making-copy h3{margin:0;font-size:clamp(2rem,6vw,4.5rem);line-height:.92;letter-spacing:-.08em}.making-photos{display:grid;grid-template-columns:1.1fr .9fr;gap:10px}.making-photos img{display:block;width:100%;height:280px;object-fit:cover}.recognition-note{max-width:380px;margin:50px 0 0}.recognition-note img{display:block;width:100%;height:auto;object-fit:contain}.recognition-note figcaption,.gallery-grid figcaption{margin-top:8px;color:var(--blue);font-size:.56rem;font-weight:800;letter-spacing:.1em}.gallery-section{background:var(--black);color:#fff}.gallery-section .label{color:var(--yellow)}.gallery-section h2 em{color:var(--yellow);font-style:normal}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:48px}.gallery-grid figure{margin:0}.gallery-grid img{display:block;width:100%;height:300px;object-fit:cover}.gallery-grid figcaption{color:var(--yellow)}
@media(min-width:700px){.making-feature{grid-template-columns:.75fr 1.25fr;align-items:start}.making-photos img{height:360px}.recognition-note{max-width:300px;margin-left:auto}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}.gallery-grid img{height:380px}}
@media(max-width:430px){.making-photos{grid-template-columns:1fr}.making-photos img{height:auto;aspect-ratio:4/5}.gallery-grid{grid-template-columns:1fr;gap:24px}.gallery-grid img{height:auto;aspect-ratio:4/3}.recognition-note{max-width:100%}}
@media(max-width:699px){.hero-photo::after{background:radial-gradient(ellipse 42% 48% at 76% 46%,rgba(255,221,178,.14) 0%,rgba(255,221,178,.06) 38%,rgba(255,221,178,0) 72%)}}
.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:45px;align-items:start}.photo-gallery .sandwich-photos{display:contents}.photo-gallery .sandwich-photos img{width:100%;height:auto;aspect-ratio:1/1.12;object-fit:cover;margin:0!important}.photo-gallery .beef-feature{width:100%;max-width:none;margin:0}.photo-gallery .beef-feature img{width:100%;height:auto;aspect-ratio:1086/1448;object-fit:contain}.photo-gallery .beef-feature figcaption{margin-top:8px}
.photo-gallery .sandwich-photos img.menu-full{aspect-ratio:auto;object-fit:contain;background:transparent}
@media(max-width:699px){.photo-gallery{grid-template-columns:1fr;gap:18px}.photo-gallery .sandwich-photos img{aspect-ratio:auto}.photo-gallery .beef-feature img{max-height:none}}
.champion-heading,.signature-heading{display:flex;flex-direction:column;align-items:flex-start;gap:.1em;max-width:100%;margin:0 0 45px;position:static;transform:none;overflow:visible;font-weight:1000;letter-spacing:-.075em}.champion-heading-main,.champion-heading-accent,.signature-heading-small,.signature-heading-main{position:static;transform:none;margin:0;min-height:auto;height:auto;line-height:1.04;white-space:normal;overflow-wrap:anywhere;word-break:normal}.champion-heading{font-size:clamp(4.5rem,8.7vw,10.625rem)}.champion-heading-main{color:var(--black)}.champion-heading-accent{color:var(--red)}.signature-kicker{margin:0 0 15px;color:var(--blue);font-size:.72rem;font-weight:900;letter-spacing:.08em}.signature-heading{font-size:clamp(4.5rem,8.2vw,10rem)}.signature-heading-small,.signature-heading-main{color:var(--black)}

@media(max-width:430px){.champion-heading{font-size:clamp(2.3rem,10.5vw,3.2rem);gap:.12em;margin-bottom:38px;letter-spacing:-.06em}.signature-heading{font-size:clamp(2.3rem,10vw,3.2rem);gap:.12em;margin-bottom:38px;letter-spacing:-.055em}.champion-heading-main,.champion-heading-accent,.signature-heading-small,.signature-heading-main{line-height:1.1;max-width:100%}.signature-kicker{margin-bottom:12px}}
@media(max-width:390px){.champion-heading{font-size:2.3rem;gap:.14em}.signature-heading{font-size:2.25rem;gap:.14em}.champion-heading-main,.champion-heading-accent,.signature-heading-small,.signature-heading-main{line-height:1.12}}
@media(max-width:375px){.champion-heading{font-size:2.22rem}.signature-heading{font-size:2.15rem}.champion-heading-main,.champion-heading-accent,.signature-heading-small,.signature-heading-main{line-height:1.14}}

@media(min-width:700px){.champion-grid{grid-template-columns:260px 260px 1fr}.champion .text{grid-column:3;grid-row:1/3}.story-photos{min-height:460px}.owner-photo{height:365px}.florida-photo{height:185px}.story-shop-photo{height:165px}.sandwich-photos{max-width:960px;grid-template-columns:1.6fr 1fr}.sandwich-photos img{height:390px}.map-card{min-height:300px}}

/* Keep the header mark independent from the hero copy. */
.header{padding:18px 20px;justify-content:flex-end}.hero-copy{padding-top:110px}.hero-brand-logo{display:block;width:70px;height:auto;object-fit:contain;margin:0 0 20px}
@media(min-width:700px){.header{padding:28px 48px}.hero-copy{padding-top:140px}.hero-brand-logo{width:96px;margin-bottom:20px}}

.buttons{gap:10px}.buttons .btn{min-height:56px}.buttons .instagram{flex:0 0 100%}.buttons .x,.buttons .access-btn{flex:1}.access-btn{background:var(--blue);color:#fff}
@media(min-width:700px){.buttons .instagram,.buttons .x,.buttons .access-btn{flex:0 1 auto}}

/* Section number / English kicker labels are intentionally omitted. */
.section > .label{display:none}
.section{padding-top:58px}
@media(min-width:700px){.section{padding-top:90px}}
.photo-gallery .sandwich-photos img.menu-full{object-fit:contain;background:transparent;aspect-ratio:auto}
@media(min-width:700px){.recognition-note{max-width:440px}}
.recognition-note{position:static;margin-top:76px;padding:0;border:0}.recognition-note .recognition-caption{position:static;display:block;width:100%;margin:0 0 10px;padding:13px 15px;background:#d7b347;color:var(--black);line-height:1.25;letter-spacing:normal}.recognition-caption small{display:block;margin:0 0 3px;color:var(--black);font-size:.6rem;font-weight:800;letter-spacing:.08em}.recognition-caption strong{display:block;font-size:.9rem;font-weight:900;white-space:nowrap}@media(min-width:700px){.recognition-note .recognition-caption{padding:15px 17px}.recognition-caption small{font-size:.66rem}.recognition-caption strong{font-size:1rem}}@media(max-width:699px){.recognition-note{margin-top:56px}.recognition-note .recognition-caption{padding:12px 13px}.recognition-caption strong{font-size:.84rem}}
.stamp,.press,.signature-kicker,.champion .text small{display:none}
.map-card img{object-position:center 56%}
.hero-photo{background-image:linear-gradient(90deg,rgba(8,9,10,.88),rgba(8,9,10,.52) 43%,rgba(8,9,10,.1)),url('assets/web/hero/florida-festival.jpeg')}
.story-title > p{display:none}
.photo-gallery .sandwich-photos img.menu-full,
.photo-gallery .beef-feature img{height:390px;aspect-ratio:auto;object-fit:contain;background:transparent}
@media(max-width:699px){
  .photo-gallery .sandwich-photos img.menu-full,
  .photo-gallery .beef-feature img{height:440px}
}
@media(min-width:700px){
  .sandwich{padding-left:6vw;padding-right:6vw}
  .photo-gallery{gap:8px}
  .photo-gallery .sandwich-photos img.menu-full,
  .photo-gallery .beef-feature img{height:500px}
}
@media(max-width:699px){
  .photo-gallery{gap:14px}
  .photo-gallery .sandwich-photos img.menu-full,
  .photo-gallery .beef-feature img{height:500px}
}

/* Shared Japanese/system fallback stack for desktop and iPhone Safari. */
body{font-family:Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}
.seo-heading-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Show supplied photos at their natural ratio; award cards stretch to each photo's row. */
.champion-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;margin-top:45px}.champion-awards{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:14px;align-items:stretch}.year{min-height:0;height:100%}.champion-photo{position:static;min-height:0;overflow:visible;background:transparent}.champion-photo img{position:static;display:block;width:100%;height:auto;object-fit:contain;object-position:center;background:transparent}.champion-photo figcaption{display:none}.photo-2024{aspect-ratio:auto}.photo-2024 img{object-fit:contain}.champion .text{grid-column:auto;margin:0;max-width:540px}.story-photos{min-height:0;position:static;display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.story-photos img,.owner-photo,.story-connection-photo{position:static;display:block;width:100%;height:auto;object-fit:contain;border:0}.making-copy h3{line-height:1.1}.ingredient-copy span{white-space:nowrap}

@media(min-width:700px){.champion-grid{grid-template-columns:minmax(0,1.65fr) minmax(220px,.7fr);gap:42px;align-items:start}.champion-awards{grid-template-columns:220px minmax(0,1fr);gap:22px}.champion .text{grid-column:auto;grid-row:auto;margin:0;padding:0}.story-photos{gap:28px}.story-connection-photo{width:78%;justify-self:end}}

@media(max-width:699px){html,body{max-width:100%;overflow-x:clip}.section,.champion-grid,.champion-awards,.story-grid,.story-photos,.access-grid,.gallery-grid,.making-feature,.making-photos{min-width:0}.champion-photo,.champion-photo img,.story-photos img,.gallery-grid img,.map-card,.map-card img,.making-photos img,.sandwich-photos img{max-width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.champion-photo img,.story-photos img,.gallery-grid img,.map-card img,.making-photos img,.sandwich-photos img{position:static;display:block;width:100%}.map-card{min-height:0;padding:0;background:transparent;overflow:visible}.map-card:after{display:none}.map-card div{left:14px;right:14px;bottom:14px}.story-connection-photo{width:100%}.making-copy h3{font-size:clamp(2rem,10vw,3rem);line-height:1.12;letter-spacing:-.065em;overflow-wrap:normal}.ingredient-copy br{display:block}}

/* Award-card type: retain the desktop weight, but fit the narrow mobile card. */
@media(max-width:699px){.year{padding:14px 10px}.year strong{font-size:clamp(2rem,9.25vw,2.25rem);letter-spacing:-.08em;line-height:1}.year b{font-size:.82rem;line-height:.9;letter-spacing:-.055em;white-space:normal;overflow-wrap:normal}.year small{font-size:.58rem;letter-spacing:.07em;white-space:nowrap}}

/* Mobile display headings: two deliberate rows, with the existing heavy weight retained. */
@media(max-width:699px){.signature-heading{font-weight:800}.champion-heading{font-size:36px;font-weight:900;letter-spacing:-.055em;gap:.12em;margin-bottom:38px;-webkit-text-stroke:.25px currentColor}.making-copy h3{font-size:2rem;font-weight:800;line-height:1.12;letter-spacing:-.08em;white-space:nowrap}.signature-heading-small,.signature-heading-main,.champion-heading-main,.champion-heading-accent{white-space:nowrap;overflow-wrap:normal}.hero-photo{background-position:76% center}}

/* MENU social links: equivalent, side-by-side actions with a shared arrow alignment. */
.menu-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:460px}.menu-actions .btn{width:100%;min-width:0}.menu-actions .btn.menu-x{background:var(--black);color:#fff}

/* MENU uses the lightweight web-ready image set. */
.menu-photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:32px 0}.menu-photo-gallery figure{margin:0}.menu-photo-gallery img{display:block;width:100%;height:300px;object-fit:contain;background:transparent}
@media(max-width:768px){.menu-photo-gallery{grid-template-columns:1fr;gap:14px;margin:24px 0}.menu-photo-gallery img{height:auto;object-fit:contain}}
@media(min-width:769px){.menu-photo-gallery img{height:450px}}

/* iPhone Safari: use a Japanese system face with an explicit heavyweight for display headings. */
@media(max-width:768px){.signature-heading,.champion-heading,.making-copy h3{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif;font-weight:900!important;font-synthesis:weight}}

/* Mobile display-scale adjustment: preserve the established two-line composition. */
@media(max-width:768px){.signature-heading{font-size:44px;line-height:1.1}.champion-heading{font-size:43px;line-height:1.1}.making-copy h3{width:100%;max-width:100%;font-size:32px;line-height:1.12;letter-spacing:.01em;word-break:keep-all;overflow-wrap:normal}}

/* Desktop display-scale adjustment. */
@media(min-width:769px){.signature-heading{font-size:clamp(4rem,7.2vw,8.5rem)}.champion-heading{font-size:clamp(4rem,7.65vw,9rem)}.making-copy h3{font-size:38px;line-height:1.12}.sandwich-grid{grid-template-columns:1.09fr 1.01fr}}

/* Signature copy: enlarge only the two Japanese body paragraphs. */
.sandwich-grid>.text>p{font-size:18.5px;line-height:1.8}.sandwich-grid>.text>p:first-child{font-size:20px;line-height:1.75}
@media(max-width:768px){.sandwich-grid>.text>p{font-size:17px;line-height:1.8}.sandwich-grid>.text>p:first-child{font-size:18px;line-height:1.75}}

/* Editorial copy: enlarge only the WORLD CHAMPION and STORY body text. */
.champion .text{font-size:20px;line-height:1.8}.story .text{font-size:19px;line-height:1.8}
@media(max-width:768px){.champion .text,.story .text{font-size:17px;line-height:1.85}}
.mobile-story-intro{display:none}
@media(max-width:768px){.desktop-story-intro{display:none}.mobile-story-intro{display:inline}}
.mobile-only-break{display:none}
@media(max-width:768px){.mobile-only-break{display:block}.champion .text p:nth-child(2){letter-spacing:-.01em}}
.desktop-only-break{display:none}
@media(max-width:768px){.ingredient-copy .desktop-only-break{display:none}}

/* MENU actions: keep the full labels on desktop and concise one-line labels on mobile. */
.mobile-menu-label{display:none}
@media(max-width:768px){.menu-actions .btn{white-space:nowrap}.menu-actions .desktop-menu-label{display:none}.menu-actions .mobile-menu-label{display:inline}}

.desktop-making-heading{display:inline}.mobile-making-heading{display:none}
@media(max-width:768px){.desktop-making-heading{display:none}.mobile-making-heading{display:inline}}

/* Give the mobile HERO mark a modest increase without matching the footer mark. */
@media(max-width:768px){.hero-brand-logo{width:80px;height:auto}}
