.em-banner{background:var(--surface-page);padding-top:var(--section-y)}
.em-banner__intro{display:flex;flex-direction:column;align-items:center;text-align:center;
  max-width:900px;margin:0 auto}
.em-banner__social{display:flex;align-items:center;gap:2px;list-style:none;
  margin:0 0 var(--space-6);padding:5px;
  background:var(--surface-muted);border-radius:var(--radius-pill)}
.em-banner__social li{margin:0}
.em-banner__social a{display:grid;place-items:center;width:34px;height:34px;
  border-radius:var(--radius-pill);color:var(--em-blue);
  transition:background var(--dur) var(--ease-out)}
.em-banner__social a:hover{background:var(--white)}
.em-banner__social svg{width:16px;height:16px}
.em-banner h1{margin:0 0 var(--space-5);font-size:var(--fs-hero)}
.em-banner .em-eyebrow{margin:0 0 var(--space-4)}
.em-banner__lede{max-width:60ch;margin:0 0 var(--space-8);
  font-size:var(--fs-lead);line-height:1.5;color:var(--text-body)}
.em-banner__actions{display:flex;align-items:center;justify-content:center;
  gap:var(--space-7);flex-wrap:wrap}
.em-banner__actions .em-btn{border-radius:var(--radius-pill)}
.em-banner__arrow{font-size:1.1em;line-height:1}
.em-banner__link{display:inline-flex;align-items:center;min-height:24px;min-width:24px;
  font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-small);
  color:var(--em-blue);text-decoration:none}
.em-banner__link:hover{color:var(--em-orange-ink)}
.em-banner__band{position:relative;margin-top:var(--space-10);
  padding-bottom:var(--space-11);background:var(--surface-tint)}
.em-banner__band::before{content:"";position:absolute;left:0;right:0;top:0;height:200px;
  background:var(--surface-page)}
.em-banner__inner{position:relative}
.em-banner__gallery{display:grid;grid-template-columns:1.3fr 1fr .92fr;
  gap:var(--space-6);align-items:start}
.em-banner__shot{margin:0;overflow:hidden;border-radius:var(--radius-card)}
.em-banner__shot img{display:block;width:100%;height:100%;object-fit:cover}
.em-banner__shot--1{height:460px}
.em-banner__shot--2{height:360px;margin-top:var(--space-6)}
.em-banner__shot--3{height:250px}
.em-solutions{background:linear-gradient(
  var(--surface-tint) 0 calc(100% - 150px),
  var(--surface-page) calc(100% - 150px) 100%)}
.em-process__bg,.em-process__mark{transition:filter var(--dur-slow) var(--ease-out)}
.em-process:hover .em-process__bg,.em-process:hover .em-process__mark,
.em-process:focus-within .em-process__bg,.em-process:focus-within .em-process__mark{
  filter:grayscale(1)}
.em-process__step:hover .em-process__bg,.em-process__step:hover .em-process__mark,
.em-process__step:focus-within .em-process__bg,.em-process__step:focus-within .em-process__mark{
  filter:none}
.em-process__title{min-height:2.44em}
.em-process__title{position:relative}
.em-process__title::before{content:"";position:absolute;left:0;top:-14px;
  width:0;height:3px;border-radius:2px;background:var(--orange-300);
  transition:width var(--dur-slow) var(--ease-out)}
.em-process__step:hover .em-process__title::before,
.em-process__step:focus-within .em-process__title::before{width:32px}
@media (prefers-reduced-motion: reduce){
  .em-process__bg,.em-process__mark,.em-process__title::before{transition:none}
}
.em-solutions__head{align-items:center}
.em-solutions__head .em-lead{margin-bottom:0}
.c2-foundations{padding:var(--section-y) 0;background:var(--surface-page);
  --c2-open:520ms}
.c2-foundations__head{display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(var(--space-7),4vw,var(--space-13));align-items:center;
  margin-bottom:clamp(var(--space-9),4vw,var(--space-12))}
.c2-foundations h2{margin:0;font-family:var(--font-display);font-weight:var(--fw-black);
  font-size:clamp(1.75rem,1.15rem + 2.2vw,3rem);line-height:1.04;letter-spacing:-.03em;
  color:var(--em-blue)}
.c2-foundations__lede{margin:0;font-size:clamp(1.0625rem,.98rem + .4vw,1.25rem);
  line-height:1.7;color:var(--text-body);max-width:60ch}
.c2-panels{display:flex;gap:clamp(var(--space-3),1vw,var(--space-5));align-items:stretch}
.c2-panel{position:relative;isolation:isolate;overflow:hidden;
  flex:1 1 0;min-width:0;min-height:clamp(420px,46vw,600px);
  border-radius:clamp(var(--radius-lg),2vw,var(--radius-panel));
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:clamp(var(--space-6),2.4vw,var(--space-9));
  transition:flex-grow var(--c2-open) var(--ease-out)}
