/* Home composition; existing fonts and palette are inherited. */
body.home .sc-home-final { padding:0; }
.sc-home-final__inner { width:100%; max-width:min(var(--sc-content-width),calc(100% - 156px)); margin-inline:auto; text-align:center; }
.sc-home-menu { padding:120px 0 0; }
.sc-home-menu__photo { max-width:900px; margin:0 auto 56px; }
.sc-home-menu__photo img { display:block; width:100%; height:auto; }
.sc-home-final :is(.sc-home-menu h1,.sc-home-reservations h2) { font-size:28px; font-weight:400; line-height:1.35; letter-spacing:.025em; margin:0 0 24px; padding:0; background:none; }
.sc-home-menu__copy { max-width:640px; margin-inline:auto; }
.sc-home-menu__copy p { font-size:14px; line-height:2; text-align:center; margin:0 0 16px; }
.sc-home-final__links { display:flex; flex-direction:column; align-items:center; gap:16px; margin-top:40px; }
#sunnycafe-main .sc-home-final__links a.sc-menu-link { width:min(100%,320px); }
.sc-home-reservations { padding:122px 0; margin-top:128px; background:#313131; color:#f8f8f8; }
.sc-home-reservations p { max-width:620px; margin:0 auto; font-size:14px; line-height:2; }
#sunnycafe-main .sc-home-reservations a.sc-menu-link { color:#f8f8f8; background:transparent; border:0; border-bottom:1px solid currentColor; border-radius:0; box-shadow:none; transition:color .3s,border-color .3s; }
@media(hover:hover) and (pointer:fine) { #sunnycafe-main .sc-home-reservations a.sc-menu-link:hover { color:rgba(248,248,248,.72); opacity:1; background:transparent; } }
@media(prefers-reduced-motion:reduce) { #sunnycafe-main .sc-home-reservations a.sc-menu-link { transition:none; } }
.sc-home-gallery { margin-top:96px; padding:82px 0; background:var(--color_footer_bg); overflow:hidden; }
body.home #primary.sc-home-final .sc-home-gallery > :is(.loop-slider,.sc-gallery) { margin:0; }
@media(max-width:768px) {
 .sc-home-final__inner { max-width:calc(100% - 40px); }
 .sc-home-menu { padding-top:64px; }
 .sc-home-menu__photo { margin-bottom:36px; }
 .sc-home-final :is(.sc-home-menu h1,.sc-home-reservations h2) { font-size:25px; margin-bottom:20px; }
 .sc-home-menu__copy p,.sc-home-reservations p { font-size:13px; line-height:1.95; }
 .sc-home-final__links { margin-top:32px; gap:16px; }
 .sc-home-reservations { padding:82px 0; margin-top:80px; }
 .sc-home-gallery { margin-top:64px; padding:58px 0; }
}
.sc-information { background:#fff; padding:96px 0; margin-top:0; }
.sc-information__inner { width:100%; max-width:min(var(--sc-content-width),calc(100% - 156px)); margin-inline:auto; }
.sc-information h2 { margin:0 0 32px; font-size:28px; line-height:1.35; letter-spacing:.025em; }
.sc-information dl { margin:0; }
.sc-information__grid { display:grid; grid-template-columns:minmax(0,55fr) minmax(0,45fr); gap:40px; align-items:stretch; }
.sc-information__grid > dl { min-width:0; }
.sc-information__map { position:relative; min-width:0; min-height:360px; }
.sc-information__map iframe { position:absolute; inset:0; display:block; width:100%; height:100%; border:0; filter:grayscale(100%); }
.sc-information__row { display:grid; grid-template-columns:minmax(120px,1fr) minmax(0,3fr); gap:32px; padding:20px 0; border-bottom:1px solid rgba(49,49,49,.16); }
.sc-information dt, .sc-information dd { margin:0; font-size:14px; line-height:2; font-weight:400; }
.sc-information dd a { color:inherit; text-decoration:none; border-bottom:1px solid currentColor; transition:opacity .3s; }
@media(hover:hover) { .sc-information dd a:hover { opacity:.72; } }
.sc-information dd a:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
@media(max-width:768px) {
 .sc-information { padding:64px 0; margin-top:0; }
 .sc-information__inner { max-width:calc(100% - 40px); }
 .sc-information__grid { grid-template-columns:minmax(0,1fr); gap:32px; }
 .sc-information__map { height:220px; min-height:220px; }
 .sc-information h2 { font-size:25px; margin-bottom:24px; }
 .sc-information__row { grid-template-columns:80px minmax(0,1fr); gap:12px; padding:18px 0; }
 .sc-information dt, .sc-information dd { font-size:13px; line-height:1.95; }
}
/* Social links remain in the existing information grid. */
.sc-information__sns dd { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.sc-information__sns a.sc-information__social-link { display:inline-flex; align-items:center; min-height:44px; padding:6px 0; border:0; border-bottom:1px solid currentColor; }

/* Only the intro action changes; the MV photo and grid stay intact. */
#sunnycafe-main .mv-split .sc-intro-copy { display:inline-block; max-width:100%; vertical-align:top; }
#sunnycafe-main .mv-split .sc-intro-copy__line { display:inline-block; white-space:nowrap; }
#sunnycafe-main .mv-split .sc-intro-copy__sp-break { display:none; }
@media(max-width:768px) { #sunnycafe-main .mv-split .sc-intro-copy__sp-break { display:initial; } }
#sunnycafe-main .mv-split .button-grow { margin:32px 0 24px; }
#sunnycafe-main .mv-split .button-grow a { width:auto; min-height:44px; padding:10px 12px 9px; border:0; border-bottom:1px solid currentColor; background:transparent; font-family:var(--sc-text-font); font-weight:400; line-height:1.5; }
body.home #sunnycafe-main { background:#fff; }
@media(max-width:768px) { #sunnycafe-main .mv-split .button-grow { margin:28px 0 20px; } }

.sc-information dd a[href^="tel:"] { border-bottom-color:rgba(49,49,49,.55); }
