/* Visible language controls belong to the sticky main header at every viewport. */
header .language-row{display:flex;justify-content:flex-end;min-height:43px;border-bottom:1px solid var(--line);padding-top:5px;padding-bottom:5px}.language-switcher{display:flex;align-items:center;gap:5px;font-size:13px;line-height:1.3}.language-label{color:var(--muted);margin-right:10px}.language-switcher a{display:inline-block;padding:8px 12px;border:1px solid var(--line);border-radius:4px;background:#fff;white-space:nowrap;min-height:34px}.language-switcher a[aria-current=true],.language-switcher a:hover{background:var(--blue);color:#fff;border-color:var(--blue)}.navrow{min-height:78px}.navlinks a{padding-top:24px;padding-bottom:24px}.navlinks{gap:18px}.navlinks a{font-size:15px}.topline .wrap{gap:20px}html{scroll-padding-top:145px}.section>h2{margin-bottom:30px}.section>p{margin-top:22px}.split h2{margin-bottom:24px}.split p+p{margin-top:18px}.split .textlink{display:inline-block;margin-top:20px}.service-card p{margin-top:20px}.service-item ul{padding-left:23px}.news-toolbar{margin-bottom:34px}.news-filter{font:inherit;background:#fff;color:var(--ink);border:1px solid var(--line);padding:10px 17px;cursor:pointer}.news-filter[aria-pressed=true]{background:var(--navy);color:#fff}.news-toolbar>p{font-size:15px;margin-top:12px}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 28px}.news-card{border:1px solid var(--line);background:white;min-width:0}.news-card>a{display:block;height:100%}.news-thumb{aspect-ratio:16/10;background:var(--pale);overflow:hidden}.news-thumb img{height:100%;object-fit:cover;transition:transform .2s}.news-card:hover .news-thumb img{transform:scale(1.025)}.news-card-copy{padding:25px}.news-meta{display:flex;flex-wrap:wrap;gap:8px 15px;align-items:center;font-size:13px;color:var(--muted);margin-bottom:15px}.news-meta span:first-child{color:var(--blue);font-weight:600}.news-card h2{font-size:25px;line-height:1.2;letter-spacing:-.01em;margin-bottom:18px}.news-card p{font-size:16px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.news-card .textlink{display:inline-block;margin-top:23px;font-size:16px}.news-art{height:100%;padding:30px;background:linear-gradient(125deg,#062f54,#005bac);color:white;display:flex;flex-direction:column;justify-content:space-between}.news-art strong{font-size:62px;line-height:1}.article-head{padding-top:50px;padding-bottom:40px;max-width:1120px}.article-head>.textlink{display:inline-block;margin-bottom:30px}.article-head h1{font-size:clamp(34px,4.3vw,62px);line-height:1.15;max-width:1020px}.article-photo{max-width:1120px}.article-photo img{max-height:650px;object-fit:contain;background:var(--pale);width:100%}.article-body{max-width:850px;margin:48px auto;padding:0 30px;font-size:20px;line-height:1.85}.article-body p+p{margin-top:25px}.article-navigation{display:grid;grid-template-columns:1fr 1fr;gap:50px;max-width:1120px;padding-top:30px;padding-bottom:70px;border-top:1px solid var(--line)}.article-navigation strong{font-size:22px;line-height:1.4;display:block}.article-navigation .eyebrow{margin-bottom:12px}.office-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.office-card{padding:32px;border:1px solid var(--line);background:#fff}.office-card:first-child{grid-column:1/-1;background:var(--pale)}.office-card h3{margin-bottom:22px}.office-card address{font-style:normal;color:var(--muted);line-height:1.8;max-width:720px;margin-bottom:20px}.office-card p{margin-bottom:20px}.contact-direct{background:var(--navy);color:#fff;padding:25px 30px;margin-bottom:28px;display:flex;flex-wrap:wrap;gap:15px 30px;overflow-wrap:anywhere}.directory-cta{padding-top:25px;padding-bottom:40px}html[lang=ja] body{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.85;overflow-wrap:anywhere}html[lang=ja] h1,html[lang=ja] h2,html[lang=ja] h3{letter-spacing:0;line-height:1.4}html[lang=ja] h1{font-size:clamp(30px,4vw,58px)}html[lang=ja] h2{font-size:clamp(27px,3vw,43px)}html[lang=ja] .news-card h2{font-size:22px}html[lang=ja] .eyebrow{letter-spacing:.04em}html[lang=vi] body{font-family:Barlow,Arial,sans-serif}html[lang=vi] h1,html[lang=vi] h2,html[lang=vi] h3{line-height:1.2}html[lang=vi] .eyebrow{letter-spacing:.06em}html:not([lang=en]) .split .data-center-figure img{object-fit:contain}html:not([lang=en]) .split img[src*=smbe]{object-fit:contain;height:auto}.news-card[hidden]{display:none!important}@media(max-width:1250px){.menu{display:block;margin-left:auto}.navrow{min-height:78px}.navlinks{display:none;position:absolute;top:121px;left:0;right:0;background:white;padding:20px 32px;border-bottom:1px solid var(--line);margin:0}.navlinks.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.navlinks a{padding:14px 0;font-size:18px}.navlinks .contact-link{margin-top:14px;text-align:center}}@media(max-width:950px){.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){header .language-row{padding-left:15px;padding-right:15px;justify-content:center}.language-label{font-size:11px;margin-right:4px}.language-switcher{gap:4px}.language-switcher a{padding:8px 10px;font-size:12px}.navrow{min-height:74px}.navlinks{top:117px;padding:18px 22px}.news-grid,.office-grid,.article-navigation{grid-template-columns:1fr}.news-card h2{font-size:25px}.office-card{padding:25px}.office-card:first-child{grid-column:auto}.contact-direct{padding:22px;gap:15px;font-size:16px}.article-head{padding-top:30px;padding-bottom:28px}.article-body{font-size:18px;margin:30px auto;padding:0 22px}.article-navigation{gap:30px}.news-card-copy{padding:23px}html[lang=ja] .hero h1,html[lang=ja] .pagehead h1{font-size:32px}}@media(prefers-reduced-motion:reduce){.news-thumb img{transition:none}}
/* Keep archive photographs within their real source dimensions. */
.article-photo img{width:auto;max-width:100%;max-height:650px;margin:0 auto;object-fit:contain;background:transparent}.article-photo{max-width:calc(var(--photo-width,1008px) + 112px)}.news-card h3{font-size:25px;line-height:1.2;letter-spacing:-.01em;margin-bottom:18px}.home-news .section-head{align-items:flex-end}.home-news .section-head>.textlink{flex-shrink:0;margin-bottom:7px}.home-news .news-thumb{aspect-ratio:3/2}.home-news .news-thumb img{object-fit:contain;background:var(--pale)}html[lang=ja] .news-card h3{font-size:22px;line-height:1.4}@media(max-width:900px){.home-news .section-head{display:block}.home-news .section-head>.textlink{display:inline-block;margin-top:22px}}@media(max-width:650px){.article-photo{padding-left:22px;padding-right:22px}}

/* Editorial photo layouts: preserve group edges, keep technical products complete. */
.news-thumb,.home-news .news-thumb{aspect-ratio:3/2}.news-thumb img,.home-news .news-thumb img{width:100%;height:100%;object-fit:contain;background:#edf2f6}.news-card:hover .news-thumb img{transform:none}.news-thumb.trip-thumb{aspect-ratio:3/2}.news-thumb.trip-thumb img{object-fit:cover;object-position:center 76%;transform:scale(1.05)}
.article-photo.trip-lead{max-width:1120px}.article-photo.trip-lead img{width:100%;aspect-ratio:2/1;object-fit:cover;object-position:center 78%;max-height:none}
.event-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:32px 0 40px}.event-gallery.single{grid-template-columns:1fr}.event-gallery figure{margin:0;min-width:0}.event-gallery img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#edf2f6}.event-gallery figcaption{font-size:14px;line-height:1.6;color:var(--muted);margin-top:10px}.event-gallery.single figure{max-width:720px;margin:auto}.article-body:has(.event-gallery){max-width:1100px}.article-body:has(.event-gallery)>p{max-width:790px;margin-left:auto;margin-right:auto}
.people-main img{height:auto;max-height:600px;object-fit:contain}.office-panorama img{object-fit:contain;min-height:0}.capability-gallery img{height:auto;aspect-ratio:3/2;object-fit:contain;background:#edf2f6}.split img{object-position:center}.product-photo img{object-fit:contain}.wide-photo{height:auto;max-height:540px;object-fit:cover;object-position:center}
@media(max-width:650px){.event-gallery{grid-template-columns:1fr;gap:24px}.article-photo.trip-lead img{aspect-ratio:3/2;object-fit:contain}.news-thumb.trip-thumb img{transform:none}.article-body:has(.event-gallery){padding:0 22px}}

/* Corporate slogan and balanced homepage typography. */
.hero-copy .company-slogan{color:var(--blue);font-size:clamp(1.125rem,1.65vw,1.5rem);font-weight:600;line-height:1.4;letter-spacing:.015em;margin:0 0 24px;max-width:none}
html .hero .hero-copy h1{font-size:clamp(2.25rem,3.7vw,3.5rem);line-height:1.12;letter-spacing:-.025em;max-width:650px;margin-bottom:26px}
html[lang=ja] .hero .hero-copy h1{font-size:clamp(2rem,3.1vw,3rem);line-height:1.45;letter-spacing:0}
html[lang=vi] .hero .hero-copy h1{line-height:1.24}
@media(max-width:650px){html .hero .hero-copy h1{font-size:clamp(2rem,8vw,2.625rem)}html[lang=ja] .hero .hero-copy h1{font-size:2rem}.hero-copy .company-slogan{font-size:1.125rem;margin-bottom:20px}}

.footer-company .footer-membership{display:block;margin-top:5px;font-size:1rem;line-height:1.5}.topline .group{line-height:1.5}

/* Site-wide heading hierarchy: comfortable scale across every page and locale. */
html body main h1,html body main .pagehead h1,html body main .article-head h1,html body main .hero .hero-copy h1{font-size:clamp(2rem,3.2vw,3rem);line-height:1.2;letter-spacing:-.02em;text-wrap:balance}
html body main h2{font-size:clamp(1.625rem,2.35vw,2.25rem);line-height:1.28;letter-spacing:-.015em;text-wrap:balance}
html body main h3{font-size:clamp(1.25rem,1.65vw,1.5rem);line-height:1.35;letter-spacing:0}
html body main .news-card h2,html body main .news-card h3{font-size:1.375rem;line-height:1.35}
html body main .cta h2{font-size:clamp(1.625rem,2.2vw,2.125rem)}
html[lang=ja] body main h1,html[lang=ja] body main .pagehead h1,html[lang=ja] body main .article-head h1,html[lang=ja] body main .hero .hero-copy h1{font-size:clamp(1.875rem,2.8vw,2.625rem);line-height:1.45;letter-spacing:0}
html[lang=ja] body main h2{font-size:clamp(1.5rem,2.1vw,2rem);line-height:1.5;letter-spacing:0}
html[lang=ja] body main h3,html[lang=ja] body main .news-card h2,html[lang=ja] body main .news-card h3{font-size:1.25rem;line-height:1.5}
html[lang=vi] body main h1,html[lang=vi] body main h2{line-height:1.3}
.pagehead{padding-top:42px;padding-bottom:48px}.pagehead h1{margin-bottom:24px}.article-head{padding-top:38px;padding-bottom:32px}
@media(max-width:650px){html body main h1,html body main .pagehead h1,html body main .article-head h1,html body main .hero .hero-copy h1{font-size:2rem}html body main h2{font-size:1.625rem}html body main h3,html body main .news-card h2,html body main .news-card h3{font-size:1.25rem}html[lang=ja] body main h1,html[lang=ja] body main .pagehead h1,html[lang=ja] body main .article-head h1,html[lang=ja] body main .hero .hero-copy h1{font-size:1.875rem}.pagehead{padding-top:30px;padding-bottom:34px}}

.article-photo.trip-lead img{aspect-ratio:auto;height:auto;object-fit:contain}.news-thumb.trip-thumb img,.news-card:hover .news-thumb.trip-thumb img{object-fit:contain;transform:none}.trip-lead figcaption{font-size:14px;line-height:1.6;color:var(--muted);margin-top:12px}
/* Clearer primary navigation, with room for longer localized labels. */
@media(min-width:1251px){header .navlinks{gap:20px}header .navlinks a{font-size:17px;font-weight:600;line-height:1.4}}
.language-switcher a[lang=vi]{font-family:Barlow,Arial,sans-serif;letter-spacing:normal;font-variant:normal}
/* Japanese labels must fit without splitting words in the desktop navigation. */
@media(min-width:1251px){html[lang=ja] body header[data-fcac-navigation] .navlinks{gap:14px}html[lang=ja] body header[data-fcac-navigation] .navlinks a{font-size:15px;white-space:nowrap;overflow-wrap:normal}}
@media(min-width:1400px){html[lang=ja] body header[data-fcac-navigation] .navlinks{gap:16px}html[lang=ja] body header[data-fcac-navigation] .navlinks a{font-size:16px}}
.topline .group,.footer-company,.footer-bottom>span:first-child{font-weight:700}.footer-company .footer-membership{font-weight:400}

/* Compact page-title banners; typography remains unchanged. */
html body main .pagehead{padding-top:26px;padding-bottom:28px}
html body main .pagehead .crumb{margin-bottom:22px}
html body main .pagehead .eyebrow{margin-bottom:14px}
html body main .pagehead h1{margin-bottom:16px}
html body main .pagehead p{margin-top:16px}
@media(max-width:650px){html body main .pagehead{padding-top:20px;padding-bottom:22px}html body main .pagehead .crumb{margin-bottom:16px}html body main .pagehead .eyebrow{margin-bottom:10px}html body main .pagehead h1{margin-bottom:12px}html body main .pagehead p{margin-top:12px}}
