html[data-template=restaurant]{--bg:#fff;--fg:#2e241c;--muted:#6b5c50;--primary:#c45c26;--primary-dark:#8b4513;--alert-bg:#eef6e8;--alert-border:#c5dbb0;--alert-accent:#6a9a45;--border:#ebe4dc;--card:#faf7f3}html[data-template=restaurant] body{background:var(--bg);color:var(--fg);font-family:Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,BIZ UDPGothic,Meiryo,sans-serif;line-height:1.75}html[data-template=restaurant] .section-heading{letter-spacing:.12em;text-align:center;z-index:1;margin:0 0 .5rem;font-size:1.5rem;font-weight:700;position:relative}html[data-template=restaurant] .section-sub{text-align:center;color:var(--muted);z-index:1;max-width:32rem;margin:0 auto 2.5rem;font-size:.875rem;line-height:1.8;position:relative}html[data-template=restaurant] .hero-title{letter-spacing:.06em;font-size:clamp(2.2rem,5.5vw,3.4rem);font-style:italic;font-weight:400}html[data-template=restaurant] .hero-lead{letter-spacing:.08em;text-shadow:0 1px 12px #00000059;margin-top:.85rem;font-size:clamp(.9rem,2vw,1.05rem)}html[data-template=restaurant] .open-alert{background:var(--alert-bg);border:1px solid var(--alert-border);border-radius:8px;align-items:center;gap:.75rem;max-width:640px;margin:2rem auto;padding:1rem 1.5rem;display:flex}html[data-template=restaurant] .open-alert__icon{color:var(--alert-accent);font-size:1.25rem;line-height:1}html[data-template=restaurant] .snow-cta-row{flex-direction:column;justify-content:center;gap:.75rem;max-width:36rem;margin:1.25rem auto .5rem;padding:0 1rem;display:flex}@media (min-width:640px){html[data-template=restaurant] .snow-cta-row{flex-direction:row;gap:.85rem}}html[data-template=restaurant] .snow-cta{letter-spacing:.04em;border-radius:2px;justify-content:center;align-items:center;min-height:3rem;padding:.75rem 1.4rem;font-size:.92rem;font-weight:600;transition:opacity .2s,background .2s,color .2s;display:inline-flex}html[data-template=restaurant] .snow-cta--primary{background:var(--primary);color:#fff}html[data-template=restaurant] .snow-cta--primary:hover{opacity:.92}html[data-template=restaurant] .snow-cta--secondary{border:1px solid var(--primary-dark);color:var(--primary-dark);background:0 0}html[data-template=restaurant] .snow-cta--secondary:hover{background:var(--card)}html[data-template=restaurant] .snow-sister{border-top:1px solid var(--border);color:var(--muted);margin-top:2rem;padding-top:1.5rem;font-size:.9rem;line-height:1.7}html[data-template=restaurant] .snow-sister a{color:var(--primary-dark);text-underline-offset:.2em;text-decoration:underline}html[data-template=restaurant] .menu-row{align-items:center;gap:2rem;display:grid}html[data-template=restaurant] .menu-image-frame{aspect-ratio:1;width:min(100%,28rem);margin-inline:auto;position:relative}@media (min-width:768px){html[data-template=restaurant] .menu-row{grid-template-columns:1fr 1fr}html[data-template=restaurant] .menu-row.reverse{direction:rtl}html[data-template=restaurant] .menu-row.reverse>*{direction:ltr}}html[data-template=restaurant] .quote-text{color:var(--muted);text-align:center;font-size:1.05rem;font-style:italic;line-height:1.8}html[data-template=restaurant] .btn-link{border:1px solid var(--primary);color:var(--primary-dark);letter-spacing:.04em;padding:.65rem 1.4rem;font-size:.875rem;transition:background .2s,color .2s;display:inline-block}html[data-template=restaurant] .btn-link:hover{background:var(--primary);color:#fff}html[data-template=restaurant] .ig-grid{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}html[data-template=restaurant] .ig-grid-item{aspect-ratio:1;background:var(--card);color:var(--muted);text-align:center;justify-content:center;align-items:center;padding:.5rem;font-size:.75rem;display:flex}html[data-template=restaurant] .hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:4px;display:flex}html[data-template=restaurant] .hamburger>span:not(.hamburger-label){background:var(--fg);width:22px;height:2px;display:block}html[data-template=restaurant] .hamburger-label{letter-spacing:.15em;color:var(--muted);background:0 0;width:auto;height:auto;margin-top:2px;font-size:.625rem}html[data-template=restaurant] .mobile-nav{border-top:1px solid var(--border);padding:1rem 0}html[data-template=restaurant] .mobile-nav a{color:var(--fg);padding:.75rem 1.5rem;font-size:.9rem;display:block}html[data-template=restaurant] .mobile-nav a:hover{background:var(--card)}html[data-template=restaurant] .snow-header{border-bottom:1px solid var(--border);z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;position:sticky;top:0}html[data-template=restaurant] .snow-header__bar{justify-content:space-between;align-items:center;gap:1.5rem;max-width:68rem;margin:0 auto;padding:.75rem 1.25rem;display:flex}html[data-template=restaurant] .snow-header__burger{flex-shrink:0;margin-left:auto}html[data-template=restaurant] .snow-header__logo-img{width:auto;height:3.5rem}html[data-template=restaurant] .snow-header__desktop{letter-spacing:.04em;flex-wrap:wrap;justify-content:flex-end;gap:.35rem 1.15rem;font-size:.82rem;display:none}html[data-template=restaurant] .snow-header__desktop a{color:var(--muted);transition:color .2s}html[data-template=restaurant] .snow-header__desktop a:hover{color:var(--primary-dark)}@media (min-width:900px){html[data-template=restaurant] .snow-header__desktop{display:flex}html[data-template=restaurant] .snow-header__burger{display:none}}html[data-template=restaurant] .snow-hero{aspect-ratio:16/9;width:100%;min-height:22rem;max-height:78vh;position:relative;overflow:hidden}@media (min-width:640px){html[data-template=restaurant] .snow-hero{aspect-ratio:21/9}}html[data-template=restaurant] .snow-hero__shade{z-index:1;background:linear-gradient(#2e241c2e 0%,#2e241c73 55%,#2e241c9e 100%),linear-gradient(90deg,#c45c262e 0%,#0000 55%);position:absolute;inset:0}html[data-template=restaurant] .snow-hero__copy{z-index:2;text-align:center;color:#fff;animation:snowHeroIn .9s var(--ease-out-soft,ease) both;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:absolute;inset:0}html[data-template=restaurant] .snow-cta-row--hero{margin-top:1.5rem}html[data-template=restaurant] .snow-cta--ghost{color:#fff;background:#ffffff14;border:1px solid #ffffffb3}html[data-template=restaurant] .snow-cta--ghost:hover{background:#ffffff2e}html[data-template=restaurant] .open-alert__text{font-size:.9rem;font-weight:500}html[data-template=restaurant] .snow-section{padding:clamp(3.5rem,8vw,5.5rem) 1.5rem}html[data-template=restaurant] .snow-section--muted{background:var(--card)}html[data-template=restaurant] .snow-section__inner{max-width:48rem;margin:0 auto}html[data-template=restaurant] .snow-section__inner--narrow{max-width:40rem}html[data-template=restaurant] .snow-section__inner--wide{max-width:64rem}html[data-template=restaurant] .snow-section__inner--form{text-align:center;max-width:28rem}html[data-template=restaurant] .snow-section__inner--center{text-align:center}html[data-template=restaurant] .snow-section__action{text-align:center;margin-top:2rem}html[data-template=restaurant] .snow-prose{text-align:center;gap:1rem;line-height:1.9;display:grid}html[data-template=restaurant] .snow-audience{gap:2rem;display:grid}html[data-template=restaurant] .snow-audience article{text-align:center}html[data-template=restaurant] .snow-audience h3,html[data-template=restaurant] .menu-copy h3,html[data-template=restaurant] .snow-steps h3,html[data-template=restaurant] .snow-info-headline,html[data-template=restaurant] .snow-access h3,html[data-template=restaurant] .snow-card h3{margin-bottom:.65rem;font-size:1.05rem;font-weight:700;line-height:1.55}html[data-template=restaurant] .snow-audience p,html[data-template=restaurant] .menu-copy p,html[data-template=restaurant] .snow-steps p,html[data-template=restaurant] .snow-lead,html[data-template=restaurant] .snow-access p,html[data-template=restaurant] .snow-card p{color:var(--muted);font-size:.95rem;line-height:1.8}html[data-template=restaurant] .snow-lead{text-align:center;margin-bottom:1.5rem}html[data-template=restaurant] .snow-lead--pre{white-space:pre-line;margin-bottom:2rem;font-size:.88rem}html[data-template=restaurant] .menu-row{margin-bottom:3rem}html[data-template=restaurant] .menu-copy{text-align:center;padding:0 1rem}@media (min-width:768px){html[data-template=restaurant] .menu-copy{text-align:left}}html[data-template=restaurant] .menu-image{border-radius:4px;transition:transform 8s}html[data-template=restaurant] .menu-row:hover .menu-image{transform:scale(1.03)}html[data-template=restaurant] .snow-quotes{margin-top:2rem}html[data-template=restaurant] .quote-text--closing{margin-top:1rem}html[data-template=restaurant] .snow-steps{counter-reset:snow-step;gap:2rem;padding:0;list-style:none;display:grid}html[data-template=restaurant] .snow-steps li{text-align:center;counter-increment:snow-step}html[data-template=restaurant] .snow-note{color:var(--muted);margin-top:1rem;font-size:.88rem;line-height:1.75}html[data-template=restaurant] .snow-note a{text-underline-offset:.15em;color:var(--primary-dark);margin:0 .25rem;text-decoration:underline}html[data-template=restaurant] .snow-access{border-top:1px solid var(--border);margin-top:2.5rem;padding-top:2rem}html[data-template=restaurant] .snow-ig-card{border:1px solid var(--border);background:#fff;border-radius:6px;margin-bottom:1.25rem;overflow:hidden}html[data-template=restaurant] .snow-ig-card__head{border-bottom:1px solid var(--border);align-items:center;gap:.85rem;padding:1rem;display:flex}html[data-template=restaurant] .snow-ig-card__avatar{background:var(--card);border-radius:999px;flex-shrink:0;width:3rem;height:3rem;position:relative;overflow:hidden}html[data-template=restaurant] .snow-ig-card__handle{font-size:.88rem;font-weight:700}html[data-template=restaurant] .snow-ig-card__bio{color:var(--muted);margin-top:.25rem;font-size:.75rem;line-height:1.55}html[data-template=restaurant] .snow-ig-card__foot{text-align:center;padding:1rem}html[data-template=restaurant] .snow-ig-card__foot a{color:var(--primary-dark);font-size:.88rem;font-weight:600}html[data-template=restaurant] .snow-ig-card__foot a:hover{text-decoration:underline}html[data-template=restaurant] .snow-card{border:1px solid var(--border);background:#fff;border-radius:6px;margin-bottom:.85rem;padding:1.25rem 1.35rem}html[data-template=restaurant] .snow-section--muted .snow-card,html[data-template=restaurant] .snow-faq .snow-card{background:#fff}html[data-template=restaurant] .snow-section:not(.snow-section--muted) .snow-faq .snow-card{background:var(--card)}html[data-template=restaurant] .snow-card time{color:var(--muted);font-size:.75rem}html[data-template=restaurant] .snow-card__more{color:var(--primary);margin-top:.75rem;font-size:.88rem;display:inline-block}html[data-template=restaurant] .snow-card__more:hover{text-decoration:underline}html[data-template=restaurant] .snow-faq{gap:.85rem;display:grid}html[data-template=restaurant] .snow-footer{border-top:1px solid var(--border);text-align:center;padding:2rem 1.5rem}html[data-template=restaurant] .snow-footer nav{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:.75rem 1.1rem;margin-bottom:1rem;font-size:.75rem;display:flex}html[data-template=restaurant] .snow-footer nav a:hover{color:var(--fg)}html[data-template=restaurant] .snow-footer>p{color:var(--muted);font-size:.75rem}html[data-template=restaurant] .snow-footer>p a{text-underline-offset:.15em;text-decoration:underline}@keyframes snowHeroIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){html[data-template=restaurant] .snow-hero__copy,html[data-template=restaurant] .menu-image{transition:none!important;animation:none!important}html[data-template=restaurant] .menu-row:hover .menu-image{transform:none}}@media (max-width:640px){html[data-template=restaurant] .snow-hero{aspect-ratio:auto;min-height:min(78svh,34rem);max-height:none}html[data-template=restaurant] .snow-hero__copy{justify-content:flex-end;padding:1.25rem 1.1rem 2rem}html[data-template=restaurant] .hero-title{font-size:clamp(1.85rem,9vw,2.4rem)}html[data-template=restaurant] .hero-lead{letter-spacing:.04em;max-width:18rem;margin-inline:auto;font-size:.88rem}html[data-template=restaurant] .snow-cta-row--hero{width:100%;max-width:18rem;margin-inline:auto;padding:0}html[data-template=restaurant] .snow-cta{width:100%}html[data-template=restaurant] .open-alert{margin:1.25rem 1rem;padding:.85rem 1rem}html[data-template=restaurant] .snow-section{padding:3rem 1.15rem}html[data-template=restaurant] .snow-info-headline{padding-inline:.25rem;font-size:1rem}}
