:root{--formal-radius:12px;--formal-ink:#0b1728;--formal-blue:#086b9f;--formal-pale:#eef5f8}.formal-brand{display:grid;gap:1px;line-height:1}.formal-brand strong{font:700 1rem/1.1 Montserrat,Arial,sans-serif;letter-spacing:.035em}.formal-brand small{color:#64748b;font-size:.64rem;font-weight:600;letter-spacing:.02em}.formal-hero .hero-image{filter:saturate(.92) contrast(1.02)}.formal-hero .hero-scrim{background:linear-gradient(90deg,rgba(5,18,34,.92) 0%,rgba(5,18,34,.72) 44%,rgba(5,18,34,.12) 78%)}.formal-hero h1{max-width:820px}.formal-hero .hero-content>p:not(.eyebrow){max-width:570px}.formal-proof strong{font-size:1rem}.formal-proof span{margin-top:4px;line-height:1.45}.formal-categories{grid-template-columns:1.15fr .85fr .85fr;grid-template-rows:250px 250px}.formal-categories .category{background-image:linear-gradient(155deg,rgba(4,20,36,.02),rgba(5,23,42,.42)),var(--category-image);background-size:cover}.formal-categories .category:nth-child(1){grid-row:span 2}.formal-categories .category:nth-child(4){grid-column:span 2}.formal-categories .category span{max-width:260px;font-size:1.12rem}.formal-project-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px}.formal-project-grid article{min-width:0}.formal-project-grid article:first-child{grid-row:span 2}.formal-project-grid img{display:block;width:100%;height:240px;border-radius:var(--formal-radius);object-fit:cover}.formal-project-grid article:first-child img{height:100%;min-height:510px}.formal-project-grid h3{margin-top:16px}.formal-project-grid p{margin-top:7px}.formal-process{display:grid;grid-template-columns:.82fr 1.18fr;gap:72px;align-items:start}.formal-process-list{display:grid;grid-template-columns:1fr 1fr;gap:28px}.formal-process-list div{padding-top:16px;border-top:2px solid var(--formal-ink)}.formal-process-list strong,.formal-process-list span{display:block}.formal-process-list strong{font-family:Montserrat,Arial,sans-serif}.formal-process-list span{margin-top:7px;color:#475569}.formal-factory{background:var(--formal-pale)}.formal-factory-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:58px;align-items:center}.formal-factory video{display:block;width:100%;max-height:640px;border-radius:var(--formal-radius);background:#0f172a;object-fit:cover}.formal-factory-copy p{margin:18px 0}.formal-capabilities{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 30px}.formal-capabilities span{padding:13px 0;border-bottom:1px solid #cbd5e1;color:#334155;font-weight:600}.formal-video-frame{overflow:hidden;border-radius:var(--formal-radius);background:#0f172a}.formal-video-frame video{display:block;width:100%;max-height:670px;object-fit:cover}.formal-video-copy{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:26px}.formal-video-copy p{max-width:560px;margin-top:12px}.formal-site-note{font-size:.86rem}.yp-formal-hero .yp-hero-grid{grid-template-columns:.9fr 1.1fr}.yp-formal-hero .yp-hero-grid>div:first-child{padding-right:12px}.yp-formal-intro{max-width:760px}.yp-formal-intro p{margin-top:16px}.yp-use-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:46px}.yp-use-list{display:grid;gap:0}.yp-use-list div{padding:18px 0;border-bottom:1px solid var(--yp-border)}.yp-use-list strong,.yp-use-list span{display:block}.yp-use-list span{margin-top:5px;color:var(--yp-muted)}.yp-media-heading{max-width:720px}.yp-media-heading p{margin-top:14px}.yp-formal-footer-copy{max-width:620px}.yp-card,.yp-scope-card,.yp-empty{border-radius:var(--formal-radius)}
@media(max-width:1024px){.formal-categories{grid-template-columns:1fr 1fr}.formal-categories .category:nth-child(1){grid-row:auto}.formal-categories .category:nth-child(4){grid-column:span 2}.formal-process,.formal-factory-grid{gap:40px}.formal-project-grid article:first-child img{min-height:470px}}
@media(max-width:767px){.formal-brand small{display:none}.formal-hero .hero-scrim{background:linear-gradient(0deg,rgba(5,18,34,.96) 0%,rgba(5,18,34,.72) 58%,rgba(5,18,34,.1) 100%)}.formal-categories,.formal-project-grid,.formal-process,.formal-process-list,.formal-factory-grid,.yp-use-grid{grid-template-columns:1fr}.formal-categories{grid-template-rows:none}.formal-categories .category:nth-child(4){grid-column:auto}.formal-project-grid article:first-child{grid-row:auto}.formal-project-grid article:first-child img,.formal-project-grid img{height:240px;min-height:0}.formal-video-copy{display:block}.formal-video-copy .button{width:100%;margin-top:20px}.formal-factory video{max-height:520px}.formal-capabilities{grid-template-columns:1fr}.yp-formal-hero .yp-hero-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.formal-hero .hero-image{filter:none}}

/* Keep the featured project grid stable when Elementor's global img rule loads later. */
.elementor .formal-project-grid article{
  display:grid;
  grid-template-rows:auto auto 1fr;
  overflow:hidden;
  border:1px solid #e2e8f0;
  border-radius:var(--formal-radius);
  background:#fff;
}
.elementor .formal-project-grid article:first-child{
  grid-template-rows:minmax(0,1fr) auto auto;
}
.elementor .formal-project-grid article>a:first-child{
  display:block;
  height:240px;
  overflow:hidden;
  border-radius:0;
}
.elementor .formal-project-grid article:first-child>a:first-child{
  height:auto;
  min-height:510px;
}
.elementor .formal-project-grid img,
.elementor .formal-project-grid article:first-child img{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  border-radius:0;
  object-fit:cover;
}
.formal-project-grid h3{
  margin:18px 20px 0;
  font-size:1.08rem;
  line-height:1.32;
}
.formal-project-grid p{
  margin:8px 20px 20px;
  line-height:1.55;
}
.formal-project-grid article>h3:last-child{
  margin-bottom:20px;
}
@media(max-width:1024px){
  .elementor .formal-project-grid article:first-child>a:first-child{min-height:470px}
}
@media(max-width:767px){
  .elementor .formal-project-grid article,
  .elementor .formal-project-grid article:first-child{grid-template-rows:auto auto 1fr}
  .elementor .formal-project-grid article>a:first-child,
  .elementor .formal-project-grid article:first-child>a:first-child{height:240px;min-height:0}
}
