/* P1 opt-in tokens. Font/brand files supplied by owner; excluded from review ZIP. */
@font-face{font-family:YK Inter;src:url('../fonts/inter-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:YK Inter;src:url('../fonts/inter-bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:YK Chaney;src:url('../fonts/chaney-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:YK Chaney Wide;src:url('../fonts/chaney-wide.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:YK Chaney Extended;src:url('../fonts/chaney-extended.woff2') format('woff2');font-weight:400;font-display:swap}
body.yokocho-shell{
    --yk-ink:#010a07;--yk-deep:#042118;--yk-green:#11362a;--yk-mid:#2d594b;
    --yk-sage:#5a9684;--yk-gold:#f2ba48;--yk-white:#fff;
    --yk-body:'YK Inter',Arial,sans-serif;--yk-display:'YK Chaney',Arial,sans-serif;
    --yk-wide:'YK Chaney Wide',Arial,sans-serif;--yk-extended:'YK Chaney Extended',Arial,sans-serif;
    --yk-menu-rule:#31574b;--yk-eyebrow-size:14px;--yk-eyebrow-tracking:.3em;
    --yk-gutter:clamp(20px,3.5vw,50px);--yk-rule:rgb(255 255 255 / .25);
    margin:0;width:100%;max-width:none;min-height:100svh;display:flex;flex-direction:column;background:var(--yk-deep);color:var(--yk-white);font:400 16px/1.6 var(--yk-body);
    overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;
}
.yokocho-shell *,.yokocho-shell *::before,.yokocho-shell *::after{box-sizing:border-box}
.yokocho-shell a{color:inherit;text-decoration:none}
.yokocho-shell a:hover{text-decoration:underline;text-underline-offset:.25em}
.yokocho-shell :focus-visible{outline:3px solid var(--yk-gold);outline-offset:5px}
.yokocho-shell .yk-container{width:100%;max-width:none;margin-inline:0;padding-inline:var(--yk-gutter)}
.yokocho-shell .yk-skip{position:fixed;top:8px;left:16px;z-index:999999;background:var(--yk-gold);color:var(--yk-ink);padding:12px 20px;transform:translateY(-200%)}
.yokocho-shell .yk-skip:focus{transform:translateY(0)}
.yokocho-shell .yk-header{width:100%;background:linear-gradient(var(--yk-ink),transparent);position:relative;z-index:20}
.yokocho-shell .yk-header-bar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;min-height:136px;gap:20px;padding-inline:20px}
.yokocho-shell .yk-brand{display:block;line-height:0}
.yokocho-shell .yk-brand img{display:block;width:125px;height:125px;max-width:none}
.yokocho-shell .yk-header-actions{display:flex;align-items:center;justify-self:end;gap:16px}
.yokocho-shell .yk-header-booking .yk-button{min-width:180px;min-height:32px;padding:7px 22px}
.yokocho-shell .yk-menu-booking{display:none}
.yokocho-shell .yk-menu-booking .yk-button{width:100%;padding-inline:12px;font-size:12px}
.yokocho-shell .yk-languages{display:flex;gap:14px;font-size:17px;letter-spacing:-.04em}
.yokocho-shell .yk-languages a{padding-block:12px;min-width:24px}
.yokocho-shell .yk-languages [aria-current]{color:var(--yk-gold);text-decoration:underline;text-underline-offset:5px}
.yokocho-shell .yk-menu{justify-self:end;position:relative}
.yokocho-shell .yk-menu summary{cursor:pointer;list-style:none;display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent}
.yokocho-shell .yk-menu-icon{display:grid;gap:7px;width:34px}
.yokocho-shell .yk-menu-icon span{display:block;height:3px;width:100%;background:var(--yk-white)}
.yokocho-shell .yk-menu[open] .yk-menu-icon span:first-child{transform:translateY(10px) rotate(45deg)}
.yokocho-shell .yk-menu[open] .yk-menu-icon span:nth-child(2){opacity:0}
.yokocho-shell .yk-menu[open] .yk-menu-icon span:last-child{transform:translateY(-10px) rotate(-45deg)}
.yokocho-shell .yk-menu summary::-webkit-details-marker{display:none}

.yokocho-shell .yk-menu nav{position:absolute;right:0;top:calc(100% + 12px);width:min(340px,calc(100vw - 55px));padding:28px;background:var(--yk-deep);border:1px solid var(--yk-rule);box-shadow:0 16px 40px #0006}
.yokocho-shell .yk-menu ul{list-style:none;margin:0 0 24px;padding:0}
.yokocho-shell .yk-menu li{margin:0}
.yokocho-shell .yk-menu li a{display:block;padding:10px 0;font-family:var(--yk-display);font-size:18px;line-height:1.4}
.yokocho-shell .yk-menu .sub-menu{padding-left:18px;margin:0}
.yokocho-shell .yk-menu .sub-menu a{font-family:var(--yk-body);font-size:16px}
.yokocho-shell .yk-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border:1px solid var(--yk-gold);border-radius:5px;background:var(--yk-gold);color:var(--yk-deep);font:400 14px/1 var(--yk-extended);text-transform:uppercase;white-space:nowrap;overflow-wrap:normal;text-align:center}
.yokocho-shell .yk-button:hover{background:var(--yk-white);text-decoration:none}
.yokocho-shell .yk-main{flex:1 0 auto;padding-block:clamp(40px,6vw,96px) clamp(60px,8vw,120px);min-height:50svh}
.yokocho-shell .yk-eyebrow{margin:0 0 32px;color:var(--yk-gold);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.yokocho-shell .yk-demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}
.yokocho-shell h1{margin:0 0 28px;font:400 clamp(28px,3.8vw,58px)/1.12 var(--yk-display);letter-spacing:-.025em;color:var(--yk-white);text-transform:uppercase}
.yokocho-shell .yk-prose{font-size:clamp(16px,1.4vw,20px);max-width:38em}
.yokocho-shell .yk-prose p{margin:0 0 24px}
.yokocho-shell .yk-text-link{display:inline-block;padding-block:12px;border-bottom:1px solid var(--yk-gold);color:var(--yk-gold)}
.yokocho-shell .yk-media{margin:0;min-width:0}
.yokocho-shell .yk-image,.yokocho-shell .yk-video{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--yk-green);border:0}
.yokocho-shell .yk-media-empty{aspect-ratio:4/3;display:grid;place-items:center;background:var(--yk-green);border:1px solid var(--yk-mid);font:400 80px/1 var(--yk-extended);color:var(--yk-sage)}
.yokocho-shell .yk-media-fallback{font-size:13px;margin:8px 0 0;text-decoration:underline}
.yokocho-shell .yk-footer{flex:0 0 auto;width:100%;background:linear-gradient(var(--yk-deep),var(--yk-ink) 40%);padding-block:56px 20px;font-size:14px;line-height:1.5;letter-spacing:-.02em}
.yokocho-shell .yk-footer-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:40px;border-top:1px solid var(--yk-rule);padding-block:12px 20px}
.yokocho-shell .yk-footer-info{min-width:0}
.yokocho-shell .yk-footer-info strong{display:block;margin-bottom:8px;font-size:15px}
.yokocho-shell .yk-footer-brand{display:block;line-height:0}
.yokocho-shell .yk-footer-brand img{display:block;width:110px;height:110px;max-width:none}
.yokocho-shell .yk-footer address{font-style:normal;margin:0;line-height:1.5}
.yokocho-shell .yk-footer-contacts{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:5px;row-gap:0}
.yokocho-shell .yk-footer a{padding-block:0}
.yokocho-shell .yk-footer a:hover{color:var(--yk-gold)}

