/* v33: one Japanese voice, distinct editorial and information roles.
   Loaded last so page-specific legacy type rules cannot fragment this system. */
:root {
 --ja:"Zen Kaku Gothic New","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
 --latin:InterVariable,Arial,sans-serif;
 --sans:InterVariable,var(--ja); --serif:var(--sans); --mono:var(--sans);
 --product-sans:InterVariable,"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
 --ink:#111; --muted:#646464; --line:#dedede; --wash:#f7f7f7;
 --type-body:16px; --type-reading:2.05; --type-tracking:.025em;
}
body{font-family:var(--sans);font-weight:400;font-size:var(--type-body);line-height:1.95;letter-spacing:var(--type-tracking);font-kerning:normal;font-optical-sizing:auto;font-feature-settings:normal;font-synthesis:none;line-break:strict;word-break:normal}
button,input,textarea,select{font-family:var(--sans)}
h1,h2,h3{font-family:var(--sans);font-weight:400;font-feature-settings:"palt" 1;letter-spacing:.01em}
strong,b{font-weight:700}

/* Display copy: the kana's own space does the work; no negative tracking. */
.spatial-statement h1{font-family:var(--sans);font-size:clamp(36px,4.1vw,62px);font-weight:500;letter-spacing:.015em;line-height:1.52}
.spatial-resolution>p{font-weight:400;letter-spacing:.005em;line-height:1.65;font-feature-settings:"palt" 1}
.page-hero h1,.product-hero h1,.radio-program-copy h1{font-family:var(--sans);font-weight:400;letter-spacing:.005em;line-height:1.52;font-feature-settings:"palt" 1}
.page-hero h1,.product-hero h1{font-size:clamp(38px,4.65vw,68px)}
.directory-heading h1{font-weight:400;letter-spacing:.005em;line-height:1.48}
.news-article-head h1{font-weight:400;letter-spacing:.01em;line-height:1.65}
.company-about h1{font-weight:400;letter-spacing:.005em;line-height:1.42}
.company-manifesto h2{font-weight:400;letter-spacing:.005em;line-height:1.5}
.purpose-v28 .purpose-title{font-weight:400;letter-spacing:.005em;line-height:1.65;font-feature-settings:"palt" 1}
.purpose-word{font-weight:400;letter-spacing:0;font-feature-settings:"palt" 1}
.business-intro-title{font-weight:400;letter-spacing:.005em;line-height:1.65;font-feature-settings:"palt" 1}
.business-story .story-copy>p.story-tagline{font-weight:400;letter-spacing:.01em;line-height:1.65;font-feature-settings:"palt" 1}
.company-editorial h3,.directory-contact>p{font-weight:400;letter-spacing:.005em;line-height:1.65}
.contact-invitation>span:first-child{font-weight:400;letter-spacing:.005em;line-height:1.5}
.footer-statement{font-weight:400;letter-spacing:.015em;line-height:1.85}

/* Section copy and small headings have different densities. */
.numbered-heading h2,.feature-copy h2,.product-intro h2,.radio-listen h2,.company-contact h2,.furu-invitation h2,.film-heading h2,.qr-story-heading h3{font-weight:400;letter-spacing:.01em;line-height:1.65}
.process-grid h3,.furu-values h3,.hakogaki h3,.feature-copy h3,.contact-main h2,.contact-services h2,.news-article-body h2{font-weight:500;letter-spacing:.015em;line-height:1.65}
.question-list p{font-weight:400;letter-spacing:.01em;font-feature-settings:"palt" 1;line-height:1.7}
.chapter-label h2{font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:.055em;font-feature-settings:normal}

/* Reading copy keeps full-width Japanese rhythm, with comfortable leading. */
.page-hero .lead,.product-hero .lead,.radio-program-copy .lead,
.purpose-reading-v28>p,.company-about-description,.company-manifesto-copy>p,
.business-intro-copy>p+p,.directory-business-copy>p,
.feature-copy>p:not(.eyebrow):not(.service-name):not(.small-note),
.numbered-heading>div>p,.product-intro>p:not(.eyebrow),
.business-story .story-copy>p:not(.story-tagline):not(.small-note),
.company-editorial>p,.process-grid p,.furu-values p:not(.eyebrow),
.qr-story-heading>p,.furu-invitation>p:not(.eyebrow),
.company-contact>p:not(.eyebrow),.contact-main>p:not(.eyebrow):not(.small-note),
.radio-listen>p:not(.eyebrow):not(.small-note),.faq-list details>div{
 font-size:var(--type-body);font-weight:400;letter-spacing:var(--type-tracking);line-height:var(--type-reading);font-feature-settings:normal
}
.company-about-lead{font-weight:400;letter-spacing:.025em;line-height:1.85}
.news-article-body p,.news-article-body li{font-size:16px;line-height:2.1;letter-spacing:.025em;font-feature-settings:normal}
.company-profile dd{line-height:2;letter-spacing:.02em}
.company-address{font-size:16px;letter-spacing:.02em;line-height:1.95}
.leadership-name{font-size:18px;font-weight:500;letter-spacing:.04em}
.leadership-role{font-size:12px;font-weight:400;letter-spacing:.02em}

