/* Shared reading scale. Loaded after page styles so small legacy rules cannot
   shrink body copy, form controls or navigation on individual pages. */
:root{
 --font-body:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;
 --font-display:Manrope,'Noto Sans JP',sans-serif;
 --text-body:18px;
 --text-ui:16px;
 --text-small:14px;
 --text-caption:12px;
 --color-muted:#4b6072;
}
body{font-size:var(--text-body);line-height:1.85;letter-spacing:.025em;font-weight:400}
h1,h2,h3{letter-spacing:-.035em}
p{overflow-wrap:break-word;text-wrap:pretty}
.page-hero h1,.company-section-heading h2{text-wrap:balance}
.desktop-nav a{font-size:15px;font-weight:500}
.header-contact,.home-page .header-contact{font-size:var(--text-small);font-weight:500;white-space:nowrap}
.button,.contact-cta .button,.flow-contact .button,
.inline-link,.product-copy>.inline-link,.text-action,
.flow-link,.flow-section-top>.flow-link,.flow-company-detail .flow-link,
.maxim-today-links .inline-link,.maxim-teaser-more{font-size:var(--text-ui);font-weight:500;line-height:1.6;letter-spacing:.02em}
.button{justify-content:center;min-height:54px}
.inline-link,.flow-link,.text-action{min-height:48px}
.flow-company-detail>div{flex-wrap:wrap}
.flow-company-detail .flow-link{gap:25px}
.flow-lead,.flow-description,.flow-manifesto>p:last-child,.flow-company-detail>p,
.product-copy>p:not(.micro),.flow-products .product-copy>p,
.editorial-hero>p,.page-hero>p:last-of-type,.editorial-list p:not(.micro),
.support-contact p,.support-targets p,.contact-layout aside p,
.maxim-hero-grid>div>p,.maxim-origin-copy>div>p,
.maxim-origin-statement>p,.maxim-fit-heading>p,
.maxim-information .maxim-story-heading>p,.maxim-keywords-heading>p:not(.eyebrow),
.maxim-keyword>div>p:last-child,.maxim-today p:not(.eyebrow),.process-copy>p:last-child,
.company-hero-copy>p:last-child,.company-section-heading p,.capability-copy>p,
.company-message-inner>div:last-child,.company-principles-detail p{
 font-size:var(--text-body);line-height:1.85;color:#40576b;letter-spacing:.025em;
}
.product-copy>p:not(.micro){max-width:560px;min-height:0}
.company-table>div{font-size:var(--text-body);line-height:1.8}
.company-table dt{color:var(--color-muted)}
.policy p,.policy ul,.policy ol,.policy li{font-size:var(--text-body);line-height:1.9;color:#40576b}
.policy h2{font-size:26px;line-height:1.6}
.policy .policy-draft>p,.policy-draft>span,.policy .policy-version,.policy .policy-staging-note{font-size:var(--text-small);line-height:1.85}
.form-field label{font-size:var(--text-ui);font-weight:500}
.form-field label>span{font-size:var(--text-caption)}
input:not([type=checkbox]),select,textarea{font-size:var(--text-ui);line-height:1.6}
input::placeholder,textarea::placeholder{color:#627284;opacity:1}
.checkbox-label,#form-status{font-size:var(--text-ui);line-height:1.85}
.form-contact-note,.contact-layout aside .contact-note{font-size:var(--text-small);line-height:1.85;color:#4b6072}
.character-count{font-size:var(--text-caption)}
.news-row,.flow-news .news-row{font-size:var(--text-body);line-height:1.7}
.news-row time{font-size:var(--text-small);font-weight:500}
.news-tag{font-size:var(--text-caption)}
.event-card h3{font-size:var(--text-body);line-height:1.8;font-weight:500;letter-spacing:.01em}
.era-nav a{font-size:16px}
.era-nav small{font-size:var(--text-caption)}
.historical-note{font-size:var(--text-caption);line-height:1.8;color:#4b6072}
.micro,.eyebrow,.flow-section-label,.company-small-heading,.support-label,
.process-copy .micro,.company-hero-copy>p:first-child{font-size:var(--text-small);letter-spacing:.04em}
.company-small-heading,.company-section-heading p,.capability-copy>p{color:#40576b}
.capability-tabs button{font-size:17px;line-height:1.7;font-weight:500}
.company-delivery-records span{font-size:var(--text-body)}
.company-delivery-records small,.support-methods,.company-support-detail>p:not(.support-methods){font-size:var(--text-small);line-height:1.8;color:#40576b}
.company-principles details,.company-principles-detail ul{font-size:var(--text-ui);line-height:1.9}
.company-principles-detail h3{font-size:20px}
.maxim-name-key{font-size:var(--text-small);line-height:1.7;gap:20px}
.maxim-computer figcaption,.maxim-office figcaption,.maxim-today-photo figcaption,
.process-visual figcaption,.company-hero-photo figcaption{font-size:var(--text-caption);line-height:1.7}
.maxim-today .maxim-product-note{font-size:var(--text-small)}
.maxim-teaser>strong{font-size:20px;line-height:1.7}
.footer-grid p,.footer-links{font-size:var(--text-small);line-height:1.8}
.footer-grid p,.footer-bottom{color:#4b6072}
.footer-bottom{font-size:var(--text-caption)}
.footer-links a{padding-block:5px}
.site-footer .footer-links a,.site-footer .footer-bottom a{font-family:var(--font-body);font-size:var(--text-ui);font-weight:500;line-height:1.8;letter-spacing:.025em}
.editorial-list article{grid-template-columns:60px minmax(0,1fr) 110px}
.editorial-list h2{padding-right:0}
.maxim-principle-list .maxim-keyword{grid-template-columns:65px minmax(0,1fr);gap:22px;align-items:start}
.maxim-principle-number{font:500 36px/1.5 var(--font-display);color:#2058bd;letter-spacing:0}
.maxim-principle-list h3{font-size:27px;line-height:1.7;font-weight:500;letter-spacing:-.025em}

@media(max-width:1100px){
 .desktop-nav{display:none}.menu-toggle{display:block}.header-contact{margin-left:auto}
 .mobile-nav{top:100%;font-size:17px}
}
@media(max-width:700px){
 :root{--text-body:16px;--text-ui:16px;--text-small:14px;--text-caption:12px}
 .site-header,.home-page .site-header{gap:12px}
 .home-page .header-contact{padding:9px 14px!important}
 .header-contact{font-size:13px}
 .editorial-list article{grid-template-columns:30px minmax(0,1fr);gap:15px}
 .editorial-list .text-action{grid-column:2}
 .editorial-list h2{font-size:25px;line-height:1.6}
 .company-table>div{grid-template-columns:1fr;gap:8px;padding-block:22px}
 .company-table dt{font-size:var(--text-small);font-weight:500}
 .capability-tabs{gap:8px}
 .capability-tabs button{font-size:14px;min-height:80px;word-break:keep-all;overflow-wrap:normal;letter-spacing:0}
 .company-delivery-records>div{gap:22px;align-items:flex-start}
 .support-methods{gap:12px;flex-wrap:wrap}
 .maxim-name-key{flex-direction:column;gap:4px;font-size:12px;letter-spacing:.02em}
 .maxim-today-links{flex-wrap:wrap;justify-content:center}
 .maxim-keyword{grid-template-columns:60px minmax(0,1fr);gap:16px}
 .maxim-principle-list .maxim-keyword{grid-template-columns:38px minmax(0,1fr);gap:16px}
 .maxim-principle-number{font-size:26px;line-height:1.7}
 .maxim-principle-list h3{font-size:22px}
 .maxim-initial{font-size:67px}
 .maxim-word{font-size:clamp(22px,6.4vw,28px);overflow-wrap:normal;letter-spacing:-.03em}
 .maxim-today h2{font-size:27px;letter-spacing:-.04em}
 .maxim-teaser{grid-template-columns:100px minmax(0,1fr);gap:22px 20px}
 .maxim-teaser>strong{font-size:16px}
 .maxim-teaser-more{grid-column:1/-1}
 .news-row{gap:14px}
 .era-nav a{font-size:14px;padding-inline:4px}
 .era-nav small{font-size:11px}
 .footer-bottom{gap:16px}
 .footer-bottom>a:first-of-type{margin-left:0}
 .company-hero-copy>p:last-child{max-width:100%}
 .flow-lead{max-width:100%}
 .flow-manifesto>p:last-child br{display:none}
}
@media(max-width:360px){
 .flow-panel-copy h2 br:nth-of-type(2){display:initial}
 .site-header,.home-page .site-header{padding-inline:20px;gap:8px}
 .brand img,.home-page .brand img{width:84px}
 .header-contact,.home-page .header-contact{font-size:12px;padding:9px 12px!important}
 .editorial-list h2{font-size:23px}
 .capability-tabs{grid-template-columns:1fr;gap:0}
 .capability-tabs button{font-size:14px;min-height:54px;padding-block:12px}
 .maxim-word{font-size:22px}
 .maxim-keyword{grid-template-columns:50px minmax(0,1fr);gap:12px}
 .maxim-initial{font-size:60px}
 .maxim-teaser{grid-template-columns:1fr}
 .maxim-teaser-logo{max-width:170px}
 .era-nav a{font-size:13px}.era-nav small{font-size:10px}
}
