/* ProspectAware / Astra refinement
   Final presentation layer. Content, logos, routes and application behaviour stay native. */
:root{--astra-ink:#0c192b;--astra-red:#cf2730;--astra-muted:#536174;--astra-line:#dce2e9;--astra-paper:#f6f7f9;--red:var(--astra-red);--red-dark:#af1e27}
html{scroll-padding-top:120px}body{background:#fff;color:var(--astra-ink);-webkit-font-smoothing:antialiased}h1,h2,h3{text-wrap:balance}p{ text-wrap:pretty }button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
/* A true floating pill: geometry is constant before and after scrolling. */
header.site-header,header.site-header:hover,header.site-header:focus-within,header.site-header.header-scrolled,header.site-header.header-scrolled:hover{top:14px;width:calc(100% - 48px);max-width:1440px;margin:14px auto 0;height:76px;padding:0 26px;border:1px solid #e0e4ea;border-radius:999px!important;background:#fff;box-shadow:0 6px 24px #0c192b08;transform:none;backdrop-filter:none;overflow:visible}
header.site-header.header-scrolled{box-shadow:0 12px 34px #0c192b12}header.site-header .brand img{width:176px;max-width:100%;height:auto}header.site-header nav{gap:clamp(16px,1.65vw,26px)}header.site-header nav a:not(.nav-cta){display:inline-flex;align-items:center;min-height:42px;padding:9px 0;border-radius:0;background:none;font-size:.82rem;color:#364255;position:relative}header.site-header nav a:not(.nav-cta)::after{content:"";position:absolute;bottom:4px;left:0;width:0;height:2px;background:var(--astra-red);transition:width .2s ease}header.site-header nav a:not(.nav-cta):hover{background:none;color:var(--astra-ink)}header.site-header nav a:not(.nav-cta):hover::after,header.site-header nav a[aria-current=page]::after{width:100%}header.site-header .nav-cta{padding:13px 20px;font-size:.81rem;background:var(--astra-red)}
.button,.nav-cta{transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease}.button:focus-visible,.nav-cta:focus-visible{outline:3px solid #cf2730;outline-offset:4px}.button:hover,.nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0c192b14}.button:active,.nav-cta:active{transform:translateY(0)}.text-link{transition:color .2s,border-color .2s}.text-link:hover{color:var(--astra-red)}
/* Editorial light hero; the actual campaign UI is the focal graphic. */
.homepage .hero{background:#fff;position:relative;isolation:isolate;min-height:720px;padding-top:76px;padding-bottom:66px;gap:clamp(32px,4.1vw,66px);border-bottom:1px solid var(--astra-line)}
.homepage .hero::before{inset:36px 0 36px 52%;opacity:1;background:linear-gradient(90deg,#e7ebf0 1px,transparent 1px),linear-gradient(#e7ebf0 1px,transparent 1px);background-size:92px 92px;mask-image:radial-gradient(ellipse at center,#0008,transparent 72%);z-index:-1}
.homepage .hero::after{content:"";position:absolute;top:10%;bottom:10%;right:0;width:45%;background:linear-gradient(90deg,transparent,#f4f6f8);z-index:-2;pointer-events:none}
.homepage .hero h1{font-size:clamp(3.05rem,4.5vw,5.4rem);font-weight:700;line-height:1.075;letter-spacing:-.057em;max-width:720px}.homepage .hero h1 em{color:var(--astra-red)}.homepage .hero .eyebrow{color:var(--astra-muted);font-size:.64rem;letter-spacing:.135em;max-width:440px;line-height:1.7}.homepage .hero .eyebrow span{width:24px;background:var(--astra-red)}.homepage .hero-kicker{font-size:1.075rem;line-height:1.6;color:var(--astra-ink);font-weight:600;margin-top:24px}.homepage .hero-intro{font-size:1rem;line-height:1.75;color:var(--astra-muted);max-width:510px}.homepage .hero-actions{margin:28px 0 32px;gap:20px}.homepage .hero-actions .button{background:var(--astra-red);padding:16px 24px;min-height:52px;box-shadow:none}.homepage .hero-actions .button:hover{background:#b72029;box-shadow:0 8px 24px #cf27301c}.homepage .hero-actions .text-link{color:#364255;border-bottom-color:#9ba5b3;font-size:.8rem}.homepage .hero-proof{border-top:1px solid #dde3ea;padding-top:24px;gap:18px}.homepage .hero-proof strong{font-size:1.8rem;letter-spacing:-.05em;font-weight:700}.homepage .hero-proof span{font-size:.69rem;line-height:1.55;margin-top:5px;color:#647185}.homepage .hero-visual{min-height:460px}.homepage .hero-portal{border-radius:16px;box-shadow:0 30px 66px #20334b17,0 2px 6px #20334b09}.homepage .hero-portal:hover{box-shadow:0 34px 70px #20334b20}.homepage .floating-card{border-radius:12px;padding:14px 16px;box-shadow:0 12px 30px #20334b10;border:1px solid #dce2e9}.homepage .conversation-card{bottom:-8px}.homepage .feedback-card{top:0}.homepage .logo-strip{padding-block:30px;background:#fff}.homepage .logo-strip>p{letter-spacing:.16em;color:#687485;font-size:.65rem}.homepage .logo-track img{opacity:.85}
.roi-hero p:last-child,.roi-hero-note{color:var(--astra-muted)}.roi-hero-note{border-left-color:#ccd5e0}.roi-hero-note strong{color:var(--astra-ink)}
/* Evidence cards, clear numerical hierarchy and disciplined section rhythm. */
.homepage .section-pad{padding-block:92px}.homepage .section-heading{margin-bottom:42px;align-items:end}.homepage .section-heading h2,.homepage .visibility h2,.homepage .contact h2{font-size:clamp(2.2rem,3.3vw,3.85rem);font-weight:600;line-height:1.14;letter-spacing:-.048em}.homepage .section-heading>p{font-size:.97rem;line-height:1.75;max-width:440px}.eyebrow{font-weight:700}.homepage .featured-cases{background:var(--astra-paper)}.homepage .featured-case-card{padding:30px;border-radius:16px;border-color:#dce2e9;box-shadow:none;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.homepage .featured-case-card::before{content:"";position:absolute;left:30px;top:0;height:3px;width:40px;background:var(--astra-red);transition:width .25s ease}.homepage .featured-case-card:hover,.homepage .featured-case-card:focus-within{transform:translateY(-4px);border-color:#b9c3cf;box-shadow:0 18px 42px #1527400d}.homepage .featured-case-card:hover::before,.homepage .featured-case-card:focus-within::before{width:78px}.homepage .featured-case-logo{height:68px;margin-bottom:26px}.homepage .featured-case-card h3{font-size:1.45rem;line-height:1.28;min-height:0}.homepage .featured-case-card .case-sector{font-size:.63rem;letter-spacing:.09em;line-height:1.65}.homepage .featured-case-card>p:not(.case-sector){font-size:.9rem;line-height:1.75;margin-bottom:26px}.homepage .featured-result{padding-top:24px;margin-top:auto}.homepage .case-metric{font-size:clamp(3rem,4vw,4.1rem);color:var(--astra-red)}.homepage .case-metric-caption{font-size:.78rem}.homepage .case-button{background:var(--astra-ink);font-size:.81rem;min-height:44px}.homepage .featured-cases-all{margin-top:34px}
.homepage .process-experience{padding:12px;border-radius:18px;box-shadow:0 12px 32px #10253f05}.homepage .process-step{border-radius:10px;font-size:.83rem;line-height:1.5}.homepage .process-step.active{background:var(--astra-ink)}.homepage .process-stage{background:#f5f7f9;border:1px solid #e5e9ee;border-radius:12px;gap:44px;padding:38px}.homepage .process-progress{background:#e5e9ef}.homepage .process-progress i{background:var(--astra-red)}.homepage .app-icon{background:#fff;box-shadow:0 12px 25px #162c4712}.homepage .difference{background:#0c192b}.homepage .comparison-card{border-radius:14px;background:#101e31;border-color:#2c3a4e;padding:30px}.homepage .comparison-card.featured{border-top:4px solid var(--astra-red);padding-top:27px}.homepage .comparison-card h3{font-size:1.4rem;line-height:1.35}.homepage .comparison-card li{line-height:1.65;font-size:.9rem}.homepage .mission-inline{margin-top:32px;padding-top:28px}.homepage .service-grid{gap:22px}.homepage .service-card{padding:34px;border-radius:16px;background:#f7f8fa;border-color:#dfe4eb}.homepage .service-card.event-service{background:#fff}.homepage .service-card.featured{background:#0c192b}.homepage .service-card h3{font-size:clamp(1.9rem,2.5vw,2.8rem);line-height:1.2}.homepage .service-card .service-number{border:1px solid #cbd3df;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;font-size:.7rem;opacity:1;color:#536174}.homepage .service-card.featured .service-number{border-color:#4d5a6d;color:#bbc7d7}.homepage .service-card>a{font-size:.86rem}.homepage .service-card>a:hover{border-bottom-width:2px}.homepage .visibility{background:#f2f5f8}.homepage .board-shell{border-radius:16px;box-shadow:0 24px 52px #15345212}.homepage .feature-list li>span{font-variant-numeric:tabular-nums}.homepage .region-panel{background:#0c192b;border-radius:16px}.homepage .region-tab{border-radius:10px;min-height:56px;font-size:.95rem}.homepage .region-tab.active{background:var(--astra-ink);border-color:var(--astra-ink)}.homepage .region-tab.active span{color:#c4cfdd}.homepage .results{background:#0c192b}.homepage .testimonial-feature{background:#14243a;border-color:#304159}.homepage .testimonial-feature blockquote{line-height:1.65!important}.homepage .testimonial-tab.active{box-shadow:inset 0 -3px 0 #ed5359;background:#1c2e47}.homepage .numbers-row strong{font-variant-numeric:tabular-nums}.homepage .contact{background:#f6f7f9}.homepage .contact-form{border-radius:16px;box-shadow:0 12px 40px #0b1e3308}.homepage .contact-form input,.homepage .contact-form textarea{background:#fff}.site-footer{background:#081321}.site-footer .footer-column a{transition:color .2s}.site-footer .footer-column a:hover{color:#ff7c80;background:none}
/* Supporting pages inherit the same light, confident entry point. */
.seo-hero,.about-hero,.career-hero,.case-hero,.privacy-hero,.roi-hero{background:#f6f7f9;color:var(--astra-ink);border-bottom:1px solid var(--astra-line);padding-top:84px;padding-bottom:78px;min-height:0}.seo-hero h1,.about-hero h1,.career-hero h1,.case-hero h1,.privacy-hero h1,.roi-hero h1{font-size:clamp(2.8rem,5.2vw,5.7rem);line-height:1.08;letter-spacing:-.052em;font-weight:700;color:var(--astra-ink)}.seo-hero h1 em,.about-hero h1 em,.career-hero h1 em,.case-hero h1 em,.privacy-hero h1 em,.roi-hero h1 em{color:var(--astra-red)}.seo-hero .lead,.about-hero-copy>p:last-child,.career-hero>p:not(.eyebrow),.case-hero>p:last-child,.privacy-hero>p:last-child,.roi-hero>p:not(.eyebrow){color:var(--astra-muted);line-height:1.75}.seo-hero .eyebrow,.about-hero .eyebrow,.career-hero .eyebrow,.case-hero .eyebrow,.privacy-hero .eyebrow,.roi-hero .eyebrow{color:#526176}.breadcrumb,.breadcrumb a{color:#536174}.breadcrumb a:hover{color:var(--astra-red)}.about-fact{border-left-color:#cdd5df}.about-fact span{color:#536174}.seo-aside{border-top:3px solid var(--astra-red);border-radius:12px;background:#f7f8fa;top:114px}.seo-copy h2{font-weight:600;letter-spacing:-.04em}.seo-copy p,.seo-copy li{line-height:1.85}.content-card{border-radius:14px;box-shadow:none}.content-card:hover,.content-card:focus-within{border-color:#bbc6d2;box-shadow:0 16px 34px #10243d0a;transform:translateY(-3px)}.faq-stack details{transition:background-color .2s}.faq-stack summary{min-height:56px}.faq-stack summary:hover{color:var(--astra-red)}.comparison-table{border-radius:12px;scrollbar-width:thin}.seo-cta{background:#0c192b}.seo-cta .button{background:var(--astra-red)}
@media(min-width:1600px){.homepage .hero{padding-inline:max(80px,calc((100vw - 1420px)/2));min-height:750px}.homepage .section-pad{padding-inline:max(100px,calc((100vw - 1380px)/2))}}
@media(max-width:1100px){header.site-header nav{gap:13px}header.site-header .brand img{width:154px}header.site-header nav a:not(.nav-cta){font-size:.74rem}header.site-header .nav-cta{font-size:.75rem;padding-inline:16px}.homepage .hero{gap:32px;min-height:0;padding-block:64px}.homepage .hero h1{font-size:clamp(3rem,4.7vw,3.9rem)}.homepage .hero-actions{flex-wrap:wrap}.homepage .section-pad{padding-block:76px}.homepage .featured-case-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.homepage .featured-case-card:last-child{grid-column:auto}.homepage .featured-case-card{padding:24px}.homepage .featured-case-card h3{font-size:1.25rem}.homepage .featured-case-logo img{max-width:100%}.homepage .case-metric{font-size:3rem}}
@media(max-width:900px){header.site-header,header.site-header:hover,header.site-header:focus-within,header.site-header.header-scrolled,header.site-header.header-scrolled:hover{top:10px;margin-top:10px;width:calc(100% - 28px);height:68px;padding-inline:22px}header.site-header .brand img{width:168px}header.site-header nav{top:78px;left:0;right:0;padding:18px;border:1px solid #dfe4eb;border-radius:20px;background:#fff;max-height:calc(100dvh - 110px);overflow-y:auto;box-shadow:0 20px 40px #0c192b12}header.site-header nav.open{display:flex;gap:3px}header.site-header nav a:not(.nav-cta){display:flex;font-size:.95rem;min-height:46px;padding:12px!important;border-radius:8px!important}header.site-header nav a:not(.nav-cta)::after{display:none}header.site-header nav a:not(.nav-cta):hover{background:#f5f7f9}header.site-header .nav-cta{font-size:.9rem;margin-top:8px}.menu-toggle{border-radius:999px!important;font-size:.85rem;color:var(--astra-ink)}.homepage .hero{display:grid;grid-template-columns:1fr;padding:55px 28px 60px;gap:40px}.homepage .hero-copy{max-width:700px}.homepage .hero h1{font-size:clamp(3.2rem,7.3vw,4.5rem)}.homepage .hero::before{inset:48% 0 0}.homepage .hero::after{top:45%;bottom:0;width:100%}.homepage .hero-visual{min-height:440px;max-width:680px}.homepage .hero-proof{max-width:650px}.homepage .featured-case-grid{grid-template-columns:1fr}.homepage .featured-case-card{padding:30px}.homepage .featured-case-card h3{font-size:1.55rem}.homepage .featured-case-card .featured-result{margin-top:8px}.homepage .section-pad{padding-block:66px}.homepage .process-stage{padding:30px;gap:28px}.seo-aside{position:static}.seo-hero,.about-hero,.career-hero,.case-hero,.privacy-hero,.roi-hero{padding-top:66px;padding-bottom:64px}}
@media(max-width:600px){html{scroll-padding-top:100px}header.site-header,header.site-header:hover,header.site-header:focus-within,header.site-header.header-scrolled,header.site-header.header-scrolled:hover{width:calc(100% - 20px);height:64px;padding-inline:18px}header.site-header .brand img{width:150px}header.site-header nav{top:73px}.homepage .hero{padding:44px 20px 48px;gap:36px}.homepage .hero h1{font-size:clamp(2.7rem,10.8vw,3.5rem);letter-spacing:-.05em}.homepage .hero .eyebrow{font-size:.6rem;letter-spacing:.1em}.homepage .hero-kicker{font-size:1rem}.homepage .hero-intro{font-size:.95rem}.homepage .hero-actions{gap:18px;margin-bottom:28px}.homepage .hero-actions .button{font-size:.9rem}.homepage .hero-proof{gap:22px}.homepage .hero-proof strong{font-size:1.8rem}.homepage .hero-visual{min-height:0;margin-top:8px}.homepage .hero-portal{border-radius:12px}.homepage .hero::before{background-size:64px 64px}.homepage .section-pad{padding:56px 20px}.homepage .section-heading{margin-bottom:30px;gap:20px}.homepage .section-heading h2,.homepage .visibility h2,.homepage .contact h2{font-size:2.15rem;line-height:1.16}.homepage .featured-case-card{padding:26px}.homepage .featured-case-logo{margin-bottom:22px}.homepage .featured-case-card h3{font-size:1.45rem}.homepage .featured-result{gap:16px}.homepage .case-metric{font-size:2.8rem}.homepage .process-experience{padding:7px}.homepage .process-stage{padding:26px 18px;gap:20px}.homepage .service-card{padding:28px}.homepage .service-card h3{font-size:2rem}.homepage .comparison-card{padding:26px}.homepage .comparison-card.featured{padding-top:23px}.homepage .testimonial-feature blockquote{font-size:1.1rem!important}.homepage .contact-form{padding:24px 20px}.seo-hero,.about-hero,.career-hero,.case-hero,.privacy-hero,.roi-hero{padding:48px 20px}.seo-hero h1,.about-hero h1,.career-hero h1,.case-hero h1,.privacy-hero h1,.roi-hero h1{font-size:clamp(2.45rem,10vw,3.35rem)}.seo-copy h2{font-size:1.95rem}.seo-hero .lead{font-size:1rem}.breadcrumb{font-size:.7rem;gap:6px}.about-fact span{font-size:.9rem}}
@media(hover:none){.homepage .featured-case-card:hover,.homepage .service-card:hover,.content-card:hover{transform:none;box-shadow:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}.homepage .hero-portal,.homepage .hero-portal:hover,.app-tile,.app-icon,.button:hover,.nav-cta:hover,.homepage .featured-case-card:hover,.homepage .service-card:hover,.content-card:hover{animation:none!important;translate:none!important;transform:none!important}}
@media print{header.site-header{position:static!important;box-shadow:none!important}.reveal{opacity:1!important;transform:none!important}.homepage .hero{min-height:0}.homepage .hero-portal{animation:none!important;transform:none!important;translate:none!important}}
