/* Homepage refinement; original nine-panel composition and scrolling remain. */
.topbar{grid-template-columns:minmax(110px,1fr) auto auto auto;gap:24px;background:linear-gradient(to bottom,rgba(12,12,10,.5),rgba(12,12,10,.08))}
.topbar nav{gap:clamp(18px,1.8vw,28px)}
.topbar .language{position:relative;right:auto;margin:0;grid-column:3}
.topbar .call{grid-column:4;font-size:12px;min-height:44px;display:flex;align-items:center}
.topbar .language-current{min-height:44px;font-size:12px;padding:8px 0;white-space:nowrap}
.topbar .language-menu{top:42px;right:0;max-height:65vh;overflow-y:auto;max-width:calc(100vw - 40px)}
.topbar .language-menu button{min-height:44px;font-size:13px}
.home-menu-toggle{display:none;border:0;background:none;color:inherit;width:48px;height:48px;padding:12px}
.home-menu-toggle img{filter:invert(1);width:24px;height:24px}
.topbar:focus-within,.home-menu-open .topbar{transform:none!important;opacity:1!important;pointer-events:auto!important}
#home-menu{border:0;background:#f4f2ed;color:#171715;padding:26px;width:min(100% - 32px,460px);max-height:calc(100dvh - 40px);overflow-y:auto}
#home-menu::backdrop{background:rgba(12,12,10,.6)}
.home-menu-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:16px;border-bottom:1px solid #d8d6ce;font-size:17px}
.home-menu-close{border:0;background:none;width:48px;height:48px;display:grid;place-items:center}
#home-menu nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;padding:24px 0}
#home-menu nav a{display:flex;align-items:center;min-height:48px;font-size:18px;color:inherit;text-decoration:none}
.home-menu-phone{display:block;font-size:23px;padding:20px 0 4px;border-top:1px solid #d8d6ce;color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.hero-copy .lede{font-size:clamp(1rem,.9286rem + .3571vw,1.25rem);line-height:1.8;letter-spacing:.02em}
.rich{line-height:1.95;max-width:42em}.rich p+p{margin-top:1.3em}
.panel h2,.panel h1{line-break:strict;text-wrap:balance;overflow-wrap:break-word}
.project-copy>p{line-height:1.85;max-width:36em}
.process-step small{font-size:13px;line-height:1.85;color:rgba(247,245,240,.82)}
.method-quote{line-height:1.8;color:rgba(247,245,240,.88)}
.fine.light{font-size:12px;line-height:1.9;color:rgba(247,245,240,.8)}
@media(max-width:1100px){.topbar{grid-template-columns:minmax(0,1fr) auto 48px;gap:14px;height:76px;padding:0 6vw}.topbar nav,.topbar .call{display:none}.topbar .language{grid-column:2}.home-menu-toggle{display:block;grid-column:3}.topbar .brand-name{font-size:18px;letter-spacing:.08em}}
@media(max-width:700px){.rich{font-size:16px;line-height:1.9;padding-top:30px}.project-copy>p{font-size:16px;line-height:1.85}.hero-copy .lede{margin-top:24px}.process-step strong{font-size:16px;line-height:1.65}.process-step small{font-size:14px}.method-quote{font-size:16px}.category small{font-size:13px;line-height:1.8}.panel .eyebrow{font-size:11px;letter-spacing:.1em}.topbar .language-menu{right:-24px}.topbar .language-current{max-width:120px;white-space:normal;line-height:1.5}.contact-link.premium{white-space:nowrap}.home-menu-top{font-size:16px}}
@media(max-width:360px){.topbar{gap:8px;padding-inline:18px}.topbar .brand-name{font-size:16px}.topbar .language-current{font-size:11px;max-width:100px}}
@media(prefers-reduced-motion:reduce){.topbar{transition:none}}

body,.topbar .brand-name,.panel p,.panel .rich,.process-step,.category{font-weight:400}
/* Keep each deliberate phrase together on narrow screens. */
@media(max-width:700px){.project-copy h2{font-size:clamp(1.875rem,8.8vw,2.5rem);line-height:1.35}#categories h2{font-size:clamp(1.6875rem,8.4vw,2rem);line-height:1.45}}

/* Company full-name layout, 2026-10-17. */
.topbar .brand-name{min-width:0;max-width:100%;font-size:clamp(16px,1.45vw,22px);letter-spacing:.015em;line-height:1.45;white-space:normal;overflow-wrap:break-word}
.brand-display{max-width:100%;font-size:clamp(22px,3vw,40px);letter-spacing:.02em;line-height:1.5;overflow-wrap:break-word}
.home-menu-top>span{min-width:0;line-height:1.5;overflow-wrap:break-word}
.home-menu-close{flex:none}
@media(max-width:1100px){.topbar .brand-name{font-size:16px;letter-spacing:0}}
@media(max-width:600px){.topbar{column-gap:8px}.topbar .brand-name{font-size:14px;line-height:1.5}.home-menu-top{gap:10px;font-size:15px}}
