/* Shared language layout: semantic direction, fluid text and unchanged brand palette. */
html{scroll-padding-top:110px}
/* Natural phrase boundaries; no forced word splitting in editorial copy. */
html:not(:lang(zh)) .home-copy h1 .hero-phrase{display:block;background:none;color:inherit}
html :is(h1,h2,h3,h4){word-break:normal;overflow-wrap:normal;hyphens:manual;text-wrap:balance}
main p{ text-wrap:pretty }
.home-copy>p+p{margin-top:.8em}
.hero-context{font-size:clamp(1.25rem,2.6vw,2rem);line-height:1.5;color:#c9ab70;margin-block:12px 22px}
.facts strong small{margin-inline-start:.2em}
html:not(:lang(zh)) :is(p,li,dd){word-break:normal;overflow-wrap:break-word}
html:lang(ja) :is(h1,h2,h3,h4,p,li,dd){line-break:strict;letter-spacing:normal}
html:lang(ja) h1{word-break:keep-all}
html:lang(ja) :is(h2,h3,h4){word-break:normal;line-break:strict}
html:lang(ar) :is(h1,h2,h3,h4,p,li,dd){word-break:normal;letter-spacing:normal}
header nav>a,.nav-group>a{white-space:nowrap}
html:lang(ja) .hero-phrase{white-space:nowrap}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI","Noto Sans CJK SC","Noto Sans CJK JP","Noto Sans Arabic",sans-serif}
html:lang(ja) body{font-family:"Noto Sans CJK JP","Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,system-ui,sans-serif}
html:lang(ar) body{font-family:"Noto Sans Arabic",Tahoma,Arial,sans-serif;line-height:1.85}
html:not(:lang(zh)) .home-copy h1{font-size:clamp(2.2rem,3.8vw,4rem);line-height:1.18;letter-spacing:-.025em;max-width:20ch;overflow-wrap:break-word}
html:lang(ja) .home-copy h1{max-width:none;font-size:clamp(1.75rem,3.2vw,3.5rem);line-height:1.5;letter-spacing:0;word-break:keep-all;line-break:strict;overflow-wrap:normal}
html:lang(ar) .home-copy h1{letter-spacing:normal;max-width:22ch;line-height:1.4}
html:not(:lang(zh)) .cap-hero h1,html:not(:lang(zh)) .about-hero h1{font-size:clamp(2.1rem,4.4vw,4.2rem);line-height:1.25;letter-spacing:-.02em;overflow-wrap:break-word}
.cap-hero h1 em{display:block;font-size:.6em;line-height:1.5;margin-top:.6em}
html:not(:lang(zh)) .home-kicker{font-size:.85rem;line-height:1.6;letter-spacing:.03em}
.home-card span{min-width:0}.home-card b{overflow-wrap:break-word;line-height:1.4}
html:not(:lang(zh)) .home-card b{font-size:clamp(1rem,1.6vw,1.4rem)}
.home-card em{line-height:1.5}.home-proof{flex-wrap:wrap}
header{gap:16px;padding-inline:40px}.brand{flex-shrink:0;min-width:0}.brand b{white-space:nowrap}header nav{gap:24px;margin-inline-start:auto}header nav>a,.nav-group>a{font-size:.875rem;line-height:1.35}
header .rfq{font-size:.875rem;max-width:none;flex-shrink:0;line-height:1.5;text-align:center;white-space:nowrap}
.site-tools{flex-shrink:0;margin:0}.site-language{width:108px;max-width:100%;font-family:inherit;font-size:.875rem;color:#f4f4f6;background:#151518;border:1px solid #b8985a70;border-radius:4px;padding:8px;min-height:42px}
.site-language option{color:#f4f4f6;background:#151518}.nav-sub{width:min(360px,80vw)}.nav-sub a{white-space:normal;line-height:1.5}
.section-head h2,#needs .section-head h2{white-space:normal;overflow-wrap:break-word}
.need-grid article,.scope-grid article,.control-grid article{grid-template-rows:18px auto auto;min-width:0}
.need-grid article h3,.scope-grid article h3,.control-grid article h3{align-self:start;overflow-wrap:break-word}
.control-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr))}
.delivery-chain div{grid-template-rows:18px auto auto;min-width:0}.delivery-chain span{overflow-wrap:break-word}
.surface-policy{grid-column:1/-1}.surface-policy h3{max-width:none}
.case-card{min-width:0}.case-card h4{overflow-wrap:break-word}.case-card dl div{min-width:0}.case-card dd{overflow-wrap:anywhere}
.industry-trigger span{min-width:0}.industry-trigger strong,.industry-trigger small{white-space:normal;overflow-wrap:break-word}
.case-heading h3{overflow-wrap:break-word}.case-detail-drawer h2{font-size:clamp(1.5rem,3vw,2.25rem);overflow-wrap:break-word}
.case-detail-scroll{overflow-x:hidden}.case-detail-process b,.case-detail-controls b{overflow-wrap:break-word}
.case-detail-process small,.case-detail-controls small{overflow-wrap:break-word;line-height:1.65}
.case-detail-media img{object-fit:contain;background:#fff}.case-detail-media figcaption{font-size:.875rem;line-height:1.65;overflow-wrap:break-word}
.case-detail-rfq{white-space:normal;line-height:1.5;font-size:.95rem;min-height:64px;padding:14px 24px}.case-detail-rfq span{margin-inline-start:10px}
.contact form select,.contact form input,.contact form textarea{max-width:100%;font-family:inherit;font-size:1rem}
.contact form select{white-space:normal}.rfq-trust span{min-width:0}.rfq-trust small{line-height:1.65}
.rfq-steps{flex-wrap:wrap}.rfq-steps span{min-width:0;white-space:normal;font-size:.875rem}
footer .wrap{flex-wrap:wrap;gap:16px}footer a{font-size:.875rem}.site-footer-links{display:flex;gap:18px;flex-wrap:wrap}
address{overflow-wrap:break-word}address a[href^="mailto:"]{unicode-bidi:isolate;direction:ltr;display:inline-block}
[dir="rtl"] .nav-sub{left:auto;right:-22px}[dir="rtl"] .case-detail-drawer{left:0;right:auto;transform:translateX(-100%)}
[dir="rtl"] .case-detail-shell.open .case-detail-drawer{transform:translateX(0)}
[dir="rtl"] .case-detail-close{right:auto;left:20px}[dir="rtl"] .case-detail-scroll{padding-inline:30px}
[dir="rtl"] .case-detail-rfq{left:0;right:auto}[dir="rtl"] .delivery-chain div:not(:last-child):after{right:auto;left:-9px;content:"←"}
[dir="rtl"] .crumb,[dir="rtl"] h1,[dir="rtl"] h2,[dir="rtl"] h3,[dir="rtl"] h4{letter-spacing:normal}
[dir="rtl"] .brand small,[dir="rtl"] .eyebrow,[dir="rtl"] .case-no,[dir="rtl"] .case-heading>span{direction:ltr;unicode-bidi:isolate}
[dir="rtl"] .facts strong,[dir="rtl"] .tags>span{unicode-bidi:isolate}
[dir="rtl"] .contact address>span{direction:ltr;unicode-bidi:isolate;text-align:right}
[dir="rtl"] .contact input[type="email"]{direction:ltr;text-align:left}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #c9ab70;outline-offset:4px}
@media(min-width:951px) and (max-width:1150px){
 header{height:auto;min-height:82px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px 16px;padding:12px 28px}
 .brand{grid-column:1;grid-row:1}header .rfq{grid-column:2;grid-row:1}.site-tools{grid-column:3;grid-row:1}
 #menu{display:none}header nav{grid-row:2;grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;margin:0}
 .subnav{top:126px}html{scroll-padding-top:150px}
}
@media(max-width:950px){
 header{padding:14px 24px;min-height:82px;flex-wrap:wrap;position:fixed}
 #menu{display:block;background:transparent;border:1px solid #ffffff40;color:#fff;font-size:.875rem;padding:8px 10px;margin-inline-start:auto}
 header nav{display:none;position:absolute;inset:100% 0 auto;background:#111114;border-top:1px solid #ffffff25;padding:20px 24px;flex-direction:column;align-items:stretch;gap:16px;z-index:40}
 header.open nav{display:flex}header nav>a,.nav-group>a{padding:6px 0;display:block}
 .nav-sub{position:static;width:auto;border:0;padding-inline-start:18px;box-shadow:none;display:none}
 .nav-group.open .nav-sub{display:block}.nav-group:hover .nav-sub{display:none}.nav-group.open:hover .nav-sub,.nav-group:focus-within .nav-sub{display:block}
 header .rfq{max-width:160px;padding:10px 14px}.site-tools{display:block}.site-language{width:100px}
 .subnav{top:0}.home-hero{padding-top:30px}
}
@media(max-width:620px){
 header{gap:10px;padding:12px 16px}.brand img{width:38px;height:38px}.brand b{font-size:.95rem}.brand small{font-size:.6rem}
 header .rfq{display:none}.site-language{width:92px;min-height:38px;padding:6px}
 #menu{padding:6px 8px;font-size:.8rem}header nav{padding:18px 16px}
 .site-tools{margin:0}.home-kicker{max-width:100%}.home-card b{font-size:1.1rem}
 .home-copy h1{max-width:100%!important;font-size:2.25rem!important}
 html:lang(ja) .home-copy h1{font-size:min(2.25rem,8vw)!important}.home-proof span{white-space:normal}
 .home-actions{flex-wrap:wrap}.home-actions a{white-space:normal;line-height:1.5}
 .section-head h2,.heading h2{font-size:2rem}.industry-trigger em{display:none}
 .case-detail-scroll{padding:60px 18px 100px!important}.case-detail-rfq{font-size:.875rem}
 .delivery-chain div:not(:last-child):after{content:none}.facts{gap:12px}
 .collaboration-grid{min-width:0}.collaboration-grid article{min-width:0}.collaboration-grid h3{overflow-wrap:break-word}
 .rfq-trust{grid-template-columns:1fr}.rfq-steps{gap:12px}.rfq-steps span{font-size:.8rem}
 .mobile-rfq{font-size:.875rem;white-space:normal;line-height:1.4;max-width:calc(100vw - 32px)}
 .home-copy>p,.cap-hero .intro{font-size:1rem;line-height:1.75}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-reveal{opacity:1!important;transform:none!important}}

html:not(:lang(zh)) .home-copy h1,html:not(:lang(zh)) .cap-hero h1,html:not(:lang(zh)) .about-hero h1{overflow-wrap:normal;word-break:normal}
html:lang(ja) .home-copy h1,html:lang(ja) .cap-hero h1,html:lang(ja) .about-hero h1{word-break:keep-all;letter-spacing:normal}

html:lang(zh){font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif}
html:lang(ja){font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
html:lang(ja) .cap-hero h1,html:lang(ja) .about-hero h1,html:lang(ja) p,html:lang(ja) .case-card h4{word-break:normal;line-break:strict}
.editorial-phrase{display:inline-block;white-space:nowrap}
[dir="rtl"] .home-card span{left:auto;right:auto}[dir="rtl"] .home-card img{direction:ltr}
.quality-image-note{display:block;font-size:.8rem;line-height:1.6;color:#555;margin-top:8px}
@media(max-width:620px){html:lang(ja) .home-bridge h2{font-size:clamp(1.3rem,6.2vw,1.5rem);line-height:1.6}html:lang(ja) .rfq-ready h2{font-size:1.75rem;line-height:1.5}}
/* Release QA: narrow screens, safe areas, zoom, keyboard and RFQ states. */
.skip-link{position:fixed;top:8px;left:8px;z-index:9999;transform:translateY(-180%);background:#fff;color:#111;padding:12px}.skip-link:focus{transform:none}
img{max-width:100%;height:auto}
header #menu,.site-language,button,.case-detail-close{min-height:44px;min-width:44px}
header.open nav{max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain}
.contact form[hidden]{display:none}.contact form label{min-width:0}.contact form input[type=file]{width:100%;overflow:hidden}
.contact form .rfq-check{display:flex;align-items:flex-start;gap:10px;line-height:1.6;font-size:14px}.contact form .rfq-check input{width:20px;min-width:20px;height:20px;margin:4px 0 0}
.rfq-check a,.rfq-email{text-decoration:underline;text-underline-offset:3px}.rfq-email{display:block;padding:12px 0;overflow-wrap:anywhere}
.rfq-honeypot{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}
.form-status{min-height:1.6em;overflow-wrap:anywhere}.rfq-security{min-height:1px}.contact button:disabled{opacity:.55;cursor:not-allowed}
.rfq-receipt{padding:28px;border:1px solid #a38545;background:#faf8f2;align-self:start;scroll-margin-top:130px}.rfq-receipt strong{display:block;font-size:1.25rem;overflow-wrap:anywhere}.rfq-receipt p{margin-top:18px}.rfq-test-note{color:#725713;border:1px solid #b8985a;padding:12px}
.case-detail-scroll{padding-bottom:calc(120px + env(safe-area-inset-bottom))}.case-detail-rfq{padding-bottom:calc(14px + env(safe-area-inset-bottom))}
@media(max-width:620px){
 header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.brand{min-width:0}.brand b{font-size:clamp(.7rem,3.3vw,.95rem)}.brand small{font-size:.5rem}.brand img{width:30px;height:30px}.site-language{width:82px}.brand span{min-width:0}
 .home-copy h1{font-size:clamp(1.7rem,8vw,2.25rem)!important}.hero-phrase,.editorial-phrase{max-width:100%;white-space:normal!important;overflow-wrap:break-word!important}
 html:lang(ja) .home-copy h1{font-size:clamp(1.2rem,5.9vw,2.1rem)!important;word-break:normal}
 h1,h2,h3,h4,.btn{overflow-wrap:break-word!important;hyphens:manual}.contact form>div:not(.rfq-steps):not(.form-status):not(.rfq-security){min-width:0}
 .mobile-rfq{bottom:calc(12px + env(safe-area-inset-bottom));min-height:48px}.case-detail-open .mobile-rfq,body.rfq-keyboard-open .mobile-rfq{display:none}
 footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.subnav{overflow-x:auto;max-width:100%;overscroll-behavior-inline:contain}
}
@media(prefers-reduced-motion:reduce){.motion-reveal{opacity:1!important;transform:none!important}}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.analytics-stop{min-height:44px;padding:8px 14px;background:transparent;color:inherit;border:1px solid currentColor;border-radius:6px;font:inherit;cursor:pointer}
