.hp-home{--hp-wrap:80rem;-moz-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}.hp-home .hp-wrap{max-width:var(--hp-wrap);margin:0 auto;padding:0 clamp(1.25rem,4vw,3.5rem)}.hp-home .hp-hero{align-items:flex-end;min-height:92svh;display:flex;position:relative;overflow:hidden}.hp-home .hp-hero-photo{-webkit-background-size:cover;background-color:#1a1a18;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.hp-home .hp-hero-photo:after{content:"";background:linear-gradient(#0d1b2a40 0%,#0d1b2a73 62%,#0d1b2ae0 100%);position:absolute;inset:0}.hp-home .hp-hero-content{z-index:1;width:100%;padding:clamp(7rem,18vh,10rem) 0 clamp(4rem,10vh,6rem);position:relative}.hp-home .hp-hero h1{font-family:var(--md-serif);letter-spacing:-.028em;color:#fff;max-width:16ch;margin:0 0 1.25rem;font-size:clamp(2.5rem,6.5vw,4.75rem);font-weight:400;line-height:1.02}.hp-home .hp-hero-sub{font-family:var(--md-serif);color:#ffffffc7;max-width:34ch;margin:0 0 2rem;font-size:clamp(1.05rem,2.2vw,1.45rem);font-style:italic;line-height:1.45}.hp-home .hp-hero-ctas{flex-wrap:wrap;gap:.85rem;display:flex}.hp-home .hp-btn-primary,.hp-home .hp-btn-quiet{letter-spacing:-.005em;cursor:pointer;border-radius:3px;align-items:center;padding:.95rem 1.5rem;font-size:.95rem;font-weight:600;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.hp-home .hp-btn-primary{background:var(--sw-navy);color:var(--sw-on-navy);border:none}.hp-home .hp-btn-primary:hover{background:var(--sw-navy-hover)}.hp-home a.hp-btn-primary,.hp-home a.hp-btn-primary:hover{color:var(--sw-on-navy)}.hp-home .hp-btn-quiet{color:#ffffffe0;background:0 0;border:1px solid #ffffff47}.hp-home .hp-btn-quiet:hover{color:#fff;border-color:#ffffff8c}.hp-home .hp-section{border-bottom:1px solid var(--sw-rule);padding:clamp(4.5rem,10vw,7rem) 0}.hp-home .hp-section-hd{max-width:42rem;margin-bottom:clamp(2.5rem,5vw,3.5rem)}.hp-home .hp-section-kicker{font-family:var(--md-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--sw-brass-2);margin-bottom:1rem;font-size:.68rem;display:block}.hp-home .hp-section-hd h2{font-family:var(--md-serif);letter-spacing:-.022em;margin:0;font-size:clamp(1.85rem,4vw,3rem);font-weight:400;line-height:1.06}.hp-home .hp-section-hd p{font-family:var(--md-serif);color:var(--sw-muted);margin:1rem 0 0;font-size:1.15rem;font-style:italic;line-height:1.5}.hp-home .what-we-do{background:var(--sw-ink);color:#fff;overflow-anchor:none;border-bottom:none}.hp-home .what-we-do .hp-section-hd p{color:#ffffff9e}.hp-home .wwd-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:clamp(1.5rem,4vw,3rem);display:grid}@media (max-width:900px){.hp-home .wwd-grid{grid-template-columns:1fr}}.hp-home .wwd-tabs{flex-direction:column;gap:0;min-height:calc(4*clamp(2rem,4vw,3rem) + 19.55rem);display:flex}.hp-home .wwd-tab{text-align:left;cursor:pointer;color:inherit;font:inherit;touch-action:manipulation;background:0 0;border:none;border-top:1px solid #ffffff1a;padding:1.35rem 0 1.35rem .25rem;position:relative}.hp-home .wwd-tab:last-child{border-bottom:1px solid #ffffff1a}.hp-home .wwd-tab-head{align-items:baseline;gap:1rem;display:flex}.hp-home .wwd-tab-num{font-family:var(--md-serif);color:#ffffff38;min-width:2.5ch;font-size:clamp(2rem,4vw,3rem);line-height:1;transition:color .35s}.hp-home .wwd-tab.is-active .wwd-tab-num{color:#ffffffeb}.hp-home .wwd-tab-title{font-family:var(--md-mono);letter-spacing:.14em;text-transform:uppercase;color:#ffffff8c;font-size:.72rem;transition:color .35s}.hp-home .wwd-tab.is-active .wwd-tab-title{color:#fff}.hp-home .wwd-tab-body{opacity:0;max-height:0;margin-top:0;transition:max-height .45s cubic-bezier(.22,1,.36,1),opacity .35s,margin .35s;overflow:hidden}.hp-home .wwd-tab.is-active .wwd-tab-body{opacity:1;max-height:8rem;margin-top:.75rem}.hp-home .wwd-tab-body p{color:#ffffffad;max-width:34ch;margin:0 0 0 3.5rem;font-size:.95rem;line-height:1.55}.hp-home .wwd-progress{transform-origin:0;background:#ffffff1f;height:1px;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.hp-home .wwd-tab.is-active .wwd-progress{animation:5s linear forwards hpWwdProgress}@keyframes hpWwdProgress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.hp-home .wwd-tab.is-active .wwd-progress{animation:none;transform:scaleX(1)}.hp-home .wwd-tab-body{transition:none}}.hp-home .wwd-visual{background:#00000059;border:1px solid #ffffff14;border-radius:8px;grid-template-columns:minmax(0,1fr);min-height:36rem;display:grid;position:relative;overflow:hidden;transform:translateZ(0)}.hp-home .wwd-visual-layer{visibility:hidden;pointer-events:none;z-index:0;flex-direction:column;grid-area:1/1;min-width:0;display:flex;position:relative}.hp-home .wwd-visual-layer.is-active{visibility:visible;pointer-events:auto;z-index:1}.hp-home .wwd-visual-layer:not(.is-active) .hero-pane{animation:none}.hp-home .wwd-visual-num{font-family:var(--md-serif);color:#ffffff0f;pointer-events:none;z-index:2;font-size:clamp(4rem,12vw,7rem);line-height:1;position:absolute;top:.5rem;right:.75rem}.hp-home .wwd-visual .md-hero-frame{box-shadow:none;width:100%;min-height:100%;color:var(--sw-ink);background:var(--sw-bg);border:none;border-radius:0;flex-direction:column;flex:auto;margin:0;display:flex}.hp-home .solutions-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:clamp(1.5rem,4vw,3rem);display:grid}@media (max-width:820px){.hp-home .solutions-layout{grid-template-columns:1fr}}.hp-home .sol-nav{align-self:start;position:sticky;top:6rem}.hp-home .sol-nav-tabs{border-top:1px solid var(--sw-rule);flex-direction:column;gap:0;display:flex}.hp-home .sol-nav-tabs button{appearance:none;text-align:left;border:none;border-bottom:1px solid var(--sw-rule);width:100%;font:inherit;color:var(--sw-muted);cursor:pointer;touch-action:manipulation;background:0 0;padding:.85rem 0;font-size:.95rem;transition:color .2s}.hp-home .sol-nav-tabs button.is-active,.hp-home .sol-nav-tabs button:hover{color:var(--sw-ink);font-weight:600}.hp-home .sol-stage{min-width:0}.hp-home .sol-stage h3{font-family:var(--md-serif);margin:0 0 .5rem;font-size:1.65rem;font-weight:400}.hp-home .sol-stage p{color:var(--sw-muted);max-width:52ch;margin:0 0 1.25rem;font-size:.95rem}.hp-home .sol-frame{border:1px solid var(--sw-rule);background:var(--sw-surface);border-radius:6px;overflow:hidden;transform:translateZ(0);box-shadow:0 8px 32px #1e3a5f14}.hp-home .sol-frame .md-hero-frame{box-shadow:none;border:none;border-radius:0}.hp-home .sol-stage .md-sample-wrap{margin-top:0}.hp-home .sol-stage .md-report-scroll{max-height:min(36rem,70svh)}.hp-home .audience-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1rem;display:grid}@media (max-width:900px){.hp-home .audience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.hp-home .audience-grid{grid-template-columns:minmax(0,1fr)}}.hp-home .audience-cell{border-radius:6px;min-width:0;min-height:0;overflow:hidden}.hp-home .audience-card{appearance:none;aspect-ratio:4/5;isolation:isolate;contain:paint;cursor:pointer;text-align:left;width:100%;min-height:0;font:inherit;color:#fff;-webkit-tap-highlight-color:transparent;background-color:var(--sw-ink);-webkit-background-size:cover;touch-action:manipulation;z-index:0;background-position:50%;background-repeat:no-repeat;background-size:cover;border:none;border-radius:6px;padding:0;display:block;position:relative;overflow:hidden}.hp-home .audience-card:after{content:"";background:linear-gradient(#0000 0%,#0d1b2a26 45%,#0d1b2ae0 100%);transition:background .25s;position:absolute;inset:0}.hp-home .audience-copy{z-index:1;flex-direction:column;gap:.45rem;max-height:calc(100% - 2rem);display:flex;position:absolute;bottom:1rem;left:1rem;right:1rem;overflow:hidden}.hp-home .audience-label{font-family:var(--md-serif);color:#fff;font-size:1.25rem}.hp-home .audience-blurb{font-family:var(--md-sans);color:#ffffffdb;opacity:0;max-width:28ch;max-height:0;font-size:.88rem;line-height:1.45;transition:opacity .25s,transform .25s,max-height .25s;overflow:hidden;transform:translateY(6px)}.hp-home .audience-card .coming{z-index:2;font-family:var(--md-mono);letter-spacing:.12em;text-transform:uppercase;color:#ffffffd9;border:1px solid #ffffff59;border-radius:999px;padding:4px 8px;font-size:9px;position:absolute;top:1rem;right:1rem}.hp-home .contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}@media (max-width:820px){.hp-home .contact-grid{grid-template-columns:1fr}}.hp-home .contact-grid h2{font-family:var(--md-serif);margin:.75rem 0 0;font-size:clamp(2rem,4vw,2.75rem);font-weight:400;line-height:1.06}.hp-home .contact-grid h2 em{color:var(--sw-brass-2);font-style:italic}.hp-home .contact-lede{font-family:var(--md-serif);color:var(--sw-muted);max-width:32ch;margin-top:1rem;font-style:italic}.hp-home .hp-form{flex-direction:column;gap:1rem;display:flex}.hp-home .hp-form label{font-family:var(--md-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--sw-muted);margin-bottom:6px;font-size:10px;display:block}.hp-home .hp-form input,.hp-home .hp-form select{border:1px solid var(--sw-rule);background:var(--sw-surface);width:100%;font:inherit;color:var(--sw-ink);border-radius:3px;padding:12px 14px}.hp-home .hp-form input:focus,.hp-home .hp-form select:focus{border-color:var(--sw-navy);outline:none;box-shadow:0 0 0 3px #1e3a5f14}.hp-home .hp-form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (max-width:600px){.hp-home .hp-form-row{grid-template-columns:1fr}}.hp-home .hp-form .hp-btn-primary{align-self:flex-start}.hp-home .hp-form-legal{color:var(--sw-muted);margin:0;font-size:.8rem}.hp-home .hp-form-legal a{color:var(--sw-navy)}.hp-home .follow-us{border-top:1px solid var(--sw-rule);margin-top:1.5rem;padding-top:1.5rem}.hp-home .follow-us p{font-family:var(--md-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--sw-muted);margin:0 0 .65rem;font-size:10px}.hp-home .follow-links{gap:.75rem;display:flex}.hp-home .follow-links a{color:var(--sw-navy);align-items:center;gap:.45rem;font-size:.9rem;font-weight:500;display:inline-flex}.hp-home .follow-links a svg{fill:currentColor;flex-shrink:0;width:18px;height:18px}.hp-home .follow-links a:hover{text-decoration:underline}.hp-home .about-copy{max-width:40rem}.hp-home .about-copy h2{font-family:var(--md-serif);margin:0 0 1rem;font-size:clamp(1.85rem,4vw,2.5rem);font-weight:400}.hp-home .about-copy p{font-family:var(--md-serif);color:var(--sw-muted);margin:0 0 1.25rem;font-size:1.2rem;line-height:1.55}.hp-home .about-copy .hp-btn-primary{margin-top:.5rem}.hp-home .md-hero-frame.is-compact{color:var(--sw-ink);background:var(--sw-bg);flex-direction:column;display:flex}.hp-home .md-hero-frame.is-compact .hero-pane-wrap{flex:auto;min-height:0}.hp-home .md-hero-frame.is-compact .dash{max-height:none;padding:1.15rem 1.25rem 1.35rem;overflow:visible}.hp-home .md-hero-frame.is-compact .page-title{font-size:clamp(1.25rem,2.4vw,1.55rem)}.hp-home .md-hero-frame.is-compact .subtitle{margin-bottom:.85rem}@media (hover:hover) and (pointer:fine){.hp-home .audience-card:hover:after,.hp-home .audience-card:focus-visible:after,.hp-home .audience-card.is-open:after{background:linear-gradient(#0d1b2a33 0%,#0d1b2a8c 38%,#0d1b2af0 100%)}.hp-home .audience-card:hover .audience-blurb,.hp-home .audience-card:focus-visible .audience-blurb,.hp-home .audience-card.is-open .audience-blurb{opacity:1;max-height:12rem;transform:none}}@media (hover:none),(pointer:coarse){.hp-home .audience-card.is-open:after,.hp-home .audience-card:focus-visible:after{background:linear-gradient(#0d1b2a33 0%,#0d1b2a8c 38%,#0d1b2af0 100%)}.hp-home .audience-card.is-open .audience-blurb,.hp-home .audience-card:focus-visible .audience-blurb{opacity:1;max-height:12rem;transform:none}}@media (max-width:820px){.hp-home .sol-nav{position:static}.hp-home .sol-nav-tabs{border-top:none;flex-flow:wrap;gap:.5rem}.hp-home .sol-nav-tabs button{border:1px solid var(--sw-rule);border-radius:999px;width:auto;padding:.5rem .85rem;font-size:.85rem}.hp-home .sol-nav-tabs button.is-active{border-color:var(--sw-ink);background:var(--sw-navy-tint)}}@media (prefers-reduced-motion:reduce){.hp-home .audience-blurb,.hp-home .audience-card:after{transition:none}}@supports not (aspect-ratio:4 / 5){.hp-home .audience-card{min-height:20rem}}
