/* Approved V3 corporate identity: warm gray, charcoal, and brand orange. */
:root{--paper:#e8e6e1;--soft:#f0eeea;--ink:#292c2b;--secondary:#626762;--accent:#b53d17;--line:rgba(56,62,57,.17);--radius:28px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue","PingFang SC","Microsoft YaHei",Arial,sans-serif;line-height:1.7}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}svg{width:20px;height:20px;display:block}.shell{width:min(1320px,calc(100% - 80px));margin:auto}.nav{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:78px;padding:14px 22px;background:rgba(245,243,239,.76);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.6);border-radius:18px}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}.brand img{width:38px;height:38px}.brand strong{font-size:23px;font-weight:700;letter-spacing:.08em}.nav-items{display:flex;align-items:center;gap:28px;font-size:14px;color:#50584f}.nav-items a:hover{color:var(--accent)}.nav-contact{font-size:13px;border-bottom:1px solid #757d72;padding:5px 0;display:flex;align-items:center;gap:12px;white-space:nowrap}.nav-contact svg{width:16px;height:16px}.hero{position:relative;isolation:isolate;min-height:572px;margin-top:22px;border-radius:30px;overflow:hidden;background:#d9d7d0;display:flex;align-items:center}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(240,237,230,.91) 0%,rgba(237,233,224,.81) 28%,rgba(237,233,224,.27) 53%,rgba(233,230,222,0) 72%)}.hero-copy{padding:54px 55px 67px;width:59%;max-width:720px}.hero-company{color:#5b625a;font-size:14px;letter-spacing:.045em;margin-bottom:25px}.hero h1{font-size:clamp(42px,4.1vw,62px);line-height:1.24;font-weight:600;letter-spacing:-.045em}.hero h1 span{display:block}.hero-description{font-size:16px;line-height:1.95;max-width:410px;color:#575e55;margin-top:24px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}.button{display:inline-flex;align-items:center;gap:23px;min-height:48px;padding:12px 21px;background:var(--accent);color:#fff;border:1px solid rgba(118,45,20,.12);border-radius:11px;font-size:14px;font-weight:500;box-shadow:0 7px 20px rgba(114,59,32,.11)}.button svg{width:17px;height:17px}.plain-link{display:inline-flex;align-items:center;gap:10px;font-size:14px;border-bottom:1px solid #a3a698;padding:5px 0}.plain-link svg{width:16px;height:16px}.photo-caption{position:absolute;right:24px;bottom:19px;background:rgba(235,232,225,.76);backdrop-filter:blur(10px);padding:4px 10px;border:1px solid rgba(255,255,255,.35);border-radius:7px;font-size:10px;color:#4e594e}.section-top{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:25px}.section-kicker{font-size:14px;color:#5d6756;display:flex;align-items:center;gap:10px}.section-kicker:before{content:"";width:20px;height:2px;background:var(--accent)}.about{padding:76px 22px 72px;display:grid;grid-template-columns:1fr 1.08fr;column-gap:95px;border-bottom:1px solid var(--line)}.about .section-kicker{margin-bottom:20px}.about h2{font-size:35px;line-height:1.45;letter-spacing:-.04em;font-weight:500}.about-copy{padding-top:9px}.about-copy>p{font-size:16px;line-height:1.95;color:var(--secondary);max-width:590px}.company-facts{display:flex;gap:45px;margin-top:29px}.fact{border-left:1px solid #b9bdb1;padding-left:17px}.fact strong{display:block;font-size:17px;font-weight:500}.fact span{display:block;font-size:12px;color:#626c59;margin-top:5px}.business{padding:64px 22px 66px}.section-title{font-size:34px;letter-spacing:-.035em;font-weight:500;line-height:1.4}.section-note{font-size:14px;line-height:1.8;color:var(--secondary);max-width:390px}.business-list{margin-top:25px;background:rgba(242,240,235,.67);border:1px solid rgba(255,255,255,.43);border-radius:23px;padding:0 30px}.business-row{padding:29px 0}.busi-top{display:grid;grid-template-columns:48px .8fr 1.3fr 30px;align-items:center;gap:25px}.business-row+.business-row{border-top:1px solid var(--line)}.business-index{font-size:13px;color:#68715f;font-variant-numeric:tabular-nums}.business-row h3{font-size:22px;font-weight:500}.business-row .business-name{font-size:12px;color:#626c59;margin-top:4px}.business-row .business-description{font-size:14px;color:#606957;line-height:1.9}.business-arrow{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid #b6beaf;border-radius:50%;color:#62705a}.business-arrow svg{width:15px;height:15px}.strength{padding:57px 52px;background:#dcded6;border:1px solid rgba(255,255,255,.32);border-radius:var(--radius);display:grid;grid-template-columns:1fr .87fr;gap:90px;align-items:center}.strength h2{margin-top:19px;font-size:34px;line-height:1.5;letter-spacing:-.04em;font-weight:500}.strength p{font-size:14px;color:#596650;line-height:1.95;max-width:480px;margin-top:20px}.credential{display:grid;grid-template-columns:160px 1fr;gap:25px;align-items:center}.credential img{display:block;width:160px;max-height:150px;object-fit:contain;border:1px solid rgba(255,255,255,.6);border-radius:10px;background:#e9e9e3;padding:7px}.credential strong{font-size:18px;font-weight:500;display:block;line-height:1.6}.credential p{margin-top:8px;font-size:12px;line-height:1.85}.history{padding:65px 22px 66px}.history .section-title{margin-top:14px}.history-list{margin-top:28px;border-top:1px solid var(--line)}.history-row{display:grid;grid-template-columns:150px 1fr;gap:30px;padding:20px 0;border-bottom:1px solid var(--line)}.history-row time{font-size:13px;color:#626c59;font-variant-numeric:tabular-nums}.history-row span{font-size:16px;color:#4c5746}.contact{background:#343c35;color:#e9e9e0;border-radius:26px;padding:45px 50px;display:flex;justify-content:space-between;align-items:center;gap:50px}.contact .section-kicker{color:#b3bcab}.contact h2{font-size:34px;font-weight:500;letter-spacing:-.04em;line-height:1.5;margin-top:16px}.contact p{font-size:14px;color:#adb9a5;margin-top:13px;max-width:640px}.contact-address{font-size:12px}.contact-phone{font-size:25px;line-height:1.8;white-space:nowrap;color:#f0f1e9}.contact-email{font-size:12px;color:#b5c0ae}.footer{display:flex;justify-content:space-between;gap:30px;padding:29px 3px 35px;font-size:11px;color:#606957}.footer p{line-height:1.8}.footer a{color:#5d6756}@media(min-width:1700px){.hero{min-height:630px}.hero h1{font-size:68px}.hero-copy{padding-left:65px}.shell{max-width:1480px}.hero-description{max-width:470px;font-size:17px}}
@media(max-width:1100px){.shell{width:calc(100% - 48px)}.brand strong{font-size:20px}.hero{min-height:535px}.hero-copy{padding-left:39px;width:66%}.hero-description{max-width:360px;font-size:15px}.about{column-gap:45px}.about h2{font-size:30px}.about-copy>p{font-size:14px}.busi-top{grid-template-columns:30px .8fr 1.3fr 22px;gap:18px}.business-row h3{font-size:20px}.strength{gap:45px;padding:40px 30px}.credential{grid-template-columns:125px 1fr;gap:18px}.credential img{width:125px}.credential strong{font-size:16px}.contact{padding:39px 34px}.contact-phone{font-size:22px}}
@media(max-width:760px){.shell{width:calc(100% - 32px)}.nav{min-height:64px;padding:11px 14px;border-radius:14px}.brand img{width:31px;height:31px}.brand strong{font-size:19px}.nav-contact{display:flex;font-size:11px;gap:7px}.hero{margin-top:15px;min-height:620px;align-items:flex-start;border-radius:24px}.hero-photo{object-position:60% center}.hero:before{background:linear-gradient(180deg,rgba(238,235,228,.95) 0%,rgba(238,235,228,.89) 44%,rgba(238,235,228,.35) 68%,rgba(238,235,228,0) 100%)}.hero-copy{padding:35px 25px 40px;width:100%}.hero-company{font-size:10px;letter-spacing:.02em;margin-bottom:23px}.hero h1{font-size:37px;line-height:1.28}.hero-description{font-size:14px;line-height:1.9;margin-top:21px;max-width:310px}.hero-actions{gap:22px;margin-top:25px}.button{font-size:12px;min-height:44px;padding:10px 15px;gap:15px}.plain-link{font-size:12px;gap:6px}.photo-caption{font-size:8px;right:13px;bottom:12px;padding:3px 6px}.about{display:block;padding:44px 6px 42px}.section-kicker{font-size:12px}.about .section-kicker{margin-bottom:15px}.about h2{font-size:29px}.about-copy{padding-top:22px}.about-copy>p{font-size:14px}.company-facts{gap:25px;margin-top:23px}.fact{padding-left:12px}.fact strong{font-size:15px}.fact span{font-size:10px}.business{padding:42px 6px}.section-top{display:block;margin-bottom:20px}.section-title{font-size:28px}.section-note{font-size:12px;margin-top:12px}.business-list{padding:0 18px;margin-top:18px;border-radius:19px}.business-row{padding:22px 0}.busi-top{grid-template-columns:22px 1fr 22px;gap:12px}.business-row h3{font-size:19px}.business-index{align-self:start;padding-top:4px;font-size:11px}.business-row .business-description{grid-column:2;grid-row:2;font-size:12px;line-height:1.9}.business-row .business-name{font-size:10px;margin-top:1px}.business-arrow{grid-column:3;grid-row:1;width:25px;height:25px}.business-arrow svg{width:13px;height:13px}.strength{display:block;padding:31px 24px;border-radius:22px}.strength h2{font-size:28px;margin-top:15px}.strength p{font-size:13px;margin-top:16px}.credential{margin-top:29px;grid-template-columns:107px 1fr;gap:16px}.credential img{width:107px;max-height:115px;padding:5px}.credential strong{font-size:14px}.credential p{font-size:10px;margin-top:7px}.history{padding:42px 6px}.history-list{margin-top:23px}.history-row{grid-template-columns:85px 1fr;gap:15px;padding:17px 0}.history-row time{font-size:11px}.history-row span{font-size:13px}.contact{display:block;padding:30px 24px;border-radius:22px}.contact h2{font-size:28px;margin-top:12px}.contact p{font-size:12px;margin-top:13px}.contact-details{margin-top:25px}.contact-phone{font-size:23px}.contact-email{font-size:11px}.footer{display:block;font-size:9px;padding:23px 3px 29px}.footer>p+ p{margin-top:13px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.nav{background:#eeece6}.photo-caption{background:#e6e5dd}}@media(prefers-reduced-transparency:reduce){.nav,.photo-caption{backdrop-filter:none;-webkit-backdrop-filter:none;background:#eeece6}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Production controls and accessibility. */
[hidden] { display: none !important; }
html { scroll-padding-top: 24px; }
body { padding-top: 24px; }
button, select { font: inherit; }
button { cursor: pointer; }
a, button, select, summary { -webkit-tap-highlight-color: transparent; }
button:focus-visible, select:focus-visible, summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
img { max-width: 100%; }
[id] { scroll-margin-top: 24px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 10px; left: 16px; z-index: 100; padding: 11px 18px; background: var(--ink); color: #fff; border-radius: 8px; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.nav { position: relative; z-index: 20; gap: 24px; }
.brand { flex: 0 0 auto; }
.nav-items { min-width: 0; gap: clamp(17px,1.6vw,28px); }
.nav-items a { padding-block: 9px; line-height: 1.5; }
.nav-items a[aria-current] { color: var(--accent); }
.nav-tools { display: flex; flex: 0 0 auto; align-items: center; gap: 24px; }
.nav-contact { min-height: 40px; }
.menu-toggle { display: none; }
.lang-switcher-wrap { position: relative; min-width: 82px; z-index: 25; }
.lang-switcher { width: 100%; max-width: 120px; min-height: 40px; padding: 7px 8px; border: 1px solid var(--line); border-radius: 8px; background: #eeece6; color: #50584f; font-size: 13px; }
.lang-switcher-native { display: none; }
.lang-picker { position: relative; min-width: 82px; }
.lang-picker-trigger { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 44px; padding: 9px 10px; background: rgba(245,243,239,.45); border: 1px solid var(--line); border-radius: 9px; color: #50584f; font-size: 13px; line-height: 1.5; }
.lang-picker-globe { flex: 0 0 auto; width: 16px; height: 16px; }
.lang-picker-label { display: block; white-space: nowrap; }
.lang-picker-icon { flex: 0 0 auto; width: 6px; height: 6px; margin-right: 3px; margin-top: -4px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); }
.lang-picker.is-open .lang-picker-icon { margin-top: 4px; transform: rotate(225deg); }
.lang-picker-menu { display: none; position: absolute; top: calc(100% + 10px); right: 0; width: 152px; padding: 6px; border: 1px solid #d5d7cd; border-radius: 12px; background: #f0eeea; box-shadow: 0 12px 32px rgba(41,44,43,.14); z-index: 30; }
.lang-picker.is-open .lang-picker-menu { display: block; }
.lang-picker-option { display: block; width: 100%; min-height: 42px; padding: 9px 12px; background: transparent; color: var(--ink); border: 0; border-radius: 7px; text-align: left; font-size: 13px; }
.lang-picker-option:hover, .lang-picker-option:focus-visible { background: #e3e3d9; color: #963511; }
.lang-picker-option.is-active { background: #e4e2d8; color: #963511; font-weight: 600; }
.button:hover { background: #9f3412; box-shadow: 0 9px 22px rgba(114,59,32,.16); }
.plain-link:hover, .nav-contact:hover { color: var(--accent); border-color: var(--accent); }
.button, .plain-link, .nav-contact, .business-arrow { transition: background 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
.business-row, .busi-top > *, .strength > *, .about > *, .contact > * { min-width: 0; }
.business-arrow:hover { color: var(--accent); border-color: var(--accent); background: rgba(181,61,23,.05); }
.business-detail { margin-left: 73px; margin-top: 15px; color: #606957; font-size: 13px; }
.business-detail summary { display: inline-flex; align-items: center; gap: 12px; padding: 4px 0; color: #5d6756; cursor: pointer; list-style: none; }
.business-detail summary::-webkit-details-marker { display: none; }
.business-detail summary::after { content: ''; width: 6px; height: 6px; margin-top: -3px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); }
.business-detail[open] summary::after { margin-top: 3px; transform: rotate(225deg); }
.business-detail ul { margin: 12px 30px 1px 0; padding-left: 18px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px 34px; font-size: 13px; line-height: 1.9; }
.business-detail li { padding-left: 2px; }
.business-detail li::marker { color: #68715f; }
.partners { padding: 61px 22px 0; }
.partners h2 { font-size: 21px; font-weight: 500; letter-spacing: -.02em; }
.partner-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0 28px; margin-top: 23px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.partner-item { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 17px; min-width: 0; padding: 28px 12px 26px; border-bottom: 1px solid var(--line); text-align: center; }
.partner-item:nth-last-child(-n+4) { border-bottom: 0; }
.partner-item img { display: block; width: 92px; height: 64px; max-width: 100%; object-fit: contain; flex: 0 0 auto; mix-blend-mode: multiply; }
.partner-item img.partner-logo-wide { width: 128px; }
.partner-item p { max-width: 100%; color: #5d6756; font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.contact { display: grid; grid-template-columns: 1.2fr 1fr; gap: 30px; align-items: center; }
.contact-details { justify-self: end; }
.contact h2 { font-size: 30px; }
.contact-phone { font-size: 24px; }
.contact-address { overflow-wrap: anywhere; }
.contact-email { display: inline-block; overflow-wrap: anywhere; max-width: 100%; }
.footer { align-items: flex-start; }
.footer > * { min-width: 0; }
.footer a:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px 20px; }
#back-top { position: fixed; right: 24px; bottom: 24px; z-index: 30; display: flex; align-items: center; justify-content: center; width: 43px; height: 43px; border: 1px solid #c3c8b9; border-radius: 12px; background: #eeece6; box-shadow: 0 5px 18px rgba(41,44,43,.1); color: #59664f; }
#back-top svg { width: 18px; height: 18px; }
#back-top:hover { color: var(--accent); border-color: var(--accent); }
html:lang(en), html:lang(fr) { overflow-wrap: anywhere; }
html:lang(en) .hero h1, html:lang(fr) .hero h1 { font-size: clamp(38px,3.6vw,57px); line-height: 1.2; letter-spacing: -.045em; overflow-wrap: normal; }
html:lang(en) .hero h1 span, html:lang(fr) .hero h1 span { max-width: 100%; }
html:lang(en) .hero-copy, html:lang(fr) .hero-copy { width: 64%; max-width: 820px; }
html:lang(en) .hero-description, html:lang(fr) .hero-description { max-width: 460px; line-height: 1.8; }
html:lang(en) .brand strong, html:lang(fr) .brand strong { letter-spacing: 0; }
html:lang(en) .nav-items, html:lang(fr) .nav-items { font-size: 13px; gap: 18px; }
html:lang(en) .hero-actions, html:lang(fr) .hero-actions { gap: 20px; }
html:lang(en) .business-row h3, html:lang(fr) .business-row h3 { font-size: 20px; line-height: 1.4; }
html:lang(ja) .hero h1 { font-size: clamp(36px,3.8vw,58px); }
html:lang(ja) .hero-copy { width: 64%; }
html:lang(en) .section-title, html:lang(fr) .section-title { line-height: 1.35; }

@media (max-width: 1280px) and (min-width: 1101px) {
 .nav { gap: 18px; padding-inline: 18px; }
 .nav-tools { gap: 18px; }
 .nav-items { gap: 17px; font-size: 13px; }
 html:lang(en) .nav-items, html:lang(fr) .nav-items { gap: 12px; font-size: 12px; }
 html:lang(en) .nav-tools, html:lang(fr) .nav-tools { gap: 15px; }
 html:lang(en) .nav-contact, html:lang(fr) .nav-contact { font-size: 12px; gap: 7px; }
}
@media (max-width: 1100px) {
 .nav { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 0 25px; }
 .nav-tools { grid-column: 2; grid-row: 1; gap: 23px; }
 .nav-contact { display: flex; }
 .menu-toggle { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid #c8cdbf; border-radius: 9px; background: rgba(242,240,235,.6); color: var(--ink); padding: 9px; }
 .menu-toggle svg { width: 21px; height: 21px; }
 .menu-toggle span:not(.sr-only) { display: block; width: 18px; height: 1px; background: currentColor; }
 .menu-toggle:has(span:not(.sr-only)) { flex-direction: column; gap: 5px; }
 .nav-items { display: none; grid-column: 1/-1; width: 100%; padding-top: 11px; margin-top: 12px; border-top: 1px solid var(--line); }
 .nav-items.is-open { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
 .nav-items a { display: block; font-size: 13px; padding-block: 9px; }
 .business-detail { margin-left: 48px; }
 .partners { padding-inline: 22px; }
 .partner-list { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 28px; }
 .partner-item { gap: 15px; }
 .partner-item:nth-last-child(-n+4) { border-bottom: 1px solid var(--line); }
 .partner-item:nth-last-child(-n+2) { border-bottom: 0; }
 .partner-item img { width: 92px; height: 64px; }
 .partner-item p { font-size: 13px; }
 .contact { gap: 26px; padding-inline: 30px; grid-template-columns: 1fr 1fr; }
 .contact h2 { font-size: 28px; }
}
@media (max-width: 760px) {
 body { padding-top: 16px; }
 .nav { min-height: 66px; gap: 0 12px; padding: 11px 13px; }
 .brand { gap: 8px; min-width: 0; }
 .brand strong { font-size: 18px; letter-spacing: .03em; }
 .brand img { width: 29px; height: 29px; }
 .nav-tools { gap: 8px; }
 .nav-tools .nav-contact { display: none; }
 .lang-switcher-wrap, .lang-picker { min-width: 0; }
 .lang-picker-trigger { font-size: 11px; gap: 4px; min-height: 44px; padding: 9px 6px; }
 .lang-picker-globe { width: 14px; height: 14px; }
 .lang-picker-icon { margin-right: 0; }
 .lang-switcher { font-size: 12px; max-width: 90px; padding-inline: 5px; }
 .menu-toggle { width: 44px; height: 44px; padding: 10px; }
 .lang-picker-menu { top: calc(100% + 13px); right: -3px; }
 .nav-items.is-open { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px 18px; }
 html:lang(en) .nav-items, html:lang(fr) .nav-items { gap: 1px 18px; }
 .nav-items a { font-size: 13px; padding-block: 12px; }
 .business-detail { margin-left: 34px; margin-top: 12px; font-size: 12px; }
 .business-detail ul { display: block; margin-right: 0; font-size: 12px; }
 .business-detail li + li { margin-top: 7px; }
 .business-description { margin-right: -30px; }
 .partners { padding: 38px 6px 0; }
 .partners h2 { font-size: 19px; }
 .partner-list { column-gap: 18px; margin-top: 18px; }
 .partner-item { gap: 13px; padding: 23px 6px 21px; }
 .partner-item img { width: 88px; height: 58px; }
 .partner-item img.partner-logo-wide { width: 116px; }
 .partner-item p { font-size: 12px; line-height: 1.65; }
 .contact { display: flex; flex-direction: column; align-items: stretch; gap: 25px; padding: 30px 24px; }
 .contact-details { margin-top: 0; }
 .contact h2 { font-size: 28px; }
 .contact-phone { font-size: 23px; }
 .footer-links { justify-content: flex-start; margin-top: 13px; gap: 5px 17px; }
 #back-top { right: 15px; bottom: 15px; width: 44px; height: 44px; border-radius: 10px; }
 html:lang(en) .hero-copy, html:lang(fr) .hero-copy, html:lang(ja) .hero-copy { width: 100%; }
 html:lang(en) .hero, html:lang(fr) .hero { min-height: 690px; }
 html:lang(en) .hero h1, html:lang(fr) .hero h1 { font-size: 39px; line-height: 1.17; letter-spacing: -.035em; }
 html:lang(ja) .hero h1 { font-size: 31px; line-height: 1.4; letter-spacing: -.04em; }
 html:lang(en) .hero-company, html:lang(fr) .hero-company { font-size: 10px; letter-spacing: 0; max-width: 270px; }
 html:lang(en) .hero-actions, html:lang(fr) .hero-actions { flex-wrap: wrap; gap: 14px 23px; }
 html:lang(en) .hero-description, html:lang(fr) .hero-description { font-size: 14px; }
 html:lang(en) .company-facts, html:lang(fr) .company-facts { gap: 18px; }
 html:lang(en) .company-facts > *, html:lang(fr) .company-facts > * { flex: 1; }
 html:lang(en) .fact strong, html:lang(fr) .fact strong { font-size: 14px; line-height: 1.5; }
 html:lang(en) .credential, html:lang(fr) .credential { grid-template-columns: 90px minmax(0,1fr); }
 html:lang(en) .credential img, html:lang(fr) .credential img { width: 90px; }
}
@media (max-width: 380px) {
 .nav { padding-inline: 9px; column-gap: 6px; }
 .brand { gap: 6px; }
 .brand strong { font-size: 17px; letter-spacing: 0; }
 .brand img { width: 27px; height: 27px; }
 .nav-tools { gap: 8px; }
 .lang-switcher-wrap, .lang-picker { min-width: 0; }
 .hero-copy { padding-inline: 22px; }
 .hero h1 { font-size: 34px; }
 .hero-actions { gap: 16px; }
 .hero-actions .button { padding-inline: 13px; gap: 11px; }
 html:lang(en) .hero h1, html:lang(fr) .hero h1 { font-size: 35px; }
 html:lang(ja) .hero h1 { font-size: 29px; }
}
.no-js .menu-toggle { display: none; }
.no-js .nav-items { display: flex; flex-wrap: wrap; }
@media (max-width: 760px) { .no-js .nav-items { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 18px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }

/* Expandable company milestones retain the full historical record. */
.anchor-alias { display: block; width: 0; height: 0; padding: 0; margin: 0; overflow: hidden; }
.history-entry { border-bottom: 1px solid var(--line); }
.history-entry > .history-row { position: relative; grid-template-columns: 150px minmax(0,1fr); border: 0; padding-right: 28px; cursor: pointer; list-style: none; }
.history-entry > .history-row::-webkit-details-marker { display: none; }
.history-entry > .history-row::after { content: ''; position: absolute; right: 6px; top: 29px; width: 6px; height: 6px; border-right: 1px solid #626c59; border-bottom: 1px solid #626c59; transform: rotate(45deg); }
.history-entry[open] > .history-row { padding-bottom: 12px; }
.history-entry[open] > .history-row::after { top: 32px; transform: rotate(225deg); }
.history-row:hover span { color: var(--accent); }
.history-content { padding: 0 28px 23px 180px; color: #606957; font-size: 14px; line-height: 1.95; }
.history-content a { color: #963511; text-decoration: underline; text-underline-offset: 3px; }
.history-content a:hover { color: var(--accent); }
.history-pagination { display: flex; align-items: center; justify-content: flex-end; gap: 18px; margin-top: 24px; }
.history-page-button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 18px; border: 1px solid var(--line); border-radius: 11px; background: rgba(242,240,235,.6); color: #4c5746; font-size: 13px; line-height: 1.5; white-space: nowrap; transition: background 180ms ease, color 180ms ease, border-color 180ms ease; }
.history-page-button:hover:not(:disabled) { color: var(--accent); border-color: rgba(181,61,23,.45); background: rgba(181,61,23,.05); }
.history-page-button:disabled { cursor: default; color: #777e72; border-color: rgba(56,62,57,.1); background: rgba(242,240,235,.25); }
.history-page-status { flex: 0 0 auto; min-width: 42px; color: #626c59; font-size: 13px; text-align: center; font-variant-numeric: tabular-nums; }
.footer-identity { flex: 1.15; }
.footer-links { flex: .9; justify-content: center; }
.footer-copy-right { flex: 1; text-align: right; }
.footer-identity p + p { margin-top: 5px; }
@media (max-width: 1100px) {
 .footer { gap: 23px; }
 .footer-identity, .footer-copy-right { flex: 1; }
 .footer-links { flex: .65; flex-direction: column; align-items: center; gap: 6px; }
}
@media (max-width: 760px) {
 .history-entry > .history-row { grid-template-columns: 85px minmax(0,1fr); padding-right: 20px; }
 .history-entry > .history-row::after { top: 24px; right: 3px; width: 5px; height: 5px; }
 .history-entry[open] > .history-row::after { top: 27px; }
 .history-content { padding: 0 0 20px; font-size: 12px; line-height: 1.95; }
 .history-pagination { justify-content: space-between; align-items: stretch; gap: 10px; margin-top: 20px; }
 .history-page-button { flex: 1 1 0; min-width: 0; min-height: 44px; padding: 10px 13px; font-size: 12px; border-radius: 10px; white-space: normal; }
 .history-page-status { display: flex; align-items: center; justify-content: center; min-width: 36px; font-size: 12px; }
 .footer-links { flex-direction: row; align-items: flex-start; justify-content: flex-start; gap: 6px 17px; }
 .footer-copy-right { margin-top: 13px; text-align: left; }
 .footer { font-size: 11px; }
}

/* Longer translated company names retain a compact two-line mobile lockup. */
@media (max-width: 760px) {
 html:lang(en) .brand, html:lang(fr) .brand { white-space: normal; }
 html:lang(en) .brand img, html:lang(fr) .brand img { flex: 0 0 auto; }
 html:lang(en) .brand strong, html:lang(fr) .brand strong { max-width: 106px; font-size: 16px; line-height: 1.15; white-space: normal; overflow-wrap: normal; letter-spacing: 0; }
}
@media (max-width: 380px) {
 html:lang(en) .brand strong, html:lang(fr) .brand strong { max-width: 82px; font-size: 14px; }
}
@media (max-width: 340px) {
 .nav { padding-inline: 6px; column-gap: 4px; }
 .nav-tools { gap: 6px; }
 .lang-picker-trigger { gap: 3px; }
}
