/* Each approved page provides its own breadcrumb to the unified routes. */
main>.crumb{display:none}

/* Readability and touch areas, preserving the approved composition. */
.footer-identity>a{display:inline-flex;align-items:center;min-height:44px}
.complete-footer nav a{min-width:44px}
@media(max-width:700px){.stack-card-label,.stack-card-label>span:last-child{font-size:12px}}

/* Polish pass 1. Keep the approved structure, palette and typefaces. */
:where(.voice-jp,.rest-jp,.title-jp,.section-jp,.update-title,.info-news-row h2){font-feature-settings:"palt"}
.polish-secondary{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:56px;min-width:180px;padding:10px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;position:relative;background:transparent;color:var(--ink);font:400 15px/1.6 var(--body-text);letter-spacing:.025em;cursor:pointer;transition:color .3s ease}
.polish-secondary>span:last-child{font:400 22px/1 var(--body-text);transition:transform .3s ease}
.polish-secondary::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.polish-secondary:hover::after{transform:scaleX(1)}
.polish-secondary:hover>span:last-child{transform:translate(2px,-2px)}
.polish-secondary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.news-article-link{margin:0 0 28px auto;display:flex;width:fit-content}
.news-all-link{display:flex;width:fit-content;margin:32px 0 0 auto}
.visit-info .rest-heading>p{max-width:34em}
@media(max-width:700px){.polish-secondary{font-size:14px;min-width:160px}.service-bottom{gap:20px 30px}}
@media(prefers-reduced-motion:reduce){.polish-secondary,.polish-secondary::after,.polish-secondary>span:last-child{transition:none}}
html[data-motion='quiet'] .polish-secondary,html[data-motion='quiet'] .polish-secondary::after,html[data-motion='quiet'] .polish-secondary>span:last-child{transition:none}

#form-back:hover>span:last-child{transform:translate(-2px,0)}

/* Check fixes v1: a coherent text scale, with branding treated as artwork. */
.complete-wordmark img{height:1.12em;width:auto;max-width:none;display:block}
.site-disclaimer{font-size:16px;line-height:1.9}
.yfv-floor{align-items:center!important}
.measure-button,.measure-picture figcaption{border-radius:999px!important}
.measure-picture,.first-photo img,.yura-new-photo img,.stack-card-body figure{border-radius:18px}
.measure-title{font-size:clamp(48px,7.2vw,112px)!important}
.measure-project-heading h2,.rest-heading h2,.closing-panel h2{font-size:clamp(48px,7.2vw,112px)!important}
.voice-note h3,.voice-note .name-en,.stack-description h3,.admission-table .visit-price{font-size:clamp(34px,4.1vw,64px)!important}
.arrival-heading h3>span:first-child,.arrival-number,.rate-list dd,.admission-table dd{font-size:clamp(24px,2.5vw,44px)!important}
.play-steps h3,.arrival-steps h4,.info-label>span:first-child{font-size:24px!important}
.measure-description,.measure-project-heading>p,.rest-heading>p,.arrival-heading>p,.closing-copy>p:first-child{font-size:17px!important;line-height:1.9!important}
.title-jp,.section-jp,.rest-jp,.voice-note .name-jp,.stack-description .name-jp,.info-label>span:last-child,.arrival-heading h3>span:last-child{font-size:17px!important}
@media(max-width:700px){
 .measure-picture,.first-photo img,.yura-new-photo img,.stack-card-body figure{border-radius:10px}
 .measure-title,.measure-project-heading h2,.rest-heading h2,.closing-panel h2{font-size:48px!important}
 .measure-description,.measure-project-heading>p,.rest-heading>p,.arrival-heading>p,.closing-copy>p:first-child,.title-jp,.section-jp,.rest-jp{font-size:16px!important}
 .voice-note h3,.voice-note .name-en,.stack-description h3{font-size:34px!important}
}

/* Final shared scale: body, small heading, numbers, section title, feature. */
body{--type-copy:17px;--type-small:24px;--type-number:34px;--type-section:clamp(48px,7.2vw,112px);--type-name:clamp(34px,4.1vw,64px);--type-feature:clamp(68px,10.2vw,196px)}
.site-disclaimer{font-size:17px!important;line-height:1.9;max-width:48em;margin-inline:auto}
.measure-title .title-line{font-size:inherit!important}
.measure-picture figcaption span:last-child,.fact-value,.rate-row .rate-number,.arrival-heading h3>span:first-child,.arrival-number{font-size:var(--type-number)!important}
.rate-row:first-child .rate-number,.closing h2>span:first-child{font-size:var(--type-feature)!important}
.stack-description h3 .name-en,.voice-note h3 .name-en{font-size:var(--type-name)!important}
.update-title,.update-toggle,.measure-button>span:last-child,.rest-action>span:last-child,.polish-secondary>span:last-child,.yfv-entry>span{font-size:var(--type-small)!important}
.voice-note p,.rate-unit,.measure-description,.measure-project-heading>p,.rest-heading>p,.arrival-heading>p,.closing-copy>p:first-child,.title-jp,.section-jp,.rest-jp,.voice-note .name-jp,.stack-description .name-jp,.info-label>span:last-child,.arrival-heading h3>span:last-child{font-size:var(--type-copy)!important}
.measure-description,.measure-project-heading>p,.rest-heading>p,.arrival-heading>p,.closing-copy>p:first-child{max-width:36em}
@media(max-width:700px){body{--type-copy:16px;--type-name:34px;--type-section:48px;--type-feature:68px}.site-disclaimer{font-size:16px!important}}
.title-jp,.rest-jp{width:fit-content;max-width:36em}
.measure-button,.yfv-sr-only{font-size:var(--type-copy)!important}
@media(min-width:701px) and (max-width:1024px){.rest-section{padding-bottom:104px}}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:clip}
.site-disclaimer{box-sizing:border-box}
.form-panel form{font-size:17px;max-width:48em}
.voice-story-copy .voice-lead,.voice-facts dd,.voice-text-link>span{font-size:20px!important}
body:has(.visit-page) .site-disclaimer{max-width:48em}
@media(min-width:701px){.visit-page .voice-facts dd{font-size:22px!important}}
