.home-page{--home-ink:#141b2b;--home-muted:#465267;--home-rule:#d4d9e4;--home-surface-soft:#f6f8fc;color:var(--home-ink);background:#fff}.home-page :is(section,header)[id]{scroll-margin-top:5.5rem}body:has(.home-page)>nav{background:#fffffff0}body:has(.home-page) :is(.home-page,.home-contact,footer.contact-footer) .reveal{opacity:1;transition:none;transform:none}.home-page :is(a,summary):focus-visible{outline:3px solid var(--primary);outline-offset:4px;border-radius:.25rem}.home-container{max-width:80rem;margin-inline:auto;padding-inline:1.5rem}@media (width>=640px){.home-container{padding-inline:2rem}}.home-section{padding-block:clamp(4.25rem,7vw,6.5rem)}.home-eyebrow{color:var(--primary);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .875rem;font-size:.75rem;font-weight:700;line-height:1.4}.home-text-link{min-height:2.75rem;color:var(--primary);align-items:center;gap:.375rem;font-size:.9375rem;font-weight:700;text-decoration:none;transition:color .18s;display:inline-flex}.home-text-link:hover{color:#003ea8;text-underline-offset:.22em;text-decoration:underline}.home-text-link--sm{min-height:2rem;font-size:.8125rem}.home-hero{background:linear-gradient(135deg,#fff 48%,#f4f7fd 100%);padding-block:clamp(6.75rem,9vw,8.25rem) clamp(3.25rem,5vw,4.5rem)}.home-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);align-items:center;gap:clamp(2rem,4.5vw,4.5rem);display:grid}.home-hero-copy{max-width:39rem}.home-hero-title{font-family:var(--font-display);letter-spacing:-.045em;color:var(--home-ink);text-wrap:balance;margin:0;font-size:clamp(2.35rem,4.3vw,3.875rem);font-weight:800;line-height:1.06}.home-hero-title>span{color:var(--primary)}.home-hero-lead{max-width:34rem;color:var(--home-muted);margin:1.375rem 0 0;font-size:clamp(1.0625rem,1.3vw,1.1875rem);line-height:1.6}.home-hero-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.375rem;margin-top:1.75rem;display:flex}.home-page .btn-primary{background:var(--primary);color:#fff;min-height:3rem;box-shadow:none;border-radius:.5rem;justify-content:center;align-items:center;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:700;transition:background-color .18s,transform .18s;display:inline-flex;@media (prefers-reduced-motion:reduce){transition:none}}.home-page .btn-primary:hover{box-shadow:none;background:#003ea8;transform:translateY(-1px);@media (prefers-reduced-motion:reduce){transform:none}}.home-hero-next{color:var(--home-muted);margin:.875rem 0 0;font-size:.875rem;line-height:1.5}.home-hero-assurances{border-top:1px solid var(--home-rule);color:var(--home-muted);flex-wrap:wrap;gap:.5rem 1.25rem;margin:1.375rem 0 0;padding:1.125rem 0 0;font-size:.8125rem;font-weight:500;line-height:1.45;list-style:none;display:flex}.home-hero-assurances li{align-items:baseline;gap:.375rem;display:inline-flex}.home-hero-assurances li span{color:var(--primary);font-weight:700}.home-hero-media{background:#eef2f8;border-radius:.875rem;justify-self:end;width:100%;max-width:32.5rem;margin:0;overflow:hidden;box-shadow:0 20px 44px -22px #141b2b3d}.home-hero-media picture,.home-hero-media img{width:100%;height:auto;display:block}.home-hero-media img{aspect-ratio:10/11;object-fit:cover;object-position:52% 94%}.home-client-strip{background:#eef3fc;border-block:1px solid #dde5f4;padding-block:1.875rem}.home-client-strip-header{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1.25rem;margin-bottom:1.125rem;display:flex}.home-client-strip-header p{color:var(--home-muted);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.6875rem;font-weight:700}.home-client-strip-list{flex-wrap:wrap;justify-content:center;align-items:center;gap:.875rem clamp(1.5rem,3.2vw,3.25rem);margin:0;padding:0;list-style:none;display:flex}.home-client-strip-list li{font-family:var(--font-display);letter-spacing:-.01em;color:#3b465b;font-size:.8125rem;font-weight:800}.home-client-strip-list a{min-height:1.75rem;color:inherit;text-underline-offset:.24em;align-items:center;gap:.25rem;text-decoration:underline #004ac659;transition:color .18s,text-decoration-color .18s;display:inline-flex}.home-client-strip-list a:hover{color:var(--primary);text-decoration-color:currentColor}.home-section-heading{grid-template-columns:minmax(0,1fr);gap:.75rem;max-width:44rem;margin-bottom:clamp(2.25rem,4vw,3.25rem);display:grid}.home-section-heading h2,.home-split-header h2{font-family:var(--font-display);letter-spacing:-.038em;color:var(--home-ink);text-wrap:balance;margin:0;font-size:clamp(1.875rem,2.9vw,2.75rem);font-weight:700;line-height:1.12}.home-section-heading>p{max-width:56ch;color:var(--home-muted);margin:0;font-size:clamp(1rem,1.15vw,1.09375rem);line-height:1.65}.home-services{background:#fff}.home-service-list{grid-template-columns:minmax(0,1fr);gap:1rem;min-width:0;display:grid}.home-service-card{background:#f8faff;border:1px solid #d5deed;border-radius:.875rem;grid-template-rows:auto 1fr auto;row-gap:.875rem;min-width:0;padding:clamp(1.25rem,2vw,1.625rem);transition:border-color .16s,background-color .16s;display:grid;position:relative;@media (prefers-reduced-motion:reduce){transition:none}}.home-service-heading{align-items:center;gap:.75rem;min-width:0;display:flex}.home-service-icon{block-size:2.375rem;inline-size:2.375rem;color:var(--primary);background:#eaf1fd;border-radius:.625rem;flex:none;place-items:center;display:grid}.home-service-icon svg{block-size:1.25rem;inline-size:1.25rem;display:block}.home-service-card h3{color:var(--home-ink);font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:clamp(1.1875rem,1.4vw,1.375rem);font-weight:700;line-height:1.28}.home-service-card p{max-width:48ch;color:var(--home-muted);margin:0;font-size:.96875rem;line-height:1.6}.home-service-card a{min-block-size:2.75rem;color:var(--primary);border-top:1px solid #dde5f4;justify-content:space-between;align-items:center;gap:.75rem;margin-block-start:.125rem;padding-block-start:.625rem;font-size:.9375rem;font-weight:700;line-height:1.4;text-decoration:none;display:flex}.home-service-card a:after{content:"";border-radius:inherit;position:absolute;inset:0}.home-service-arrow{flex:none;font-size:1.125rem;line-height:1;transition:transform .16s;@media (prefers-reduced-motion:reduce){transition:none}}.home-service-card a:focus-visible{outline:none}.home-service-card:has(a:focus-visible){outline:3px solid var(--primary);outline-offset:3px}@media (hover:hover){.home-service-card:has(a:hover){border-color:var(--primary);background:#eef4ff}.home-service-card:has(a:hover) a>span:first-child{text-underline-offset:.22em;text-decoration:underline}.home-service-card:has(a:hover) .home-service-arrow{transform:translate(2px);@media (prefers-reduced-motion:reduce){transform:none}}}@media (width>=640px){.home-service-list{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto 1fr auto;gap:1.125rem}.home-service-card{grid-row:span 3;grid-template-rows:auto 1fr auto;grid-template-rows:subgrid;row-gap:.875rem}}@media (width>=1024px){.home-service-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}}.home-work{background:var(--home-surface-soft);border-top:1px solid var(--home-rule)}.home-featured-project,.home-secondary-project{position:relative}.home-featured-project{border-bottom:1px solid var(--home-rule);grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,3.5vw,3rem);padding-bottom:clamp(2.25rem,4vw,3rem);display:grid}.home-project-image{border:1px solid var(--home-rule);aspect-ratio:16/10;background:#0d1626;border-radius:.625rem;overflow:hidden;box-shadow:0 16px 32px -20px #141b2b47}.home-project-image img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .4s;display:block;@media (prefers-reduced-motion:reduce){transition:none}}.home-featured-project:hover .home-project-image img,.home-secondary-project:hover .home-project-image img{transform:scale(1.018);@media (prefers-reduced-motion:reduce){transform:none}}.home-project-story h3{font-family:var(--font-display);letter-spacing:-.03em;color:var(--home-ink);margin:0;font-size:clamp(1.5rem,2.2vw,2rem);font-weight:700}.home-project-goal{color:var(--home-ink);margin:.75rem 0 0;font-size:1.03125rem;font-weight:700;line-height:1.45}.home-project-story p:not(.home-eyebrow):not(.home-project-goal){color:var(--home-muted);margin:.75rem 0 0;font-size:.96875rem;line-height:1.65}.home-card-stretch-link{min-height:2.5rem;color:var(--primary);white-space:nowrap;align-items:center;gap:.35rem;font-size:.875rem;font-weight:700;text-decoration:none;display:inline-flex}.home-project-story .home-card-stretch-link{margin-top:1.125rem}.home-card-stretch-link:after{content:"";border-radius:.625rem;position:absolute;inset:0}.home-card-stretch-link:hover{color:#003ea8;text-underline-offset:.22em;text-decoration:underline}.home-secondary-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;padding-top:clamp(2rem,3.5vw,2.75rem);display:grid}.home-project-caption{justify-content:space-between;align-items:flex-start;gap:1rem;padding-top:1rem;display:flex}.home-project-caption .home-eyebrow{margin-bottom:.35rem;font-size:.6875rem}.home-project-caption h3{font-family:var(--font-display);letter-spacing:-.025em;color:var(--home-ink);margin:0;font-size:1.25rem;font-weight:700}.home-project-caption p:not(.home-eyebrow){color:var(--home-muted);margin:.375rem 0 0;font-size:.9375rem;line-height:1.55}.home-method{isolation:isolate;color:#fff;background:radial-gradient(at 100% 0,#244779 0,#0000 48%),radial-gradient(at 0 100%,#143647 0,#0000 55%),#08182b;position:relative;overflow:hidden}.home-method .home-eyebrow{color:#b4caff}.home-method .home-section-heading h2{color:#fff}.home-method .home-section-heading>p{color:#cad7eb}.home-process{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem 2rem;margin:0;padding:0;list-style:none;display:grid}.home-process li{border-top:1px solid #dce6ff42;padding-top:1.375rem}.home-step-num{color:#b4caff;letter-spacing:.08em;margin-bottom:.75rem;font-size:.8125rem;font-weight:700;display:block}.home-process h3{font-family:var(--font-display);letter-spacing:-.02em;color:#fff;margin:0 0 .5rem;font-size:1.1875rem;font-weight:700}.home-process p{color:#cad7eb;margin:0;font-size:.9375rem;line-height:1.6}.home-method-cta{border-top:1px solid #dce6ff29;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;margin-top:clamp(2.25rem,4vw,3rem);padding-top:1.5rem;display:flex}.home-method-cta p{color:#dbe6fa;margin:0;font-size:.96875rem;font-weight:500}.home-method-cta a{color:#fff;background:#ffffff0f;border:1px solid #b4caff61;border-radius:.5rem;align-items:center;gap:.4rem;min-height:2.75rem;padding:.625rem 1.125rem;font-size:.875rem;font-weight:700;text-decoration:none;transition:background-color .18s,border-color .18s;display:inline-flex}.home-method-cta a:hover{background:#ffffff24;border-color:#b4caff}.home-split-section{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(2rem,5vw,4.5rem);display:grid}.home-about{border-bottom:1px solid var(--home-rule);background:#fff}.home-about-meta{border-top:1px solid var(--home-rule);gap:.875rem;margin:1.75rem 0 0;padding-top:1.25rem;display:grid}.home-about-meta dt{letter-spacing:.12em;text-transform:uppercase;color:var(--home-muted);font-size:.6875rem;font-weight:700}.home-about-meta dd{color:var(--home-ink);margin:.2rem 0 0;font-size:.9375rem;font-weight:600}.home-about-lead{color:var(--home-ink);margin:0 0 1rem;font-size:1.125rem;font-weight:600;line-height:1.6}.home-about-body>p:not(.home-about-lead){color:var(--home-muted);margin:0;font-size:1rem;line-height:1.7}.home-about-pillars{border-top:1px solid var(--home-rule);color:var(--home-ink);gap:.625rem;margin:1.5rem 0 0;padding:1.25rem 0 0;font-size:.9375rem;line-height:1.5;list-style:none;display:grid}.home-about-pillars li{align-items:baseline;gap:.5rem;display:flex}.home-about-pillars li span{color:var(--primary);font-weight:700}.home-faq{background:var(--home-surface-soft)}.home-split-note{max-width:24rem;color:var(--home-muted);margin:1rem 0 0;font-size:.96875rem;line-height:1.6}.home-faq-list{border-top:1px solid var(--home-rule)}.home-faq-list details{border-bottom:1px solid var(--home-rule)}.home-faq-list summary{cursor:pointer;color:var(--home-ink);justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 0;font-size:1.03125rem;font-weight:700;line-height:1.45;list-style:none;transition:color .16s;display:flex}.home-faq-list summary::-webkit-details-marker{display:none}.home-faq-list summary:hover{color:var(--primary)}.home-faq-icon{width:1.75rem;height:1.75rem;color:var(--primary);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;font-weight:800;transition:transform .2s,background-color .2s;display:inline-flex;@media (prefers-reduced-motion:reduce){transition:none}}.home-faq-list summary:hover .home-faq-icon{background:#004ac614}.home-faq-list details[open] .home-faq-icon{transform:rotate(45deg)}.home-faq-answer{padding:0 2.5rem 1.375rem 0}.home-faq-answer p{color:var(--home-muted);margin:0;font-size:.96875rem;line-height:1.65}@media (width<=1023px){.home-hero-grid,.home-featured-project,.home-split-section{grid-template-columns:1fr}.home-hero-media{justify-self:stretch;max-width:none}.home-hero-media img{aspect-ratio:16/10;object-position:52% 69%}.home-process{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=639px){.home-hero{padding-top:6.25rem}.home-hero-title{font-size:clamp(2.1rem,9vw,2.75rem)}.home-secondary-projects,.home-process{grid-template-columns:1fr}.home-project-caption{flex-direction:column;gap:.5rem}.home-faq-answer{padding-right:0}}
