/* Typography adaptation; original Kage world and camera rig retained. */
body[data-layout-footer="b"] .foot-brand{grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start}
body[data-layout-footer="b"] .footer-profile{min-width:0}
body[data-layout-footer="b"] .footer-profile h3{font-size:24px;line-height:1.4;letter-spacing:.02em;white-space:nowrap;margin:0}
body[data-layout-footer="b"] .footer-profile p{font-size:14px;line-height:1.8;max-width:none;margin:10px 0 0;white-space:normal}
.footer-contact{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;font-size:14px;line-height:1.8}
.foot-brand .footer-contact{flex-direction:column;align-items:flex-start;gap:8px;padding-right:24px}
.contact-copy{font:inherit;line-height:inherit;color:inherit;padding:0;border:0;background:transparent;cursor:pointer;white-space:nowrap;text-align:left}
.contact-copy span{font-variant-numeric:tabular-nums;margin-left:8px}
.contact-copy:hover,.footer-contact a:hover{color:#ef9b8e}
body[data-layout-closing="b"] .fin p:nth-of-type(2){grid-row:3}
body[data-layout-closing="b"] .fin p:nth-of-type(3){grid-row:4}
body[data-layout-closing="b"] .fin .cta{grid-row:5}
body[data-layout-closing="b"] .fin h2{grid-row:1 / 6}
@media(max-width:820px){body[data-layout-footer="b"] .foot-brand{grid-template-columns:minmax(0,1fr);row-gap:22px}body[data-layout-footer="b"] .foot-base{display:flex;flex-wrap:wrap;gap:12px 24px}body[data-layout-footer="b"] .footer-profile h3{font-size:22px}}
body{font-family:'Onest','PingFang SC','Microsoft YaHei',sans-serif}
.jp{font-family:'PingFang SC','Microsoft YaHei',sans-serif}
.display{letter-spacing:.015em;line-height:1.2}
.hero-sub{font-size:15px;line-height:1.7;max-width:30em}
.h-hero{font-size:clamp(28px,3.05vw,46px)}
.hero-side .v{letter-spacing:.3em}
.gate-grid h2,.cur-head h2{max-width:12em}
.body,.lead,.body-lg{line-height:1.9}
.gate-copy .body,.gate-copy .lead{font-size:16px}
.card-lab b{font-size:clamp(20px,2vw,32px)}
a.card{display:block}
.card-meta{font-size:13px}
.les p,.foot-brand p{font-size:14px;line-height:1.8}
.nav-links .nav-link{font-size:13px;letter-spacing:.15em}
.word-fb{font-family:'Onest',sans-serif!important}
a:focus-visible,button:focus-visible{outline:2px solid #e0231c;outline-offset:5px}
.fin .body-lg{max-width:38em;font-size:clamp(15px,1.2vw,18px);line-height:2;text-wrap:pretty}
.fin .reflection{margin-top:20px}
.fin{padding-top:110px;padding-bottom:110px}
@media(max-width:820px){.hero-sub{font-size:14px}.brand-tx b{font-size:12px}.brand-tx i{font-size:8px}.les h3 em{display:block;margin:6px 0 0}.hero-side .v{font-size:22px}}
