/* Public homepage: readable comic panels and consistent symbols at every size. */
.site-shell .section-pad{padding-block:clamp(56px,6.5vw,96px)}
.site-shell :is(.story-lead h2,.section-heading-row h2,.menu-heading h2,.flavor-heading h2,.news-heading h2,.ambience-heading h2,.contact-content h2){font-size:clamp(2.8rem,5.6vw,5.5rem);line-height:1.04;overflow-wrap:break-word;text-wrap:balance}
.site-shell :is(.section-heading-row,.menu-heading,.news-heading,.ambience-heading){gap:clamp(24px,4vw,54px)}
.site-shell :is(.story-lead>p,.section-heading-row>p,.menu-heading>p,.ambience-heading>p){font-size:1.0625rem;line-height:1.65}
.site-shell :is(.section-kicker,.tiny-label){line-height:1.5}
.site-shell .comic-button{min-height:50px;padding:13px 18px;gap:10px}
.site-shell .comic-button>svg{display:block;flex:0 0 22px;width:22px;height:22px;min-width:22px;max-width:22px;aspect-ratio:1}
.site-shell .story-grid{gap:clamp(28px,5vw,64px)}
.site-shell .speech-card{border-radius:34px 58px 38px 58px;padding:clamp(30px,4vw,52px);transform:rotate(1deg)}
.site-shell .speech-card blockquote{font-size:clamp(2rem,3.3vw,3rem);line-height:1.12}
.site-shell .speech-card>p{width:100%;font-size:.8125rem;line-height:1.65;margin:24px 0 0}
.site-shell .speech-card::after{width:30px;height:30px;bottom:-22px;right:46px}
.site-shell .flavor-heading{padding-bottom:40px}
.site-shell .gallery-card{min-height:0;aspect-ratio:4/5}
.site-shell .gallery-overlay h3{font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.1}
.site-shell .gallery-overlay p{line-height:1.5}
.site-shell .pillar-grid{gap:24px;margin-top:36px}
.site-shell .pillar-card{min-height:245px;padding:24px;gap:16px}
.site-shell .pillar-card h3{font-size:clamp(1.9rem,2.7vw,2.8rem);line-height:1.07;margin:auto 0 0}
.site-shell .pillar-card p{font-size:.9375rem;line-height:1.55}
.site-shell .menu-workspace{gap:28px}
.site-shell .interactive-menu{min-height:0;padding:clamp(20px,2.8vw,36px)}
.site-shell .interactive-menu-head h3{font-size:clamp(2.4rem,4vw,3.8rem);line-height:1.06;overflow-wrap:break-word}
.site-shell .menu-item-card{transform:none!important;min-height:220px;padding:20px;gap:20px}
.site-shell .menu-item-card h4{font-size:clamp(1.55rem,2.1vw,2rem);line-height:1.1}
.site-shell .menu-item-card p{font-size:.9375rem;line-height:1.5}
.site-shell .menu-item-footer{gap:14px;align-items:center}
.site-shell .add-item-button{min-height:44px;padding:10px 14px}
.site-shell .menu-item-card select{min-height:44px;font-size:16px;line-height:1.35;white-space:normal}
.site-shell .official-menu-card{transform:none}
.site-shell .official-menu-label{align-items:center}
.site-shell .official-menu-label>svg{min-width:46px;flex:0 0 46px;aspect-ratio:1}
.site-shell .official-menu-card>p{font-size:.8125rem;line-height:1.5}
.site-shell .news-grid{margin-top:36px;gap:24px}
.site-shell .news-card{min-height:320px;padding:24px;gap:18px;transform:none}
.site-shell .news-card h3{font-size:clamp(2rem,2.9vw,2.8rem);line-height:1.08;margin:0}
.site-shell .news-card-top span{font-size:.75rem;line-height:1.4}
.site-shell .news-intro{transform:none;align-items:center}
.site-shell .news-intro svg{min-width:32px;width:32px;height:32px;aspect-ratio:1}
.site-shell .news-cta{gap:24px;margin-top:36px;padding:30px;border-radius:18px}
.site-shell .news-cta h3{font-size:clamp(2rem,3.5vw,3rem);line-height:1.1}
.site-shell .news-cta p{line-height:1.6}
.site-shell .ambience-tabs{margin-top:32px}
.site-shell .ambience-tab-list{grid-template-columns:repeat(3,minmax(0,1fr));border-radius:12px!important;overflow:hidden}
.site-shell .ambience-tab{min-width:0;min-height:72px!important;white-space:normal;text-align:center;line-height:1.35!important;gap:10px!important}
.site-shell .ambience-tab span{flex:none}
.site-shell .ambience-content{margin-top:24px}
.site-shell .ambience-stage{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:32px;padding:clamp(24px,3.2vw,44px)}
.site-shell .ambience-copy{min-width:0}
.site-shell .ambience-copy h3{font-size:clamp(2.7rem,4vw,4rem);line-height:1.05;margin:12px 0 20px;overflow-wrap:break-word}
.site-shell .ambience-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.site-shell .ambience-details span{min-width:0;min-height:102px;font-size:.75rem;line-height:1.45;gap:12px;border-radius:8px}
.site-shell .ambience-details b{font-size:1.5rem;line-height:1}
.site-shell .ambience-comic{min-width:0;min-height:0;border-radius:30px 46px 32px 42px;padding:28px;transform:none;box-shadow:7px 7px 0 var(--ink);justify-content:flex-start}
.site-shell .ambience-sound{align-self:flex-end;max-width:100%;margin:0 0 22px;padding:9px 15px;font-size:1.9rem;transform:rotate(5deg)}
.site-shell .ambience-comic blockquote{font-size:clamp(2rem,3vw,2.8rem);line-height:1.12;overflow-wrap:break-word}
.site-shell .ambience-duo{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:24px}
.site-shell .ambience-duo>div{grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:center;padding-top:14px}
.site-shell .ambience-duo p{font-size:.875rem;line-height:1.45;min-width:0}
.site-shell .ambience-duo b{font-size:.9375rem;line-height:1.35;margin-bottom:3px}
/* Decorative vector symbols do not inherit platform-dependent font glyphs. */
.site-shell .ambience-duo>div>span{width:48px;min-width:48px;max-width:48px;height:48px;aspect-ratio:1;border:3px solid var(--ink);border-radius:50%;padding:0;font-size:0;line-height:0;display:grid;place-items:center}
.site-shell .ambience-duo>div>span::before{content:"";width:28px;height:28px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23070707' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 14s1.5 2 4 2 4-2 4-2M8.5 8.5h.01M15.5 8.5h.01'/%3E%3C/svg%3E")}
.site-shell .ambience-duo>div:nth-child(2)>span{background:var(--pink)}
.site-shell .ambience-duo>div:nth-child(2)>span::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23070707' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 4v10'/%3E%3Ccircle cx='12' cy='19' r='1.3' fill='%23070707' stroke='none'/%3E%3C/svg%3E")}
.site-shell .contact-content{padding:clamp(24px,3.8vw,52px);border-radius:22px}
.site-shell .contact-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
.site-shell .contact-highlights span{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;font-size:.8125rem;line-height:1.55}
.site-shell .contact-highlights svg{width:22px;height:22px;min-width:22px;aspect-ratio:1}
.site-shell .contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.site-shell .contact-actions .comic-button{width:100%;height:100%}
.site-shell .contact-actions .text-link{align-self:center;justify-self:start;overflow-wrap:anywhere;font-size:.9375rem}
.site-shell .owner-hotline{padding-block:clamp(56px,6.5vw,96px)}
.site-shell .owner-hotline-copy h2{font-size:clamp(3rem,5.3vw,5rem);line-height:1.05;margin-block:18px 22px;overflow-wrap:break-word}
.site-shell .owner-hotline-kicker{display:inline-block;line-height:1.45}
.site-shell .owner-hotline-copy p{line-height:1.6}
.site-shell .owner-hotline-topic-icon{flex:0 0 44px;width:44px;min-width:44px;height:44px;aspect-ratio:1;font-size:0;line-height:0;display:grid;place-items:center}
.site-shell .owner-hotline-topic-icon::before{content:"";width:24px;height:24px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23070707' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='m12 3 2.8 5.7 6.2.9-4.5 4.4 1.1 6.2-5.6-2.9-5.6 2.9 1.1-6.2L3 9.6l6.2-.9Z'/%3E%3C/svg%3E")}
.site-shell .owner-hotline-topic:nth-of-type(2) .owner-hotline-topic-icon::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23070707' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6m-5 3h4M9 15c0-2-3-3-3-7a6 6 0 0 1 12 0c0 4-3 5-3 7Z'/%3E%3C/svg%3E")}
.site-shell .owner-hotline-topic:nth-of-type(3) .owner-hotline-topic-icon::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='m6 6 12 12M18 6 6 18'/%3E%3C/svg%3E")}
.site-shell .owner-hotline-topic:nth-of-type(4) .owner-hotline-topic-icon::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23070707' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11a9 9 0 0 1-9 9 10 10 0 0 1-4-.8L3 21l1.8-5A9 9 0 1 1 21 11Z'/%3E%3Cpath d='M8 11h.01M12 11h.01M16 11h.01'/%3E%3C/svg%3E")}
.site-shell .owner-hotline-form :is(input,select,textarea){font-size:16px;min-width:0;line-height:1.5}
.site-shell .owner-hotline-form :is(input,select){min-height:48px}
.site-shell .owner-hotline-form button{min-height:50px;white-space:normal;line-height:1.4}
@media(min-width:681px) and (max-width:1100px){
 .site-shell .ambience-stage{grid-template-columns:minmax(0,1fr)}
 .site-shell .ambience-duo{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .site-shell .flavor-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
 .site-shell .gallery-overlay{padding:12px}
 .site-shell .gallery-overlay h3{font-size:1.75rem}
 .site-shell .gallery-overlay p{font-size:.65rem}
 .site-shell .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .site-shell .news-card:last-child:nth-child(odd){grid-column:1/-1}
}
@media(max-width:680px){
 .site-shell .section-pad{padding:56px 20px 64px}
 .site-shell :is(.story-lead h2,.section-heading-row h2,.menu-heading h2,.flavor-heading h2,.news-heading h2,.ambience-heading h2,.contact-content h2){font-size:clamp(2.65rem,11.5vw,3.8rem);line-height:1.08;text-shadow:3px 3px 0 var(--yellow)}
 .site-shell :is(.flavor-heading h2,.section-heading-row h2){text-shadow:3px 3px 0 var(--red)}
 .site-shell :is(.section-heading-row,.menu-heading,.news-heading,.ambience-heading){gap:22px}
 .site-shell .hero-copy{padding:36px 22px}
 .site-shell .hero-copy h1{font-size:clamp(3.2rem,14vw,4.8rem)}
 .site-shell .hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .site-shell .hero-actions .comic-button{width:100%;font-size:1.05rem;padding:12px 8px}
 .site-shell .speech-card{padding:28px 24px;border-radius:28px;transform:none}
 .site-shell .speech-card blockquote{font-size:2rem}
 .site-shell .gallery-card{aspect-ratio:5/4}
 .site-shell .gallery-overlay{margin:16px}
 .site-shell .pillar-grid{gap:22px;margin-top:28px}
 .site-shell .pillar-card{min-height:0;padding:22px;gap:16px;transform:none}
 .site-shell .pillar-card h3{font-size:2rem}
 .site-shell .menu-workspace{gap:28px}
 .site-shell .interactive-menu{padding:24px 14px}
 .site-shell .interactive-menu-head{gap:16px;margin-bottom:24px}
 .site-shell .interactive-menu-head h3{font-size:clamp(2.3rem,10vw,3rem)}
 .site-shell .menu-item-card{padding:18px;min-height:0}
 .site-shell .news-grid{grid-template-columns:minmax(0,1fr);gap:22px}
 .site-shell .news-card{min-height:0;padding:22px}
 .site-shell .news-card h3{font-size:2.2rem}
 .site-shell .news-cta{padding:24px 18px}
 .site-shell .ambience-tab{flex-direction:column;justify-content:center!important;min-height:84px!important;padding:10px 5px!important;font-size:.75rem!important;gap:4px!important;letter-spacing:0}
 .site-shell .ambience-tab span{font-size:1.5rem}
 .site-shell .ambience-stage{grid-template-columns:minmax(0,1fr);padding:24px 14px;gap:28px;box-shadow:6px 6px 0 var(--ink)}
 .site-shell .ambience-copy h3{font-size:clamp(2.5rem,10vw,3.4rem)}
 .site-shell .ambience-details{grid-template-columns:minmax(0,1fr);gap:12px;margin:24px 0}
 .site-shell .ambience-details span{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;min-height:52px;gap:10px;font-size:.8125rem;padding:12px}
 .site-shell .ambience-comic{padding:22px 18px;border-radius:24px;box-shadow:5px 5px 0 var(--ink)}
 .site-shell .ambience-comic blockquote{font-size:clamp(1.9rem,8vw,2.6rem)}
 .site-shell .ambience-duo>div{gap:12px;grid-template-columns:48px minmax(0,1fr)}
 .site-shell .contact-content{margin:0 20px 64px;padding:28px 22px}
 .site-shell .contact-highlights,.site-shell .contact-actions{grid-template-columns:minmax(0,1fr)}
 .site-shell .contact-actions .text-link{justify-self:center;text-align:center;margin-top:8px}
 .site-shell .owner-hotline-copy h2{font-size:clamp(2.8rem,12vw,4rem)}
 .site-shell .owner-hotline-copy{padding:28px 22px}
}
@media(prefers-reduced-motion:reduce){.site-shell :is(.ambience-tab,.comic-button){transition:none}}