.yokocho-shell .yk-footer-bottom{display:flex;align-items:baseline;gap:0;flex-wrap:wrap;border-top:1px solid var(--yk-rule);padding-top:20px;font-size:12px;line-height:1.6}
.yokocho-shell .yk-footer-bottom small{font-size:inherit}
.yokocho-shell .yk-legal-labels{display:flex;flex-wrap:wrap}
.yokocho-shell .yk-legal-labels span::before{content:"·";margin-inline:4px}
.yokocho-shell .yk-footer-bottom ul{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 0 12px;padding:0;list-style:none}
@media(max-width:900px){
    .yokocho-shell .yk-header-booking{display:none}
    .yokocho-shell .yk-menu-booking{display:block}
}
@media(max-width:760px){
    .yokocho-shell .yk-header-bar{min-height:104px;gap:12px}
    .yokocho-shell .yk-header-actions{gap:0}
    .yokocho-shell .yk-brand img{width:90px;height:90px}
    .yokocho-shell .yk-languages{gap:10px;font-size:15px}
    .yokocho-shell .yk-demo-grid{grid-template-columns:1fr}
    .yokocho-shell .yk-footer{padding-top:40px}
    .yokocho-shell .yk-footer-grid{grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:start;padding-block:20px 24px}
    .yokocho-shell .yk-footer-brand img{width:88px;height:88px}
    .yokocho-shell .yk-footer-contacts{display:block}
    .yokocho-shell .yk-footer-contacts a{display:block}
    .yokocho-shell .yk-footer-contacts>span{display:none}
    .yokocho-shell .yk-footer-bottom{display:block}
    .yokocho-shell .yk-legal-labels{display:inline}
    .yokocho-shell .yk-footer-bottom ul{margin:8px 0 0}
}
@media(prefers-reduced-motion:reduce){.yokocho-shell{scroll-behavior:auto}.yokocho-shell *{animation:none!important;transition:none!important}}

/* Preserve layout width without changing viewport units used by editorial type.
   A permanent root scrollbar-gutter would shrink vw-based approved typography. */
html.lenis,html.lenis body{scroll-behavior:auto!important}
html.yk-scroll-locked,html.yk-scroll-locked.lenis.lenis-stopped{overflow:hidden!important;overscroll-behavior:none;padding-right:var(--yk-scrollbar,0px)}
html.yk-scroll-locked .yk-header{width:auto!important;right:var(--yk-scrollbar,0px)!important}
/* Root overflow changes sticky containment. Reserve Menu's in-flow header
   while its chrome is fixed during any overlay, retaining the original geometry. */
html.yk-scroll-locked body:has(.ykm-menu) .yk-header{position:fixed;top:var(--yk-shell-admin-offset,0px);left:0}
html.yk-scroll-locked .ykm-menu{margin-top:var(--ykm-header)}
/* Embedded booking/media own their native input, even during smooth scrolling. */
html.lenis.lenis-smooth dialog iframe{pointer-events:auto}
/* Shared desktop editorial eyebrow; page-specific and mobile overrides follow. */
.ykh-home .yk-eyebrow,.ykr-page .yk-eyebrow{font-size:var(--yk-eyebrow-size);font-weight:700;letter-spacing:var(--yk-eyebrow-tracking);margin-bottom:32px}
