/* Home v8: content-first engineering service, shared MPK type and material. */
.v8-home{--v8-space:clamp(64px,6vw,104px);--v8-ink:#202126;--v8-muted:#42444c;--v8-red:#c92532;--v8-graphite:#191b1f;--v8-paper:#f6f6f7;--v8-surface:#ecedef;--v8-line:#cdcdcf;--v8-ease:cubic-bezier(.2,.65,.3,1);background:var(--v8-paper);color:var(--v8-ink)}
.v8-home h2{font:400 var(--v7-h2,36px)/1.16 InterV4,Arial,sans-serif;letter-spacing:-.02em;margin:0}
.v8-home h3{font:500 22px/1.3 InterV4,Arial,sans-serif;letter-spacing:normal;margin:0 0 12px}
.v8-home p{font-size:18px;line-height:1.55;margin:0;color:var(--v8-muted)}
.v8-home .v8-kicker{font:600 16px/1.5 InterV4,Arial,sans-serif;letter-spacing:.02em;margin:0 0 20px;color:var(--v8-muted)}
.v8-section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:36px}
.v8-section-head>div{min-width:0;max-width:70%}
.v8-section-heading h2{max-width:24ch}
.v8-home .v8-section-lead{margin-top:24px;max-width:52ch}
.v8-home .v8-secondary-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:8px 0;font-size:16px;line-height:1.4;font-weight:600;color:#a91c28;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;transition:color .2s}
.v8-secondary-link:hover{color:#8d1721}
.v8-home .v4-button{min-height:56px;padding:16px 24px;white-space:normal;font-size:16px;line-height:1.25;text-align:center;align-items:center;justify-content:center;border-radius:8px}
.v8-home .v4-button span{display:block}
.v8-hero{background:var(--v8-graphite);color:#f8f8fa;padding-block:clamp(48px,5vw,80px) 0;position:relative;isolation:isolate}
.v8-hero:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--v8-red)}
.v8-hero-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);column-gap:4%;align-items:center}
.v8-hero-copy{min-width:0;padding-bottom:56px;position:relative;z-index:1}
.v8-home .v8-hero .v8-kicker{color:#e5e5e8;margin-bottom:28px}
.v8-home .v8-hero h1{font:400 clamp(44px,4.5vw,72px)/1.06 InterV4,Arial,sans-serif;letter-spacing:-.035em;margin:0 0 28px;max-width:24ch;overflow-wrap:normal;hyphens:none;text-wrap:balance}
.v8-home .v8-hero-lead{font-size:19px;line-height:1.55;color:#e5e5e8;max-width:56ch;margin-bottom:32px}
.v8-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 32px}
.v8-hero .v8-secondary-link{color:#f1f1f3}
.v8-hero .v8-secondary-link:hover{color:#fff}
.v8-hero-visual{align-self:center;display:grid;place-items:center;min-width:0;padding-bottom:40px}
.v8-object{display:block;width:100%;height:auto;object-fit:contain;aspect-ratio:1;max-width:480px;pointer-events:none;transform-origin:50% 60%}
.v8-home .v8-hero-visual>p{font-size:16px;line-height:1.5;color:#e5e5e8;text-align:center;margin-top:12px;font-weight:500}
.v8-hero-proof{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:28px 0;margin:0;border-top:1px solid #55575e;gap:24px}
.v8-hero-proof li{font-size:16px;line-height:1.5;color:#f1f1f3;font-weight:500;display:flex;align-items:center;gap:14px}
.v8-hero-proof li:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:#e25b64}
.v8-situations{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:8%;padding-block:var(--v8-space)}
.v8-situation-list{display:grid;grid-template-columns:1fr 1fr;gap:32px 40px}
.v8-situation{border-top:1px solid var(--v8-line);padding-top:20px;min-width:0}
.v8-index{display:block;color:#a91c28;font-size:16px;line-height:1.5;font-weight:600;font-variant-numeric:tabular-nums;margin-bottom:16px}
.v8-situation h3{font-size:20px;margin-bottom:12px}
.v8-situation p{max-width:36ch}
.v8-home .v8-directions{padding-block:0 var(--v8-space)}
.v8-home .v5-home-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.v8-home .v5-home-grid .v5-category-card{display:flex;align-items:center;gap:24px;min-height:184px;padding:24px;border-radius:8px;background:var(--v8-surface);color:var(--v8-ink);transition:background-color .2s,color .2s,transform .2s var(--v8-ease)}
.v8-home .v5-home-grid .v5-category-card>div{min-width:0}
.v8-home .v5-category-icon{flex:none;width:96px}
.v8-home .v5-home-grid .v5-category-card h3{font-size:22px;line-height:1.3;margin:0}
.v8-home .v5-home-grid .v5-category-card p{font-size:16px;line-height:1.5;font-weight:500;color:var(--v8-muted);margin:8px 0 0}
.v8-home .v5-home-grid .v5-category-card:hover,.v8-home .v5-home-grid .v5-category-card:active{background:#a91c28;color:#fff}
.v8-home .v5-home-grid .v5-category-card:hover p,.v8-home .v5-home-grid .v5-category-card:active p{color:#fff}
.v8-approach{background:var(--v8-graphite);color:#f8f8fa;padding-block:var(--v8-space)}
.v8-approach-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8%}
.v8-home .v8-approach .v8-kicker{color:#e5e5e8}
.v8-approach h2{max-width:17ch}
.v8-approach-cta{margin-top:32px}
.v8-brand-sign{width:96px;height:96px;background:#797b81;mask:url('/assets/v4/symbol.svg') center/contain no-repeat;-webkit-mask:url('/assets/v4/symbol.svg') center/contain no-repeat;margin-top:48px}
.v8-benefit{display:grid;grid-template-columns:36px minmax(0,1fr);gap:20px;border-top:1px solid #55575e;padding-block:28px}
.v8-benefit:first-child{padding-top:0;border-top:0}
.v8-benefit:last-child{padding-bottom:0}
.v8-benefit .v8-index{color:#f8b7bd;margin:0}
.v8-benefit h3{font-size:22px;line-height:1.3;margin-bottom:12px}
.v8-home .v8-benefit p{color:#e5e5e8;max-width:54ch}
.v8-work{padding-block:var(--v8-space)}
.v8-home .v8-image-disclosure{font-size:16px;line-height:1.5;font-weight:500;max-width:24ch;text-align:right}
.v8-work-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.v8-work-card{min-width:0}
.v8-work-media{width:100%;aspect-ratio:1.2;overflow:hidden;border-radius:8px;background:var(--v8-surface)}
.v8-work-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s var(--v8-ease)}
.v8-work-drawing{display:grid;place-items:center}
.v8-work-document{width:65%;max-width:200px}
.v8-work-copy{padding-top:24px}
.v8-work-number{font-size:16px;line-height:1.5;font-weight:600;font-variant-numeric:tabular-nums;color:#a91c28;display:block;margin-bottom:12px}
.v8-work-card h3{font-size:22px;line-height:1.3}
.v8-work-card p{font-size:18px;line-height:1.55}
.v8-process{padding-block:0 var(--v8-space);display:grid;grid-template-columns:1fr;gap:36px}
.v8-process-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;list-style:none;margin:0;padding:0}
.v8-process-list li{border-top:2px solid #cdcdcf;padding-top:24px;position:relative;min-width:0}
.v8-process-list li:before{content:"";position:absolute;width:32px;left:0;top:-2px;height:2px;background:var(--v8-red)}
.v8-process-number{font:400 40px/1.1 InterV4,Arial,sans-serif;color:#a91c28;letter-spacing:-.03em;display:block;margin-bottom:24px}
.v8-process-list h3{font-size:22px;line-height:1.3}
.v8-articles{padding-block:0 var(--v8-space)}
.v8-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.v8-article-card{text-decoration:none;display:flex;flex-direction:column;color:var(--v8-ink);min-width:0}
.v8-article-image{aspect-ratio:1.55;background:var(--v8-surface);border-radius:8px;overflow:hidden;margin-bottom:24px}
.v8-article-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s var(--v8-ease)}
.v8-article-card>span:not(.v8-article-action){font-size:16px;line-height:1.5;font-weight:500;color:var(--v8-muted);display:block;margin-bottom:12px}
.v8-home .v8-article-card h3{font-size:22px;line-height:1.3;letter-spacing:-.01em;margin-bottom:16px}
.v8-article-card p{font-size:18px;line-height:1.55;margin:0}
.v8-article-action{display:inline-flex;align-items:center;min-height:44px;margin-top:auto;padding-top:16px;color:#a91c28;font-size:16px;line-height:1.5;font-weight:600;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.v8-discussion{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:6%;align-items:center;padding:48px 56px;background:var(--v8-surface);border-radius:8px;margin-bottom:var(--v8-space)}
.v8-discussion-copy{min-width:0}
.v8-discussion-copy h2{max-width:20ch}
.v8-discussion-copy>p:not(.v8-kicker){max-width:53ch;margin:24px 0 28px}
.v8-discussion-visual{min-width:0;display:grid;place-items:center}
.v8-discussion-object{max-width:400px}
/* Visibility is never gated by JS. Only the class added after observation animates. */
@keyframes v8-reveal{from{opacity:.4;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes v8-object-arrive{0%{transform:translateY(14px) rotate(-1.5deg);opacity:.65}40%{transform:translateY(-4px) rotate(.5deg);opacity:1}100%{transform:none;opacity:1}}
@media(prefers-reduced-motion:no-preference){.v8-home [data-reveal].is-revealed{animation:v8-reveal .42s var(--v8-ease) both}.v8-home [data-motion].is-inview .v8-object{animation:v8-object-arrive 4.2s var(--v8-ease) both}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.v8-home .v5-category-card:hover{transform:translateY(-3px)}.v8-work-card:hover img,.v8-article-card:hover img{transform:scale(1.035)}}
@media(max-width:1280px){.v8-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}.v8-work-media{aspect-ratio:1.7}.v8-hero-grid{grid-template-columns:minmax(0,1.85fr) minmax(0,1fr)}.v8-hero-copy{padding-bottom:40px}.v8-home .v5-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v8-process-list{gap:24px}.v8-process-list h3{font-size:20px}}
@media(min-width:768px) and (max-width:1024px){.v8-situations{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:6%}.v8-situation-list{gap:28px 24px}.v8-home .v5-home-grid .v5-category-card{gap:16px;padding:20px}.v8-home .v5-category-icon{width:72px}.v8-home .v5-home-grid .v5-category-card h3{font-size:20px}.v8-article-grid{gap:24px}.v8-home .v8-article-card h3{font-size:22px}.v8-discussion{padding:40px;gap:24px}.v8-process-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}}
@media(max-width:999px){.v8-situations{grid-template-columns:1fr;gap:32px}.v8-situation-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
.v8-home{--v8-space:64px}
.v8-home h2{font-size:28px;line-height:1.16;letter-spacing:-.02em}
.v8-home h3{font-size:20px;line-height:1.3}
.v8-home p{font-size:17px;line-height:1.55}
.v8-home .v8-kicker{font-size:16px;line-height:1.5;margin-bottom:16px}
.v8-section-head{display:block;margin-bottom:28px}
.v8-section-head>div{max-width:none}
.v8-section-head>.v4-button,.v8-section-head>.v8-secondary-link{margin-top:24px}
.v8-section-heading h2{max-width:none}
.v8-home .v8-section-lead{margin-top:20px}
.v8-hero{padding-top:40px}
.v8-hero-grid{grid-template-columns:minmax(0,1fr) 112px;gap:0 16px;align-items:center}
.v8-hero-copy{display:contents}
.v8-home .v8-hero .v8-kicker{grid-column:1/-1;margin-bottom:24px}
.v8-home .v8-hero h1{grid-column:1/-1;font-size:clamp(36px,9.4vw,44px);line-height:1.08;letter-spacing:-.03em;margin:0 0 24px;max-width:none;text-wrap:balance}
.v8-home .v8-hero-lead{grid-column:1/-1;font-size:17px;line-height:1.55;margin:0 0 28px}
.v8-hero-actions{grid-column:1;grid-row:4;display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:32px}
.v8-home .v8-hero-actions .v4-button{padding:16px;max-width:100%;white-space:nowrap}
.v8-hero-actions .v8-secondary-link{min-height:44px}
.v8-hero-visual{grid-column:2;grid-row:4;padding:0 0 32px;align-self:center}
.v8-hero-object{max-width:none;width:128px;margin-left:-8px}
.v8-home .v8-hero-visual>p{display:none}
.v8-hero-proof{grid-template-columns:1fr;gap:12px;padding:24px 0}
.v8-hero-proof li{font-size:16px;line-height:1.5;gap:12px}
.v8-situations{grid-template-columns:1fr;gap:32px}
.v8-situation-list{grid-template-columns:1fr;gap:0}
.v8-situation{display:block;padding-block:20px}
.v8-situation:last-child{padding-bottom:0}
.v8-situation h3{margin:0 0 8px;font-size:20px}
.v8-situation p{max-width:none}
.v8-home .v5-home-grid{grid-template-columns:1fr;gap:16px}
.v8-home .v5-home-grid .v5-category-card{min-height:148px;padding:20px;gap:20px}
.v8-home .v5-category-icon{width:80px}
.v8-home .v5-home-grid .v5-category-card h3{font-size:20px;line-height:1.3}
.v8-approach-grid{grid-template-columns:1fr;gap:36px}
.v8-brand-sign{display:none}
.v8-benefit{padding-block:24px;gap:16px;grid-template-columns:28px minmax(0,1fr)}
.v8-benefit h3{font-size:20px}
.v8-work-grid{grid-template-columns:1fr;gap:32px}
.v8-work-media{aspect-ratio:1.5}
.v8-work-copy{padding-top:20px}
.v8-work-card h3{font-size:20px}
.v8-work-card p{font-size:17px}
.v8-home .v8-image-disclosure{font-size:16px;max-width:none;text-align:left;margin-top:20px}
.v8-work-number{margin-bottom:8px}
.v8-process{gap:32px}
.v8-process-list{grid-template-columns:1fr;gap:28px}
.v8-process-list li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px 16px;padding-top:20px}
.v8-process-number{grid-column:1;grid-row:1/3;font-size:30px;line-height:1.2;margin:0}
.v8-process-list h3{grid-column:2;font-size:20px;margin:0}
.v8-process-list p{grid-column:2}
.v8-article-grid{grid-template-columns:1fr;gap:36px}
.v8-article-card{display:block}
.v8-article-image{aspect-ratio:1.55;margin-bottom:20px}
.v8-home .v8-article-card h3{font-size:22px;line-height:1.3;letter-spacing:-.01em;margin-bottom:12px}
.v8-article-card p{font-size:17px}
.v8-article-action{margin-top:12px;padding-top:0}
.v8-discussion{grid-template-columns:1fr;padding:28px 24px;gap:12px;margin-bottom:64px}
.v8-discussion-copy>p:not(.v8-kicker){margin:20px 0 24px}
.v8-discussion-visual{justify-items:end;max-height:200px;overflow:visible}
.v8-discussion-object{width:210px;max-width:75%;margin-top:-12px}
}
@media(max-width:370px){.v8-hero-grid{grid-template-columns:minmax(0,1fr) 88px;column-gap:12px}.v8-hero-object{width:108px;margin-left:-12px}.v8-home .v8-hero-actions .v4-button{padding-inline:14px}.v8-home .v5-category-icon{width:72px}}
@media(prefers-reduced-motion:reduce){.v8-home *,.v8-home *:before,.v8-home *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Local CTA body contrast on its actual surface. */
.v8-home .v8-discussion-copy>p:not(.v8-kicker){color:#383a42}
