@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Noto+Serif+JP:wght@400;500&display=swap');
:root{--paper:#f5f2e9;--ink:#172c32;--muted:#666b66;--red:#b64a35;--line:#d9dbd0;--serif:Georgia,'Noto Serif JP',serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--red);outline-offset:6px}[hidden]{display:none!important}[data-ja]{display:none}html[lang=ja] [data-en]{display:none}html[lang=ja] [data-ja]{display:revert}.page-shell{max-width:1600px;padding:0 5.3%;margin:auto}.header{min-height:122px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{text-decoration:none;font-size:42px;font-weight:600;letter-spacing:-2.8px;display:inline-flex;align-items:center}.brand-mark{font-size:31px;letter-spacing:0;color:var(--red);margin-right:14px}.brand-dot{color:var(--red)}.header-right{display:flex;align-items:center;gap:52px}.route{font-size:10px;letter-spacing:1.7px;font-weight:600}.route span{padding:0 16px;color:var(--red)}.language-switch{display:flex;align-items:center;gap:9px;font-size:11px}.language-switch button{background:none;border:0;cursor:pointer;padding:10px 3px;color:var(--muted)}.language-switch button[aria-pressed=true]{color:var(--ink);text-decoration:underline;text-underline-offset:5px}.language-switch>span{color:#a9aea4}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:6.5%;padding:64px 0 58px;align-items:center}.hero-copy{padding:12px 0}.eyebrow{font-size:10px;letter-spacing:2px;display:flex;align-items:center;gap:13px;font-weight:600;margin:0 0 32px}.small-line{width:28px;height:1px;background:var(--red)}h1{font-family:var(--serif);font-weight:400;font-size:clamp(56px,5.7vw,88px);letter-spacing:-3.6px;line-height:1.07;margin:0 0 28px}h1 em{font-weight:400;color:var(--red);font-size:.83em;letter-spacing:-3px;white-space:nowrap}.hero-description{font-size:14px;line-height:1.85;color:var(--muted);max-width:365px;margin:0 0 29px}.text-link{display:inline-flex;align-items:center;gap:35px;font-size:12px;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:9px}.text-link>span:last-child{font-size:20px}.text-link:hover{color:var(--red);border-color:var(--red)}.hero-footnote{display:flex;gap:9px;align-items:center;font-size:8px;letter-spacing:1.5px;margin-top:57px}.red-dot{display:inline-block;width:5px;height:5px;flex-shrink:0;border-radius:50%;background:var(--red)}.hero-image{margin:0;position:relative;align-self:center;display:flex;flex-direction:column;justify-content:center}.hero-image img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block;background:#e6e1d4}.hero-image figcaption{display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:1.3px;margin-top:13px;color:var(--muted)}.image-seal{position:absolute;top:25px;right:24px;color:var(--red);font-family:'Noto Serif JP',serif;font-size:15px;line-height:1.6;border:1px solid currentColor;padding:12px 8px}.purpose{border-top:1px solid var(--line);padding:62px 0 71px;display:grid;grid-template-columns:1fr 3fr;gap:5%}.section-label{font-size:9px;font-weight:600;letter-spacing:1.7px;display:flex;align-items:center;gap:10px;align-self:start;margin-top:10px}.purpose-content{display:grid;grid-template-columns:1fr 1fr;gap:10%}h2{font-family:var(--serif);font-weight:400;font-size:39px;letter-spacing:-1.3px;line-height:1.16;margin:0}.purpose-body{font-size:13px;line-height:1.9;color:var(--muted)}.purpose-body p{margin:0 0 16px}.purpose-body p:last-child{margin-bottom:0}.connection{padding:60px 25px 35px;text-align:center;background:#e9ebdf;position:relative;overflow:hidden}.connection .eyebrow{justify-content:center;margin-bottom:22px;color:var(--red);font-size:9px}.connection h2{font-size:49px}.connection>p:not(.eyebrow){font-size:12px;line-height:1.8;color:var(--muted);margin:23px auto 0}.contact-button{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--ink);color:var(--paper);font-size:12px;text-decoration:none;padding:15px 24px;margin-top:26px}.contact-button:hover{background:var(--red)}.connection-route{display:flex;align-items:center;justify-content:center;gap:18px;font-size:11px;letter-spacing:2px;margin:38px auto 0}.route-path{width:110px;height:1px;background:#a9b3a6;position:relative}.route-path:after{content:'';position:absolute;right:0;top:-2px;border-radius:50%;height:5px;width:5px;background:var(--red)}footer{padding:37px 0;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:8px;letter-spacing:1.5px}.footer-wordmark{font-size:26px;color:var(--ink);letter-spacing:-1.7px}.skip-link{position:absolute;top:-100px;left:20px;background:var(--ink);color:white;padding:12px;z-index:5}.skip-link:focus{top:10px}html[lang=ja] h1{font-family:'Noto Serif JP',serif;letter-spacing:0;font-size:clamp(48px,4.6vw,72px);line-height:1.45}html[lang=ja] h1 em{font-style:normal;letter-spacing:0;font-size:1em}html[lang=ja] h2{font-family:'Noto Serif JP',serif;font-size:32px;letter-spacing:0;line-height:1.6}html[lang=ja] .hero-description{line-height:2}html[lang=ja] .hero-footnote{margin-top:36px}
@media(min-width:1600px){.hero{gap:110px}}@media(max-width:1000px){.route{display:none!important}.header-right{gap:0}.hero{gap:5%}h1{font-size:59px;letter-spacing:-2.5px}h1 em{letter-spacing:-2px}.hero-footnote{margin-top:35px}.purpose{grid-template-columns:1fr;gap:30px}.purpose-content{gap:7%;grid-template-columns:1fr 1.2fr}html[lang=ja] h1{font-size:46px}}@media(max-width:650px){.page-shell{padding:0 6%}.header{min-height:88px}.wordmark{font-size:35px}.brand-mark{font-size:25px;margin-right:10px}.hero{grid-template-columns:1fr;padding:40px 0;gap:34px}.eyebrow{font-size:8px;margin-bottom:25px}h1{font-size:clamp(50px,10.8vw,68px);letter-spacing:-2px}h1 em{letter-spacing:-1.8px}.hero-description{font-size:13px;max-width:330px}.hero-footnote{margin-top:32px;font-size:7px}.hero-image img{aspect-ratio:1/1.08;object-position:50% 63%}.hero-image figcaption{font-size:6px;letter-spacing:1px}.purpose{padding:36px 0 42px;gap:27px}.purpose-content{grid-template-columns:1fr;gap:25px}h2{font-size:37px}.purpose-body{font-size:13px;max-width:390px}.connection{padding:42px 18px 30px}.connection h2{font-size:39px}.connection>p:not(.eyebrow){max-width:240px;font-size:11px}footer{flex-wrap:wrap;row-gap:16px;padding:28px 0}footer>span[data-en],footer>span[data-ja]{display:none!important}html[lang=ja] h1{font-size:48px}html[lang=ja] h2{font-size:29px}.desktop-break{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Supplier invitation copy stays readable in both languages. */
.connection>p:not(.eyebrow){max-width:560px}.connection>p+p:not(.eyebrow){margin-top:14px}.connection .contact-email{font-size:12px}.contact-email a{text-underline-offset:4px}@media(max-width:650px){.connection h2{font-size:34px}.connection>p:not(.eyebrow){max-width:290px}html[lang=ja] .connection h2{font-size:27px}}

@media(min-width:651px) and (max-width:1000px){html[lang=ja] h1{font-size:40px}}
