/* Intentional light surfaces, including browsers with a dark system theme. */
:root{color-scheme:only light}html,body{background:#fff;color:#18223c;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.header,.nav-row,#navigation{background-color:#fff;color:#18223c;color-scheme:only light}.header{background-image:linear-gradient(#fff,#fff)}
.brand{flex-shrink:0}.brand img{height:auto;width:100%;object-fit:contain;filter:none;mix-blend-mode:normal}
.contact-bar{background:#111a36;color:#e7eaf2}.contact-inner{gap:24px}.contact-inner>.utility-left{display:flex;flex-direction:row;align-items:center;gap:22px;flex-wrap:wrap}.utility-left>a,.utility-location{display:flex;align-items:center;gap:9px;margin:0!important;padding:0!important;border:0!important;font-size:12px;color:#e7eaf2;min-height:44px}.utility-location{display:flex!important}.utility-left .icon{width:15px;height:15px}.portal-trigger{min-height:44px;flex-shrink:0;color:#e7eaf2}.mobile-toggle{color:#18223c;background:#f4f7fc;min-width:88px;min-height:44px}
input,textarea,select{font-family:inherit;color:#18223c;background:#fcfdff;color-scheme:only light;-webkit-appearance:none;appearance:none;border:1px solid #d8e0ed}input::placeholder,textarea::placeholder{color:#71809a;opacity:1}input[type=search]{border:0;background:transparent}button{color:inherit}.button{color:#fff}.icon{vertical-align:middle}.text-link .icon{width:20px;height:20px}.mock-project .icon,.mock-tasks .icon{width:14px;height:14px}
/* A quiet city backdrop, distinct from a technology visualization. */
.hero .hero-inner{height:680px;padding-top:64px;padding-bottom:26px;display:flex;flex-direction:column}
.hero[data-composition] .hero-copy{height:490px;max-width:980px;width:100%;margin:0 auto;padding:0;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.hero .hero-copy h1{font-size:clamp(48px,5.1vw,74px);line-height:1.06;font-weight:750;letter-spacing:-.045em;margin:0;color:#fff}
.hero .eyebrow.light{justify-content:center;font-size:11px;letter-spacing:.15em;line-height:1.5;margin-bottom:24px;color:#dce7ff}.hero .eyebrow.light>span{display:none}
.hero .hero-description{font-size:18px;line-height:1.65;max-width:620px;margin:24px auto 0;color:#eff4ff}
.hero .growth{color:#99e8ff;background:none;-webkit-text-fill-color:#99e8ff;text-shadow:0 2px 18px #06172a50}
.hero .hero-overlay{background:radial-gradient(ellipse at 50% 35%,#07152be6 0%,#0b1c39bc 47%,#10233b55 85%),linear-gradient(0deg,#081a3dd9,transparent 45%)}
.hero[data-composition=marketing] .hero-overlay{background:linear-gradient(90deg,#09182bef 0%,#0d213bd9 46%,#10233b40 90%),linear-gradient(0deg,#081a3dcc,transparent 40%)}
.hero[data-composition=marketing] .hero-copy{text-align:left;align-items:flex-start;max-width:840px;margin-left:0}
.hero[data-composition=marketing] .hero-description{margin-left:0;max-width:550px}.hero[data-composition=marketing] .eyebrow.light{justify-content:flex-start}
.hero[data-composition=operations] .hero-overlay{background:radial-gradient(ellipse at 50% 35%,#07152bed 0%,#0b1c39d4 50%,#10233b66 90%),linear-gradient(0deg,#081a3dcc,transparent 40%)}
.hero .hero-mesh{opacity:.16;height:160px;animation:none;bottom:0;mask-image:linear-gradient(90deg,transparent,#000)}
.hero .hero-actions{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:32px;flex-wrap:wrap}
.hero .hero-actions .button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:56px;padding:16px 24px;border-radius:12px;font-size:14px;font-weight:600;line-height:1.4;border:1px solid #6481ff;background:linear-gradient(125deg,#4657ee,#286ddd);box-shadow:inset 0 1px 0 #ffffff35,0 8px 24px #06132b50;transition:background .18s,transform .18s,box-shadow .18s}
.hero .hero-actions .button .icon{width:20px;height:20px;flex:none}
.hero .hero-actions .outline{background:#0c203a66;border:1px solid #dbe9ff80;box-shadow:inset 0 1px 0 #ffffff10;color:#fff;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.hero .hero-actions .button:hover{background:linear-gradient(125deg,#5268fa,#347fea);transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffffff40,0 10px 25px #06132b66}
.hero .hero-actions .outline:hover{background:#203b5fcc;box-shadow:none}.hero .hero-actions .button:active{transform:translateY(1px);box-shadow:inset 0 2px 5px #07162930}
.hero .hero-bottom{margin-top:auto;width:100%;min-width:0;gap:16px}.carousel-controls{gap:2px}.hero .carousel-controls button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px}.carousel-controls .icon{width:19px;height:19px}.hero .slide-dots{display:flex}.hero .slide-dots button{position:relative;width:44px;min-width:44px}.hero .slide-dots button::after{position:absolute;inset:0;margin:auto}.hero .control-divider{margin-inline:4px}
.service-card:last-child{grid-column:1/-1;background:linear-gradient(110deg,#eef4ff,#f7fcff)}.service-card:last-child .service-card-intro{display:grid;grid-template-columns:65px 1fr auto;gap:0 20px;align-items:center}.service-card:last-child .icon-tile{grid-row:1/3}.service-card:last-child h3{margin:0 0 8px}.service-card:last-child p{grid-column:2;margin:0}.service-card:last-child .text-link{grid-column:3;grid-row:1/3;padding:10px;min-height:44px;margin:0}.service-card:last-child .service-number{display:none}
@media(max-width:1000px){.contact-inner{gap:14px}.contact-inner>.utility-left{gap:0 20px}.utility-left>a,.utility-location{font-size:11px}.utility-location{width:100%;min-height:24px;margin-top:-4px!important;padding-bottom:4px!important}.hero .hero-copy h1{font-size:clamp(43px,6vw,64px)}.hero .hero-description{font-size:17px}.hero .hero-inner{height:680px;padding-top:40px}#navigation{max-height:calc(100dvh - 160px);max-height:calc(100svh - 160px);overscroll-behavior:contain}#navigation>a,.plain-nav,.nav-disclosure{min-height:44px}.mega-cta .button{min-height:44px}.service-card h3{overflow-wrap:break-word}}
@media(max-width:760px){.contact-inner>.utility-left{gap:0 16px}.utility-left>a,.utility-location{font-size:11px}.hero[data-composition] .hero-copy{height:490px;max-width:100%;padding:0;margin:0}.hero .hero-copy h1{font-size:clamp(36px,6.6vw,52px)}.hero .hero-description{font-size:16px;max-width:530px}.hero .hero-inner{height:670px;padding-top:30px;padding-bottom:22px}.hero .hero-bottom{flex-direction:column;align-items:center;padding-top:14px;gap:12px}.hero .carousel-controls{align-self:center}.hero .city-caption{font-size:10px}.hero .photo-label{font-size:11px}.hero .hero-actions .button{min-height:52px;padding:14px 20px;font-size:13px}.hero .hero-mesh{height:140px;opacity:.12}.service-card:last-child .service-card-intro{display:flex;align-items:flex-start}.service-card:last-child h3{margin-top:20px}.service-card:last-child .text-link{padding-left:0;margin-top:14px}}
@media(max-width:540px){.contact-inner{min-height:88px;gap:8px;align-items:center}.contact-inner>.utility-left{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;flex:1;gap:0;padding:7px 0}.utility-left>a{min-height:25px;font-size:11px;gap:8px}.utility-location{width:auto;min-height:23px;margin:0!important;padding:0!important;font-size:10px;gap:8px}.utility-left .icon{width:13px;height:13px}.portal-trigger{max-width:78px;font-size:10px!important;line-height:1.5}.portal-trigger .soon{display:block;border:0;font-size:8px;padding:0}.brand{width:195px;max-width:calc(100% - 105px)}.nav-row{min-height:78px}.hero .hero-inner{height:660px;padding-top:28px;padding-bottom:20px}.hero[data-composition] .hero-copy{height:465px;justify-content:center;text-align:center;align-items:center}.hero .hero-copy h1{font-size:clamp(32px,8.6vw,43px);line-height:1.1;letter-spacing:-.04em;width:100%;overflow-wrap:normal}.hero .eyebrow.light{font-size:9px;letter-spacing:.1em;margin-bottom:22px;justify-content:center!important}.hero .hero-description,.hero[data-composition=marketing] .hero-description{font-size:15px;line-height:1.65;max-width:350px;margin:24px auto 0}.hero .hero-actions{display:flex;flex-direction:column;gap:12px;margin-top:26px;width:100%}.hero .hero-actions .button{width:min(100%,280px);min-height:50px;padding:13px 18px;font-size:13px;gap:16px}.hero .hero-overlay,.hero[data-composition=marketing] .hero-overlay{background:linear-gradient(180deg,#091a34d9,#0b1c39c9 65%,#081a3dd9)}.hero .hero-bottom{gap:12px;margin-top:auto;padding-top:12px}.hero .city-caption{font-size:9px;justify-content:center}.hero .photo-label{display:none}.hero .carousel-controls button,.hero .slide-dots button{width:44px;min-width:44px;height:44px;min-height:44px}.hero .carousel-controls{gap:0}.hero .control-divider{margin-inline:2px}#navigation{max-height:calc(100svh - 166px)}.mega-categories [role=tab]{font-size:12px;min-height:62px}.field input,.field textarea{font-size:16px;min-height:44px}.dialog-close{width:44px;height:44px}.dialog-panel>.eyebrow{max-width:220px}.dialog-panel{padding-top:35px}.form-submit{min-height:48px}}
@media(prefers-reduced-motion:reduce){.hero .hero-actions .button{transition:none}.hero .hero-copy,.hero .slides img{transition:none!important}}
.portal-trigger .soon{display:inline-block}.dialog-close{width:44px;height:44px}.service-card .text-link{display:inline-flex;align-items:center;min-height:44px}.mobile-utility button{min-height:44px}
@media(max-width:1000px){.portal-trigger .soon{display:block;border:0;padding:0;font-size:8px}}