/* Interface labels: neither display spacing nor faint, undersized text. */
.desktop-nav{font-size:13px;font-weight:500;letter-spacing:.035em}
.header-cta{font-size:13px;font-weight:500;letter-spacing:.025em}
.button,.editorial-link,.text-link,.service-subnav a,.radio-info-link,.company-business-link,.company-page-index a,.company-chapter-note{font-weight:500;letter-spacing:.025em;font-feature-settings:normal}
.button,.editorial-link{font-size:14px}
.footer-nav a{font-size:13px;letter-spacing:.02em;font-weight:400}
.mobile-menu .menu-primary a{font-weight:400;letter-spacing:.02em}
.faq-list summary{font-weight:500;letter-spacing:.02em;font-feature-settings:normal}
.culture-grid figcaption>strong{font-weight:500;letter-spacing:.015em}
.culture-grid figcaption>span{font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:.07em}
.news-row-title{font-weight:500;letter-spacing:.015em}
.news-category,.news-preview-note{font-size:12px}
.company-profile-v26 dd.company-businesses>a>small{font-size:13px;letter-spacing:.015em}

/* Latin display names have their own spacing; Japanese never inherits it. */
.business-display,.directory-business-copy h2,.business-index strong,.business-ip-heading>h3,.company-manifesto-translation{font-family:var(--latin);font-weight:400;font-feature-settings:normal;letter-spacing:-.045em}
.business-display>span{font-family:var(--ja);letter-spacing:.04em;font-weight:400}
.business-index strong{letter-spacing:-.035em}
.eyebrow,.micro,.chapter-label h2 small,.directory-kicker,.business-index-meta,.company-chapter-label,.film-heading .eyebrow{font-family:var(--sans);font-weight:500;letter-spacing:.08em;font-feature-settings:normal}
.eyebrow,.chapter-label h2 small,.directory-kicker,.business-index-meta,.company-chapter-label{font-size:11px}
.company-about-figure figcaption{font-size:10px;letter-spacing:.07em}
.purpose-gloss{font-size:10px;letter-spacing:.08em}
.business-number,.news-date,.film-duration,.company-index-number,.footer-bottom{font-variant-numeric:tabular-nums}
.news-date{font-size:12px;letter-spacing:.025em}

/* The service interface is an existing product design, not corporate typography. */
.iphone-display{--sans:var(--product-sans);font-family:var(--product-sans);font-synthesis:weight style}

@media(max-width:1100px) and (min-width:761px){
 .desktop-nav{gap:22px}
 .page-hero h1,.product-hero h1{font-size:clamp(34px,4.4vw,48px)}
}
@media(max-width:760px){
 :root{--type-body:15px;--type-reading:2;--type-tracking:.02em}
 .spatial-statement h1{font-size:clamp(28px,7.55vw,42px);letter-spacing:0;line-height:1.6}
 .spatial-resolution>p{letter-spacing:0;line-height:1.6}
 .page-hero h1,.product-hero h1{font-size:clamp(32px,8.3vw,48px);line-height:1.6}
 .radio-program-copy h1{font-size:clamp(32px,8.1vw,46px);line-height:1.58}
 .directory-heading h1{font-size:clamp(32px,8.7vw,52px);line-height:1.6}
 .company-about h1{font-size:clamp(33px,9vw,60px);line-height:1.52}
 .company-manifesto h2{font-size:clamp(39px,10vw,60px);line-height:1.55}
 .purpose-v28 .purpose-title{font-size:clamp(25px,6.85vw,37px);line-height:1.72}
 .purpose-word{font-size:clamp(19px,5.35vw,31px);letter-spacing:0}
 .business-intro-title{font-size:27px;line-height:1.7}
 .company-editorial h3,.directory-contact>p{font-size:27px;line-height:1.7}
 .business-story .story-copy>p.story-tagline{font-size:25px;line-height:1.7}
 .feature-copy h2,.numbered-heading h2{font-size:clamp(26px,6.8vw,36px);line-height:1.7}
 .process-grid h3{font-size:21px}
 .contact-invitation>span:first-child{font-size:clamp(26px,7.4vw,42px)}
 .chapter-label h2{font-size:13px}
 .button,.editorial-link{font-size:13px}
 .culture-grid figcaption>span,.company-about-figure figcaption{font-size:10px}
 .eyebrow,.chapter-label h2 small,.directory-kicker,.business-index-meta,.company-chapter-label{font-size:10px;letter-spacing:.06em}
 .purpose-gloss{font-size:9px;letter-spacing:.035em}
 .company-page-index a{font-size:12px}
 .company-chapter-note{font-size:10px}
 .leadership-name{font-size:17px}
 .company-address{font-size:15px}
}
@media(max-width:374px){
 .page-hero h1,.product-hero h1{font-size:30px}
 .company-page-index a{font-size:11px}
 .purpose-gloss{font-size:8px}
}
