/* Image-only integration; approved geometry and copy retained. */
.how .steps .step-icon{background:transparent!important;clip-path:none;box-shadow:none!important}
.how .steps .step-icon img{width:100%;height:100%;object-fit:contain}

.how .steps .step-icon{width:144px;height:144px;padding:0!important;margin-left:0!important;justify-content:start}
.how .steps .step-icon img{object-position:left center}
@media(max-width:900px){.how .steps article{grid-template-columns:92px minmax(0,1fr)}.how .steps .step-icon{width:92px;height:92px}}
.how .steps article:nth-child(3) .step-icon img{transform:translateY(8px)}
@media(max-width:900px){.how .steps article:nth-child(3) .step-icon img{transform:translateY(5px)}}

.opening-image{background:linear-gradient(90deg,#181d2040,#181d20b3 30%,#181d20b3 70%,#181d2040),url(assets/images/opening-brush-r01.webp) center/cover!important}
.food-group{background:#292d2d url(assets/images/foods-brush-r01.webp) center/contain no-repeat!important}
@media(max-width:600px){.opening-image{background:linear-gradient(#181d2055,#181d20b3 25%,#181d20b3 80%,#181d2066),url(assets/images/opening-brush-r01.webp) 68% center/cover!important}}

.town-photo{background:#292d2d url(assets/images/course-brush-r01.webp) center/cover no-repeat!important}
.closing{background:linear-gradient(#181d2044,#181d2077),url(assets/images/closing-brush-r01.webp) center/cover!important}
.closing{background:#181d20 url(assets/images/closing-brush-r01.webp) center/cover!important}
.closing .closing-shade{display:block;background:rgba(0,0,0,.55);pointer-events:none}

/* User: Japanese step numerals in Mincho. */
.how .steps article>span{font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-style:normal;font-weight:700}

/* Pro final QA: preserve the complete image without placeholder letterboxing. */
.cans-section .food-group{display:block;aspect-ratio:auto;min-height:0;background:none!important;border:0!important;clip-path:none}
.cans-section .food-group img{display:block;width:100%;height:auto;border-radius:0}
.cans-section .food-group{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
/* Full-bleed food image, including browsers with classic scrollbars. */
.cans-section{padding-left:0;padding-right:0}
.cans-section>h2{margin-left:7%;margin-right:7%}
.cans-section .food-group{width:100%;margin-left:0;margin-right:0}
/* Narrow layouts: clear image -> copy flow, without an inset clipped card. */
@media(max-width:900px){
 .town-story{padding:0;display:block;background:var(--ui-ink)}
 .town-story .town-photo{position:relative;inset:auto;width:100%;margin:0}
 .town-story .story-panel{width:100%;max-width:none;margin:0;padding:40px 7% 48px;clip-path:none;background:var(--ui-ink)!important}
}

.heading-phrase{display:inline-block;white-space:nowrap}.food-heading-break{display:none}
@media(max-width:600px){.food-heading-break{display:block}.town-story .story-panel h2{font-size:clamp(24px,7vw,31px);letter-spacing:.08em}.cans-section>h2{font-size:clamp(19px,5vw,28px);letter-spacing:.05em;text-wrap:initial}.how>h2{font-size:clamp(24px,6.6vw,30px);text-wrap:initial}}

.how-heading-break{display:none}
@media(max-width:600px){.how-heading-break{display:block}.how>h2{font-size:clamp(23px,6.3vw,30px);letter-spacing:.06em}}

/* User final: food heading stays on one line at every width. */
.cans-section>h2{white-space:nowrap;text-wrap:nowrap;font-size:clamp(14px,4.1vw,36px);letter-spacing:.04em}

/* Keep the one-line title readable by using the available width. */
@media(max-width:600px){.cans-section>h2{margin-left:8px;margin-right:8px;font-size:clamp(20px,6.25vw,28px);letter-spacing:0}}
/* User final: food visual joins the closing landscape directly. */
.cans-section{padding-bottom:0}
