/* Responsive refinements shared by both languages. */
[hidden]{display:none!important}
html{scroll-padding-top:110px}
body{overflow-wrap:break-word}
*{min-width:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #073f98;outline-offset:5px}
.skip-link{position:fixed;top:-100px;left:1rem;z-index:100;background:#fff;padding:1rem;color:var(--deep)}
.skip-link:focus{top:1rem}
header{gap:1rem}
header>.language-link{font-weight:900;text-decoration:none;white-space:nowrap;flex-shrink:0;font-size:.9rem}
header nav{margin-left:auto}
.hero,.offer-layout,.visit,.signup{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.hero h1{font-size:clamp(3rem,6.2vw,6rem);line-height:1.05}
.hero-copy>p,.section p{overflow-wrap:break-word}
.quick span,.benefits span,nav a,.signup label{font-size:.9rem}
.benefits{gap:1rem;padding-top:1.5rem;padding-bottom:1.5rem}
.benefits div{min-height:95px}
.hotfood{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem)}
.hotfood h2{font-size:clamp(2.6rem,4.8vw,4.8rem);line-height:1.05}
.kitchen-media{margin:0;width:100%;max-width:460px;justify-self:center;border:8px solid white;border-radius:20px;overflow:hidden;background:white;box-shadow:10px 10px 0 var(--blue);font-size:1rem;transform:none}
.kitchen-media img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;color:var(--deep);font:1rem Montserrat,Arial,sans-serif}
.kitchen-media figcaption{padding:.85rem;color:var(--deep);font-size:.875rem;line-height:1.5}
.kitchen-note{font-size:.95rem}
.call-inline{color:var(--deep);font-weight:800}
.dept-grid .photo-card{min-height:290px}
.dept-grid h3{line-height:1.15;font-size:clamp(1.6rem,2.4vw,2.2rem)}
.dept-grid .cafe{background-image:url('assets/cafe-real.webp')}
.review-cards cite{display:block;font-style:normal;font-size:.875rem;font-weight:500;margin-top:1rem}
.reviews .source-link{text-align:center;margin-top:2rem}
.source-link a{color:var(--blue);font-weight:800}
.offer-notice{max-width:900px;margin:1rem auto 2rem;padding:1rem 1.25rem;background:#fff;border-left:5px solid var(--red);line-height:1.6}
.circular-grid button{display:block;border:0;cursor:zoom-in;width:100%;padding:.65rem;background:white;border-radius:12px;box-shadow:0 10px 28px #0022582e;color:var(--deep);font:inherit}
.circular-grid button span{display:block;padding:.6rem;font-size:.9rem;font-weight:800}
.circular-grid img{aspect-ratio:auto}
.circular-viewer{border:0;padding:1rem;border-radius:14px;width:min(96vw,1200px);max-width:96vw;max-height:94dvh;background:#fff;color:var(--deep)}
.circular-viewer::backdrop{background:#00142acc}
.viewer-tools{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:.8rem}
.viewer-tools button,.viewer-tools a{font:inherit;font-size:.9rem;background:var(--blue);color:white;border:0;border-radius:6px;padding:.7rem;cursor:pointer;text-decoration:none}
.viewer-tools button:disabled{opacity:.45;cursor:default}
.viewer-title{font-weight:800;margin-right:auto}
.viewer-canvas{overflow:auto;max-height:70dvh;background:#e8edf4}
.viewer-canvas img{display:block;width:100%;max-width:none;height:auto;margin:0 auto}
.signup input,.signup select,.signup button{font-size:1rem;min-height:48px}
.signup .consent input{min-height:0;width:20px;height:20px}
.signup .signup-note{grid-column:1/-1;font-size:.95rem;line-height:1.6;background:#b51016;padding:1rem;border-radius:8px;margin:0}
.signup #form-status{font-size:1rem;font-weight:700;line-height:1.6;margin:0}
.signup .form-wide{grid-column:1/-1}
footer a{color:#fff;margin:0 .6rem;font-weight:700}
.mobile-actions{display:none}
@media(min-width:851px) and (max-width:1100px){header{padding-left:1rem;padding-right:1rem;gap:.75rem}header .brand img{width:180px}header nav{gap:.7rem}header nav a{font-size:.8rem}}
@media(max-width:850px){
 body{padding-bottom:calc(65px + env(safe-area-inset-bottom))}
 header{padding:0 1rem;gap:.7rem}
 header .brand{margin-right:auto}
 header .brand img{width:clamp(130px,32vw,220px)}
 header>.language-link{align-self:center;padding:.6rem;font-size:.85rem}
 header .menu{order:3;min-width:44px;min-height:44px}
 header nav{margin:0;z-index:20}
 .hero,.offer-layout,.visit,.signup,.hotfood{grid-template-columns:minmax(0,1fr)}
 .hero{min-height:0;padding-top:3rem;padding-bottom:3.5rem}
 .hero h1{font-size:clamp(2.8rem,9vw,4.5rem)}
 .section{padding-top:3rem;padding-bottom:3rem}
 .quick{gap:.8rem}
 .benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
 .benefits div{padding:.65rem;box-shadow:3px 3px 0 var(--yellow)}
 .benefits span{font-size:.875rem}
 .hotfood .kitchen-copy{grid-row:1}
 .hotfood h2{font-size:clamp(2.5rem,8vw,4rem)}
 .kitchen-media{max-width:360px}
 .signup{gap:2rem;padding-top:3rem;padding-bottom:3rem}
.mobile-actions{position:fixed;top:auto;bottom:0;left:0;right:0;height:auto;min-height:0;z-index:30;display:grid;grid-template-columns:repeat(3,1fr);background:var(--blue);box-shadow:0 -2px 10px #00142a33;padding:0 0 env(safe-area-inset-bottom)}
 .mobile-actions a{padding:1.25rem .35rem;color:#fff;text-align:center;text-decoration:none;font-size:.875rem;font-weight:900;border-right:1px solid #ffffff40}
 .mobile-actions a:first-child{background:var(--yellow);color:var(--deep)}
}
