/* Section-local palettes keep text legible while the surrounding page changes tone. */
:root{--brand-red:#b9231b;--brand-red-hover:#941c16}
body{background:#fff;isolation:isolate}
.page-backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none;background:#fff}
.page-backdrop i{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}
.tone-mist{background:#edf0f1}.tone-graphite{background:#292c2e}.tone-red{background:#a9211b}
body[data-active-surface="mist"] .tone-mist,body[data-active-surface="graphite"] .tone-graphite,body[data-active-surface="red"] .tone-red{opacity:1}
[data-surface]{--ink:#242628;--muted:#63686c;--line:#d4d8da;--soft:#f3f5f5;--red:#b9231b;--red-hover:#941c16;--surface-bg:#fff;color:var(--ink)}
[data-surface="mist"]{--surface-bg:#edf0f1;--soft:#e3e7e9}
[data-surface="graphite"]{--surface-bg:#292c2e;--ink:#fff;--muted:#c8cdcf;--line:#555b5f;--soft:#363c3f;--red:#ff9b93;--red-hover:#ffc0bb}
[data-surface="red"]{--surface-bg:#a9211b;--ink:#fff;--muted:#ffe7e3;--line:#d17771;--soft:#94211c;--red:#fff;--red-hover:#ffe7e3}
main [data-surface]{background:var(--surface-bg)}
/* A wrapped section still paints edge to edge; its grid retains the content gutter. */
main [data-surface].wrap{width:100%;padding-inline:max(var(--gutter),calc((100% - var(--max))/2))}
[data-surface] .button.primary{background:var(--brand-red);border-color:var(--brand-red);color:white}
[data-surface] .button.primary:hover{background:var(--brand-red-hover);border-color:var(--brand-red-hover)}
[data-surface="red"] .button.primary{background:#fff;border-color:#fff;color:var(--brand-red)}
[data-surface="red"] .button.primary:hover{background:#f1f3f4;border-color:#f1f3f4}
.breadcrumbs{background:#edf0f1;width:100%;padding-inline:max(var(--gutter),calc((100% - var(--max))/2));padding-bottom:4px}
.site-header{padding-inline:clamp(24px,3.4vw,64px);gap:22px}
.site-header nav{gap:clamp(12px,1.15vw,22px)}
.site-header,.site-header .mega-menu,footer{--ink:#242628;--muted:#63686c;--line:#d4d8da;--red:#b9231b;color:var(--ink);background:#fff}
.contact-section[data-surface="red"] :is(.email-link,.copy-status){color:#fff;border-color:var(--line)}
.technology-section[data-surface="graphite"] .text-link{color:#fff;border-color:var(--line)}
.technology-section[data-surface="graphite"] .tech-number{color:#ff9b93}
.home-paths[data-surface]{padding-inline:max(var(--gutter),calc((100% - var(--max))/2))}
.company-mosaic-section{padding:0 12px 12px}
.company-mosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));gap:12px;height:clamp(630px,53.5vw,960px)}
.mosaic-tile{position:relative;display:block;isolation:isolate;overflow:hidden;background:#363b3f;color:#fff}
.mosaic-tile>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.mosaic-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(15,20,23,.08) 20%,rgba(15,20,23,.74));pointer-events:none}
.mosaic-about{grid-column:1/3;grid-row:1/4}.mosaic-news{grid-column:3;grid-row:1/3}.mosaic-life{grid-column:3;grid-row:3/6}.mosaic-responsibility{grid-column:1;grid-row:4/6}.mosaic-careers{grid-column:2;grid-row:4/6}
.mosaic-about>img{object-position:center 53%}.mosaic-about::after{background:linear-gradient(180deg,rgba(13,20,25,.52),rgba(13,20,25,.04) 55%,rgba(13,20,25,.58))}
.mosaic-life>img{object-position:60% center}.mosaic-responsibility>img{object-position:80% center}
.mosaic-copy{height:100%;padding:clamp(24px,2.65vw,50px);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}
.mosaic-copy h2{font-size:clamp(23px,2.15vw,36px);font-weight:550;letter-spacing:0;line-height:1.5;color:#fff}
.mosaic-copy p{color:#f0f1f2;margin-top:12px;font-size:15px}
.mosaic-about .mosaic-copy{justify-content:flex-start}.mosaic-about .mosaic-cta{margin-top:auto}
.mosaic-cta{display:flex;align-items:center;gap:30px;font-size:12px;letter-spacing:1.5px;margin-top:13px;min-height:28px}
.mosaic-cta>span{font-size:20px}.mosaic-credit{position:absolute;bottom:8px;right:13px;font-size:9px;color:#fff;text-shadow:0 1px 3px #000}
.mosaic-tile:focus-visible{outline:3px solid var(--brand-red);outline-offset:-4px}
@media(prefers-reduced-motion:no-preference){.mosaic-tile>img{transition:transform .7s cubic-bezier(.2,.6,.3,1)}.mosaic-tile:hover>img{transform:scale(1.035)}.mosaic-cta>span{transition:transform .3s}.mosaic-tile:hover .mosaic-cta>span{transform:translate(4px,-3px)}}
@media(max-width:1250px){.site-header nav{gap:0}.site-header{padding-inline:var(--gutter)}}
@media(max-width:767px){.company-mosaic-section{padding:0 8px 8px}.company-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:300px 260px 260px;gap:8px;height:auto}.mosaic-about{grid-column:1/3;grid-row:1}.mosaic-news{grid-column:1;grid-row:2}.mosaic-life{grid-column:2;grid-row:2}.mosaic-responsibility{grid-column:1;grid-row:3}.mosaic-careers{grid-column:2;grid-row:3}.mosaic-copy{padding:20px 17px 26px}.mosaic-copy h2{font-size:21px}.mosaic-about .mosaic-copy{padding:26px}.mosaic-about h2{font-size:28px}.mosaic-copy p{font-size:13px}.mosaic-cta{font-size:10px;letter-spacing:0;gap:12px;margin-top:8px;line-height:1.5}.mosaic-cta>span{font-size:17px}.mosaic-credit{font-size:8px;right:8px;bottom:7px}.mosaic-about>img{object-position:center}.mosaic-news>img{object-position:58% center}.mosaic-responsibility>img{object-position:80% center}.site-header{padding-inline:22px}}
@media(max-width:359px){.mosaic-copy h2{font-size:18px}.mosaic-copy{padding-inline:13px}.mosaic-cta{font-size:9px}.mosaic-credit{font-size:7px}}
@media(prefers-reduced-motion:reduce){.page-backdrop i{transition:none}}

@media(max-width:767px){.mosaic-news{background:#333639}.mosaic-news>img{height:auto;object-fit:contain;object-position:top;mask-image:linear-gradient(#000 60%,transparent)}}

@media(max-width:767px){.mosaic-life .mosaic-copy h2{font-size:20px}.mosaic-life .mosaic-cta{font-size:9px;gap:8px}}
