/* Clear Gothic typography, consistent weights and optical logo alignment. */
body{font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,Arial,sans-serif;font-weight:500;letter-spacing:.02em}
h1,h2,h3,.hero h1,.section-label span:first-child,.wordmark{font-family:inherit}
h2,h3,.hero-title h2{font-weight:600;letter-spacing:.035em}
.section-label span:first-child{font-weight:600;letter-spacing:.04em}
.section-label span+span,.eyebrow,header nav{font-weight:500;letter-spacing:.05em}
.about-content p,.section-title>p,.panel-copy p:not(.en),.company dd{font-size:16px;line-height:2;letter-spacing:.025em}
.message-section .message-stanzas p{font-weight:500;letter-spacing:.025em;line-height:2.15}
.message-signature{display:flex;flex-direction:column;align-items:center}
.message-section .message-signature p{width:100%;max-width:none;margin:0 auto 22px;font-size:14px;font-weight:500;letter-spacing:.025em;line-height:1.8;text-align:center}
.message-signature img{margin:0 auto;transform:translateX(-3.25%)}
.contact h2{font-weight:600;letter-spacing:.025em;font-size:clamp(25px,3vw,36px);line-height:1.6;text-wrap:balance}
.contact .contact-content>p:not(.eyebrow){font-size:16px;line-height:2;letter-spacing:.02em;color:var(--ink)}
.contact p.contact-status{position:relative;z-index:1;font-size:14px;font-weight:500;letter-spacing:.02em;line-height:1.8;margin:30px auto 0;color:#648297}
@media(max-width:760px){.message-section .message-stanzas p{font-size:16px;letter-spacing:.015em}.message-section .message-signature p{font-size:14px;letter-spacing:0}.contact .contact-content>p:not(.eyebrow){text-wrap:pretty}.contact .contact-content>p:not(.eyebrow) br{display:none}.contact h2{font-size:25px}.panel-copy p:not(.en){font-size:16px}}

.about-photo-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:center;max-width:1120px}.about-photo{margin:0}.about-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:6px}.about-photo-layout .section-label,.about-photo-layout .about-content{text-align:left}.about-photo-layout .about-content h2{font-size:28px}.about-photo-layout .about-content h2 br{display:block}.about-photo-layout .about-content p br{display:none}
@media(max-width:760px){.about-photo-layout{grid-template-columns:1fr;gap:28px}.about-photo{max-width:440px;width:100%;margin:auto}.about-photo-layout .about-content h2{font-size:26px}}

.contact,.contact *{text-shadow:none!important;filter:none!important;backdrop-filter:none!important}.about-photo img{aspect-ratio:3/2;object-fit:cover}