.c2-panel:hover,.c2-panel:focus-within{flex-grow:1.9}
[data-reveal="on"] .c2-panel[data-reveal]{
  transition:opacity var(--dur-reveal) var(--ease-entrance),
             transform var(--dur-reveal) var(--ease-entrance),
             flex-grow var(--c2-open) var(--ease-out)}
[data-reveal="on"] .c2-panel[data-reveal].is-revealed{
  transition:flex-grow var(--c2-open) var(--ease-out);
  transition-delay:0s}
.c2-panel__bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;
  transition:transform var(--c2-open) var(--ease-out)}
.c2-panel:hover .c2-panel__bg,.c2-panel:focus-within .c2-panel__bg{transform:scale(1.06)}
.c2-panel::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,
    rgba(30,36,39,.18) 0%,
    rgba(30,36,39,.68) 48%,
    rgba(30,36,39,.93) 100%);
  transition:opacity var(--dur-slow) var(--ease-out)}
.c2-panel__body{position:relative}
.c2-panel h3{margin:0 0 var(--space-4);font-family:var(--font-display);font-weight:var(--fw-black);
  font-size:clamp(1.25rem,1.05rem + .7vw,1.75rem);line-height:1.1;letter-spacing:-.02em;
  text-transform:uppercase}
.c2-panel h3 a{color:var(--white);text-decoration:none;
  transition:color var(--dur) var(--ease-out)}
.c2-panel h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.c2-panel:hover h3 a,.c2-panel h3 a:focus-visible{color:var(--orange-300)}
.c2-panel__promise{margin:0;font-family:var(--font-display);font-weight:var(--fw-semibold);
  font-size:var(--fs-body);line-height:1.45;color:var(--white);max-width:26ch}
.c2-panel__more{display:grid;grid-template-rows:0fr;opacity:0;
  transition:grid-template-rows var(--dur-slow) var(--ease-out),
             opacity var(--dur) var(--ease-out)}
.c2-panel__more>*{min-height:0;overflow:hidden}
.c2-panel:hover .c2-panel__more,.c2-panel:focus-within .c2-panel__more{
  grid-template-rows:1fr;opacity:1;
  transition:grid-template-rows 380ms var(--ease-out) 140ms,
             opacity 300ms var(--ease-out) 140ms}
.c2-panel__more p{margin:var(--space-5) 0 var(--space-6);font-size:var(--fs-small);
  line-height:1.6;color:var(--text-inverse-muted);max-width:44ch}
.c2-panel__more p b{color:var(--white);font-weight:var(--fw-bold)}
.c2-panel__cue{display:inline-flex;align-items:center;gap:var(--space-3);
  font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-caption);
  letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--orange-300)}
.c2-panel__cue svg{width:16px;height:16px}
@media (max-width:1150px){
  .em-solutions{background:var(--surface-tint)}
}
@media (max-width:1000px){
  .c2-foundations__head{grid-template-columns:1fr;gap:var(--space-6);align-items:start}
}
@media (max-width:860px){
  .c2-panels{overflow-x:auto;overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;padding-bottom:var(--space-6)}
  .c2-panel{flex:0 0 min(78vw,340px);scroll-snap-align:start;min-height:440px}
  .c2-panel:hover,.c2-panel:focus-within{flex-grow:0}
  .c2-panel__more{grid-template-rows:1fr;opacity:1}
}
@media (max-width:900px){
  .em-banner__gallery{grid-template-columns:1fr 1fr}
  .em-banner__shot--1{height:380px}
  .em-banner__shot--2{height:320px;margin-top:var(--space-5)}
  .em-banner__shot--3{grid-column:1 / -1;height:260px}
  .em-banner__band::before{height:140px}
}
@media (max-width:600px){
  .em-banner{padding-top:var(--section-y-sm)}
  .em-banner__gallery{grid-template-columns:1fr}
  .em-banner__shot--1{height:300px}
  .em-banner__shot--2{height:240px;margin-top:0}
  .em-banner__shot--3{height:220px}
  .em-banner__band::before{height:90px}
  .em-utility__bar{justify-content:center;text-align:center}
}
@media (max-width:420px){
  .em-banner__actions{flex-direction:column;gap:var(--space-5)}
  .em-banner__actions .em-btn{width:100%}
}
@media (prefers-reduced-motion: reduce){
  .c2-panel,
  [data-reveal="on"] .c2-panel[data-reveal],
  [data-reveal="on"] .c2-panel[data-reveal].is-revealed,
  .c2-panel__bg,
  .c2-panel__more,
  .c2-panel:hover .c2-panel__more,.c2-panel:focus-within .c2-panel__more{
    transition:none;transition-delay:0s}
  .c2-panel:hover .c2-panel__bg,.c2-panel:focus-within .c2-panel__bg{transform:none}
}
