/* Opt-in P6; the approved shell owns header/footer markup and tokens. */
.yokocho-contacts .yk-header{position:fixed;inset:0 0 auto;z-index:20}
.admin-bar.yokocho-contacts .yk-header{top:var(--yk-shell-admin-offset,32px)}
.ykc-page{position:relative;isolation:isolate;min-height:100svh;padding:clamp(250px,calc(50svh - 165px),500px) 41px 120px;background:var(--yk-green);overflow:hidden}
.ykc-background{position:absolute;inset:0;z-index:-3;mix-blend-mode:plus-lighter}
.ykc-background picture,.ykc-background img{display:block;width:100%;height:100%}
.ykc-background img{object-fit:cover;object-position:right bottom}
.ykc-page:before{content:'';position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(100% 142% at 1.7% 63.5%,var(--yk-ink) 10.7759%,#010a07f0 42%,#11362a00 61.6379%),linear-gradient(90deg,transparent calc(100% - 300px),var(--yk-ink)),linear-gradient(0deg,var(--yk-deep),transparent 12%)}
.ykc-japanese{position:absolute;top:115px;left:41px;width:287px;height:auto;z-index:-1}
.ykc-content{position:relative;width:min(600px,48%);display:flex;flex-direction:column;gap:30px}
.ykc-content h2{margin:0;color:var(--yk-white);font:400 clamp(12px,1.15vw,17px)/1.45 var(--yk-extended);letter-spacing:.025em;text-transform:uppercase}
.ykc-content address{margin:0;font-style:normal;font:500 clamp(16px,1.25vw,19px)/1.4 var(--yk-display)}
.ykc-content address a,.ykc-content .ykc-links a{color:var(--yk-gold)}
.ykc-content .ykc-links{margin:9px 0 0;padding:0;list-style:none}
.ykc-content .ykc-links li{margin:0;padding:0;font:500 clamp(16px,1.25vw,19px)/1.45 var(--yk-display)}
.ykc-hours{margin:9px 0 0}.ykc-hours div{display:flex;flex-wrap:wrap;column-gap:.4em}
.ykc-hours dt,.ykc-hours dd{font-size:16px;font-weight:500}.ykc-hours dd{margin:0}
.ykc-service-window{white-space:nowrap}.ykc-open-now,.yk-hours-everyday-services .ykc-open-now{display: inline-block; margin-left: .6em; color: var(--yk-gold);font: italic 400 12px/1 var(--yk-body);    transform: rotate(-5deg); transform-origin: left;}.ykc-open-now[hidden]{display:none!important}
.ykc-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
@media(min-width:601px) and (max-width:1100px){.ykc-page{padding-inline:30px}.ykc-content{width:52%}.ykc-japanese{left:30px;width:250px}.ykc-content h2{font-size:17px}.ykc-content address,.ykc-content .ykc-links li{font-size:19px}.ykc-page:before{background:linear-gradient(90deg,#010a07f5,#010a07db 40%,#010a0720 78%),linear-gradient(0deg,var(--yk-deep),transparent 15%)}}
@media(max-width:600px){.ykc-page{display:block;min-height:0;padding:195px 24px 320px}.ykc-content{width:100%;max-width:420px;gap:32px;padding-top:0}.ykc-content h2{font-size:12px;line-height:1.5}.ykc-content address,.ykc-content .ykc-links li{font-size:clamp(17px,4.7vw,19px);line-height:1.45}.ykc-hours dt,.ykc-hours dd{font-size:16px}.ykc-japanese{top:100px;left:24px;width:170px}.ykc-background img{object-position:76% bottom}.ykc-page:before{background:linear-gradient(180deg,#010a07eb 0%,#010a07ed 20%,#010a07e6 48%,#010a0780 74%,#04211815 88%,var(--yk-deep) 100%),linear-gradient(90deg,#010a0770,transparent)}.ykc-hours div{display:block;margin-bottom:9px}.ykc-hours dt,.ykc-hours dd{line-height:1.6}.ykc-links a{display:inline-block;min-height:32px;padding-block:3px}}
/* Tablet: overlap the footer into the page's lower breathing room and fade it in. */
@media(min-width:601px) and (max-width:1100px){
 .yokocho-contacts .yk-footer{position:relative;z-index:1;margin-top:-105px;padding-top:150px;background:linear-gradient(180deg,transparent 0%,var(--yk-deep) 28%,var(--yk-ink) 100%)}
}
/* Desktop: the existing legal footer occupies reserved space over the artwork. */
@media(min-width:1101px){
 html:has(body.admin-bar.yokocho-contacts){min-height:0}
 .yokocho-contacts .ykc-page{min-height:100svh;padding-bottom:90px}
 .admin-bar.yokocho-contacts .ykc-page{min-height:calc(100svh - 32px)}
 body.admin-bar.yokocho-contacts{min-height:calc(100svh - 32px)}
 .yokocho-contacts .yk-footer{position:relative;z-index:1;margin-top:-60px;min-height:60px;padding:0 20px;background:transparent;display:flex;align-items:center}
 .yokocho-contacts .yk-footer-grid{display:none}
 .yokocho-contacts .yk-footer-bottom{justify-content:center;align-items:center;border:0;padding:0}
}
