/* Homepage refinement: original content, brand artwork and video assets. */
@font-face {
  font-family: "Manrope";
  src: url("assets/fonts/manrope-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}
.ui-polish {
  --max: 1240px;
  --ink: #10243e;
  --muted: #526478;
  --paper: #fafcfd;
  --line: #dce5ec;
  --action: #135acb;
  --navy: #071323;
  font-family: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  background: var(--paper);
}
.ui-polish ::selection { background: #b6eddf; color: #10243e; }
.ui-polish :focus-visible { outline: 3px solid #1472e8; outline-offset: 5px; }
.ui-polish .dark :focus-visible, .ui-polish .hero :focus-visible { outline-color: #8ff4df; }
.ui-polish .site-header,
.ui-polish .site-header.scrolled {
  background: #fff;
  border-bottom: 1px solid var(--line);
  box-shadow: none;
  backdrop-filter: none;
}
.ui-polish .nav { height: 88px; gap: 30px; }
.ui-polish .brand::before,
.ui-polish .brand::after,
.ui-polish .footer-brand::before { content: none; }
.ui-polish .brand img { width: 202px; height: auto; filter: none; }
.ui-polish .nav-links { gap: 21px; color: #33445a; font-size: 13px; font-weight: 650; text-shadow: none; }
.ui-polish .nav-links a { min-height: 44px; display: flex; align-items: center; }
.ui-polish .nav-links a:hover,
.ui-polish .nav-links a.active { color: var(--action); }
.ui-polish .nav-links a::after { background: var(--action); height: 2px; }
.ui-polish .nav-actions { gap: 12px; }
.ui-polish .motion-btn,
.ui-polish .menu-btn { width: 44px; height: 44px; flex-shrink: 0; padding: 0; color: var(--ink); border-color: var(--line); background: #fff; backdrop-filter: none; border-radius: 8px; }
.ui-polish .motion-btn:hover,
.ui-polish .menu-btn:hover { background: #f0f6fa; border-color: #b9cad8; }
.ui-polish .btn { border-radius: 8px; min-height: 50px; padding: 0 22px; font-size: 14px; font-weight: 700; letter-spacing: 0; box-shadow: none; text-shadow: none; transition: background-color .2s, color .2s, border-color .2s; }
.ui-polish .btn-primary { color: #fff; background: var(--action); }
.ui-polish .btn-primary:hover { background: #104aab; transform: none; }
.ui-polish .btn-light:hover { background: #edf4fc; border-color: #bacde8; transform: none; }
.ui-polish .nav-actions .btn { padding: 0 18px; min-height: 44px; font-size: 12px; }
.ui-polish .btn-outline { background: transparent; border-color: #77889b; backdrop-filter: none; }
.ui-polish .btn-outline:hover { background: #ffffff0f; border-color: #d8e7f2; }
.ui-polish .home-hero { min-height: 750px; background: var(--navy); }
.ui-polish .hero-inner { padding-top: 158px; padding-bottom: 70px; }
.ui-polish .hero-video { inset: 88px 0 0 auto; width: 66%; height: calc(100% - 88px); object-position: 60% 50%; filter: saturate(.85) brightness(.86); }
.ui-polish .home-hero::before { background: linear-gradient(90deg, #071323 0%, #071323 32%, #071323e8 43%, #07132360 65%, #07132300 87%); }
.ui-polish .home-hero::after { background: linear-gradient(0deg, #071323 0%, #07132300 25%); }
.ui-polish .hero-grid, .ui-polish .hero-glow { display: none; }
.ui-polish .eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .12em; gap: 0; color: #69decf; }
.ui-polish .eyebrow::after { content: none; }
.ui-polish .hero h1 { font-size: clamp(48px, 4.8vw, 70px); max-width: 680px; line-height: 1.075 !important; letter-spacing: -.035em !important; margin: 24px 0 24px !important; padding: 0 !important; text-shadow: none; font-weight: 650; }
.ui-polish .hero h1 > span { color: #74e4d5; background: none; line-height: inherit !important; padding: 0 !important; margin: 6px 0 0 !important; }
.ui-polish .hero-copy { max-width: 535px; font-size: 16px; line-height: 1.75; color: #d2dce7; text-shadow: none; margin: 0; }
.ui-polish .hero-actions { gap: 14px; margin-top: 30px; }
.ui-polish .hero-services { background: #fff; border-bottom: 1px solid var(--line); }
.ui-polish .hero-rail { max-width: none; margin: 0; border: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ui-polish .hero-rail > a { position: relative; padding: 28px 28px 30px; min-height: 144px; border-left: 1px solid var(--line); transition: background-color .2s; }
.ui-polish .hero-rail > a:first-child { border-left: 0; padding-left: 0; }
.ui-polish .hero-rail > a:last-child { padding-right: 0; }
.ui-polish .hero-rail strong { color: var(--ink); font-size: 15px; font-weight: 700; padding-right: 22px; }
.ui-polish .hero-rail span { color: var(--muted); font-size: 13px; line-height: 1.6; max-width: 220px; margin-top: 9px; }
.ui-polish .hero-rail svg { width: 16px; height: 16px; position: absolute; right: 22px; top: 31px; color: var(--action); transition: transform .2s; }
.ui-polish .hero-rail > a:last-child svg { right: 0; }
.ui-polish .hero-rail > a:hover svg { transform: translate(3px, -3px); }
.ui-polish .hero-rail > a:hover strong { color: var(--action); }
.ui-polish .section { padding: 92px 0; }
.ui-polish .light { background: var(--paper); }
.ui-polish .light + .light { padding-top: 24px; }
.ui-polish main > .section::after,
.ui-polish main > .engineering::after,
.ui-polish main > .section::before,
.ui-polish main > .engineering::before { content: none; }
.ui-polish .section-head { gap: 64px; align-items: start; margin-bottom: 40px; }
.ui-polish .section-title,
.ui-polish .local-entity h2,
.ui-polish .eng-copy h2,
.ui-polish .cta h2 { font-size: clamp(30px, 3.5vw, 48px); line-height: 1.16 !important; font-weight: 650; letter-spacing: -.03em !important; margin-top: 16px; text-shadow: none; }
.ui-polish .section-copy { font-size: 15px; line-height: 1.8; margin-top: 20px; }
.ui-polish .section-title span,
.ui-polish .gradient { background: none; color: #157b71; }
.ui-polish .dark .section-title span,
.ui-polish .eng-copy .gradient,
.ui-polish .cta .gradient { color: #74e4d5; }
.ui-polish .local-entity { gap: 72px; }
.ui-polish .local-entity h2 { font-size: clamp(28px, 3vw, 40px); }
.ui-polish .local-entity p,
.ui-polish .local-facts span,
.ui-polish .local-facts a { font-size: 14px; line-height: 1.8; }
.ui-polish .local-facts b { font-size: 12px; font-weight: 750; }
.ui-polish .service-directory a { padding-top: 24px; padding-bottom: 24px; }
.ui-polish .service-directory strong { font-size: 17px; font-weight: 650; }
.ui-polish .service-directory span { font-size: 14px; max-width: 470px; }
.ui-polish .service-directory a:hover { background: #f0f6fa; transform: none; }
.ui-polish .outcome-item > span,
.ui-polish .why-proof > span { margin-bottom: 25px; }
.ui-polish .outcome-item h3 { font-size: 22px; line-height: 1.3; }
.ui-polish .outcome-item p { font-size: 14px; line-height: 1.8; }
.ui-polish .home-capabilities { background: #071323; }
.ui-polish .home-capabilities .section-video-bg { opacity: .4; }
.ui-polish .capability-row { padding: 28px 0; }
.ui-polish .capability-row:hover { padding-left: 0; background: #ffffff06; }
.ui-polish .capability-row h3 { font-size: clamp(21px, 2.2vw, 30px); font-weight: 600; line-height: 1.25; }
.ui-polish .capability-row p { font-size: 14px; max-width: 660px; }
.ui-polish .products { background: #f1f6f7; }
.ui-polish .product-grid { gap: 0; border-top: 1px solid var(--line); }
.ui-polish .product-card { border: 0; border-right: 1px solid var(--line); border-radius: 0; padding: 32px; background: transparent; box-shadow: none; }
.ui-polish .product-card:first-child { padding-left: 0; }
.ui-polish .product-card:last-child { border-right: 0; padding-right: 0; }
.ui-polish .product-card .pill { background: #e0ecec; color: #315b58; border-radius: 4px; font-weight: 650; padding: 5px 9px; margin-bottom: 22px; }
.ui-polish .product-card p { font-size: 14px; line-height: 1.8; }
.ui-polish .product-card h3 { font-weight: 650; }
.ui-polish .contact-panel { border-radius: 12px; box-shadow: none; background: #fff; padding: 34px; }
.ui-polish .contact-panel h3 { font-size: 25px; font-weight: 650; margin-top: 0; }
.ui-polish .contact-panel p { font-size: 15px; }
.ui-polish .footer { background: #fff; color: var(--ink); border-color: var(--line); padding-top: 64px; }
.ui-polish .footer-brand img { width: 220px; filter: none; }
.ui-polish .footer-brand p, .ui-polish .footer-links { color: var(--muted); font-size: 13px; }
.ui-polish .footer h4 { color: var(--ink); font-size: 11px; letter-spacing: .08em; }
.ui-polish .footer-links { gap: 0; }
.ui-polish .footer-links a { padding: 6px 0; }
.ui-polish .footer-links a:hover { color: var(--action); }
.ui-polish .footer-meta, .ui-polish .footer-social { border-color: var(--line); color: var(--muted); }
.ui-polish .footer-social-links a { color: #33445a; background: #fff; box-shadow: none; border-color: var(--line); }
.ui-polish .footer-social-links a[href]:hover { background: #f0f6fa; border-color: #b9cad8; box-shadow: none; transform: none; }
.ui-polish .footer-social-links a[href*="x.com/"]::before { background: var(--ink); }
.ui-polish .footer-social-links a:focus-visible { outline-color: var(--action); }
.ui-polish.motion-paused .reveal { opacity: 1; transform: none; filter: none; transition: none; animation: none; }

@media (max-width: 1120px) {
  .ui-polish .nav { height: 78px; }
  .ui-polish .brand img { width: 180px; }
  .ui-polish .menu-btn { display: grid; }
  .ui-polish .nav-links { position: fixed; inset: 78px 0 auto; display: grid; padding: 16px max(24px, calc((100vw - 1240px) / 2)) 24px; gap: 0; background: #fff; box-shadow: 0 20px 25px #07132312; visibility: hidden; transform: translateY(-12px); opacity: 0; pointer-events: none; max-height: calc(100svh - 78px); overflow-y: auto; transition: opacity .18s, transform .18s, visibility .18s; }
  .ui-polish.menu-open .nav-links { visibility: visible; transform: none; opacity: 1; pointer-events: auto; }
  .ui-polish .nav-links a { min-height: 52px; padding: 14px 0; border-bottom: 1px solid var(--line); }
  .ui-polish .nav-links a::after { content: none; }
  .ui-polish .hero-video { top: 78px; height: calc(100% - 78px); }
  .ui-polish .hero h1 { font-size: 58px; max-width: 610px; }
  .ui-polish .hero-inner { padding-top: 140px; }
  .ui-polish .hero-rail > a { padding: 24px 18px; }
  .ui-polish .hero-rail svg { right: 12px; top: 28px; }
  .ui-polish .product-grid { grid-template-columns: 1fr; }
  .ui-polish .product-card, .ui-polish .product-card:first-child, .ui-polish .product-card:last-child { padding: 26px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .ui-polish .product-card:last-child { border-bottom: 0; }
}
@media (max-width: 760px) {
  .ui-polish .container { width: calc(100% - 40px); }
  .ui-polish .nav { height: 74px; gap: 12px; }
  .ui-polish .brand img { width: 165px; }
  .ui-polish .nav-actions { gap: 8px; }
  .ui-polish .nav-actions > .btn { display: none; }
  .ui-polish .nav-links { top: 74px; max-height: calc(100svh - 74px); padding-inline: 20px; }
  .ui-polish .home-hero { min-height: 0; padding-bottom: 260px; }
  .ui-polish .hero-inner { padding-top: 116px; padding-bottom: 22px; }
  .ui-polish .hero h1 { font-size: clamp(38px, 7.5vw, 56px); max-width: 620px; line-height: 1.12 !important; margin-top: 20px !important; margin-bottom: 20px !important; }
  .ui-polish .hero h1 > span { line-height: inherit !important; }
  .ui-polish .hero-copy { font-size: 15px; max-width: 570px; line-height: 1.75; }
  .ui-polish .hero-video { inset: auto 0 0; width: 100%; height: 315px; object-position: 60% 56%; filter: saturate(.85) brightness(.9); }
  .ui-polish .home-hero::before { background: linear-gradient(0deg, #07132300 0%, #07132300 150px, #071323 300px); }
  .ui-polish .home-hero::after { background: linear-gradient(0deg, #071323 0%, #07132300 100px); }
  .ui-polish .hero-actions { gap: 10px; margin-top: 24px; }
  .ui-polish .hero-actions .btn { min-height: 48px; padding: 0 16px; font-size: 13px; }
  .ui-polish .hero-rail { grid-template-columns: 1fr 1fr; }
  .ui-polish .hero-rail > a, .ui-polish .hero-rail > a:first-child, .ui-polish .hero-rail > a:last-child { padding: 22px 14px; border-left: 0; min-height: 140px; }
  .ui-polish .hero-rail > a:nth-child(odd) { padding-left: 0; padding-right: 20px; }
  .ui-polish .hero-rail > a:nth-child(even) { border-left: 1px solid var(--line); padding-right: 0; padding-left: 20px; }
  .ui-polish .hero-rail > a:nth-child(n+3) { border-top: 1px solid var(--line); }
  .ui-polish .hero-rail strong { font-size: 14px; padding-right: 8px; }
  .ui-polish .hero-rail span { font-size: 12px; }
  .ui-polish .hero-rail svg { display: none; }
  .ui-polish .section { padding: 66px 0; }
  .ui-polish .section-head, .ui-polish .local-entity { gap: 26px; }
  .ui-polish .section-head { margin-bottom: 32px; }
  .ui-polish .section-copy { margin-top: 0; }
  .ui-polish .section-title, .ui-polish .eng-copy h2, .ui-polish .cta h2 { font-size: 32px; letter-spacing: -.025em !important; }
  .ui-polish .service-directory a, .ui-polish .service-directory a:nth-child(even) { padding: 22px 0; }
  .ui-polish .capability-row { grid-template-columns: 1fr; gap: 10px; }
  .ui-polish .capability-row > span, .ui-polish .capability-row b { grid-column: 1; }
  .ui-polish .eng-copy { padding: 66px 20px; }
  .ui-polish .eng-video { min-height: 290px; }
  .ui-polish .contact-panel { padding: 25px; }
  .ui-polish .footer-links a { min-height: 44px; display: flex; align-items: center; }
  .ui-polish .footer-main { gap: 30px; }
  .ui-polish .footer-brand img { width: 200px; }
}
@media (max-width: 560px) {
  .ui-polish .hero-actions { align-items: stretch; flex-direction: column; }
  .ui-polish .hero-actions .btn { width: 100%; }
}
@media (max-width: 390px) {
  .ui-polish .brand img { width: 146px; }
  .ui-polish .hero h1 { font-size: 38px; }
}
@media (prefers-reduced-motion: reduce) {
  .ui-polish *, .ui-polish *::before, .ui-polish *::after { scroll-behavior: auto; }
  .ui-polish .hero-rail > a:hover svg { transform: none; }
  .ui-polish .nav-links, .ui-polish .btn, .ui-polish .hero-rail svg { transition: none; }
}
