/* Shared dark header and homepage direction. Control geometry remains in controls.css. */
.home{--hero-black:#08090c;background:var(--surface)}
.home main,.home .footer{background:var(--surface)}
.header{background:#08090c;color:#fff}
.header.scrolled{background:#08090ced;box-shadow:0 1px 0 #ffffff12;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.header .brand{position:relative}
/* Keep the original purple symbol; lighten only the wordmark for a dark surface. */
.header .brand:after{content:'';position:absolute;inset:0;background:#fff;mask:url('./logo-dark.png') center/100% 100% no-repeat;-webkit-mask:url('./logo-dark.png') center/100% 100% no-repeat;clip-path:inset(0 0 0 31%);pointer-events:none}
.header .nav>a,.header .services-toggle{color:#cbcbd3}
.header .nav>a:hover,.header .nav>a[aria-current],.header .services-toggle:hover,.header .services-toggle[aria-expanded=true]{color:#fff}
.header .menu-toggle span{background:#fff}
/* First sections share the homepage's continuous black surface. */
main>.page-intro:first-child,main>.detail-hero:first-child{margin:0;border:0;border-radius:0 0 48px 48px;background:radial-gradient(ellipse at 85% 10%,#6829a71a,transparent 60%),#08090c;color:#fff;overflow:hidden}
main>.page-intro:first-child{padding:64px 6% 76px}
.page-intro h1,.detail-hero h1{color:#fff}
.page-intro .hero-accent,.detail-hero .hero-accent{background:linear-gradient(110deg,#b65aff 4%,#9343fa 55%,#6655e8 100%);background-clip:text;-webkit-background-clip:text;color:transparent;padding-bottom:.08em}
main>.page-intro:first-child p,.detail-hero-copy p{color:#b5b4bf}
.page-intro .eyebrow,.detail-hero-copy .eyebrow{color:#bb82ff;font-size:12px;line-height:18px;letter-spacing:.07em}
.detail-hero .back-link{color:#b5b4bf}
.detail-hero .back-link:hover{color:#fff}
.detail-hero-copy{padding:56px 9% 64px 12%}
.detail-hero-image{margin:24px 24px 24px 0}
@media(max-width:780px){
 main>.page-intro:first-child,main>.detail-hero:first-child{border-radius:0 0 30px 30px}
 main>.page-intro:first-child{padding:42px 6% 52px}
 main>.page-intro:first-child p,.detail-hero-copy p{font-size:16px;line-height:1.65}
 .detail-hero-copy{padding:38px 7% 36px}
 .detail-hero-image{margin:0 6% 24px;min-height:330px}
 .detail-hero-copy .eyebrow{font-size:12px;line-height:18px}
 .detail-hero h1{font-size:clamp(36px,8vw,52px)}
}
@media(max-width:480px){.detail-hero-image{min-height:280px}.detail-hero h1{font-size:clamp(33px,8.8vw,42px)}}
.home .hero-v2{position:relative;isolation:isolate;overflow:hidden;max-width:none;margin:0;padding:56px 6% 58px;border-radius:0 0 48px 48px;background:var(--hero-black);color:#fff}
.home .hero-glow{inset:-180px -300px auto auto;width:1050px;height:850px;transform:none;border:0;border-radius:50%;background:radial-gradient(ellipse,#6d25b222 0%,#46208a0c 40%,transparent 68%);z-index:-1}
.home .hero-v2-heading{display:grid;grid-template-columns:1.2fr 1fr;column-gap:7%;max-width:1440px;text-align:left;align-items:end;margin:0 auto 46px}
.home .hero-v2-heading>.tag-pill{grid-column:1/-1;justify-self:start;margin-bottom:28px;background:#ffffff05;border-color:#ffffff1a;color:#b7b5c3;font-size:12px;line-height:18px;letter-spacing:.025em}
.home .hero-v2 h1{grid-column:1;grid-row:2/4;margin:0;font-size:clamp(74px,8.3vw,132px);line-height:1;letter-spacing:-.065em}
.home .hero-v2 h1 span{background:linear-gradient(110deg,#b65aff 4%,#9343fa 55%,#6655e8 100%);background-clip:text;-webkit-background-clip:text;color:transparent}
.home .hero-v2-heading>p{grid-column:2;grid-row:2;max-width:380px;margin:0 0 24px;font-size:20px;line-height:1.6;color:#b5b4bf}
.home .hero-v2-actions{grid-column:2;grid-row:3;align-self:start;justify-content:flex-start;flex-wrap:wrap;margin:0;gap:12px}
.home .hero-v2-actions .soft{color:#efedf5;border-color:#ffffff38;background:#ffffff05}
.home .hero-v2-actions .soft:hover{background:#ffffff12;border-color:#ffffff65}
.home .hero-visual{max-width:1440px;grid-template-columns:minmax(0,2.75fr) minmax(0,1fr);gap:18px}
.home .visual-main{height:430px;border-radius:32px;background:#17191e}
.home .visual-main>img{object-position:center 48%;filter:saturate(.75)}
.home .visual-main:after{inset:0;background:linear-gradient(180deg,#08090c08 35%,#08090cbd)}
.home .visual-side{grid-template-rows:1.15fr 1fr;gap:18px}
.home .visual-detail{border-radius:28px}
.home .visual-detail>img{filter:saturate(.65)}
.home .visual-brand{background:radial-gradient(ellipse at 100% 0,#7131bb55,transparent 75%),#19151f;border:1px solid #ffffff10;border-radius:28px}
.home .visual-brand>img{width:68px;filter:none}
.home .visual-brand>span:not(.brand-orbit){font-size:20px;line-height:1.25}
.home .brand-orbit{color:#a140ff24}
.home .glass-tag{border:1px solid #ffffff25;background:#ffffff12;backdrop-filter:blur(14px);font-size:12px;line-height:18px;letter-spacing:.06em}
.home .visual-location{font-size:12px;line-height:18px;color:#e2dee8}
.home .intro-v2{background:var(--surface);padding-top:100px;padding-bottom:100px}
.home .expertise-v2{background:#eeeff2;color:#02011d}
.home .expertise-v2 .eyebrow{color:#696575}
.home .expertise-v2 .purple-text{color:#7632ce}
.home .expertise-v2 .circle-button{background:#fff;color:#02011d;border-color:#02011d12}
.home .expertise-v2 .circle-button:hover{background:#02011d;color:#fff}
.home .expertise-v2 .text-link{color:#33264e}
.home .expertise-v2 .text-link .arrow-icon{color:#7632ce}
.home .expertise-v2 .carousel-progress{background:#02011d16}
@media(min-width:1650px){.home .hero-v2{padding-top:70px;padding-bottom:64px}.home .visual-main{height:470px}}
@media(max-width:1150px) and (min-width:781px){.home .hero-v2-heading{column-gap:5%}.home .hero-v2-heading>p{font-size:18px}.home .hero-v2 h1{font-size:8.6vw}.home .hero-v2-actions{flex-direction:column;align-items:flex-start}.home .visual-brand{gap:14px;padding:20px}.home .visual-brand>img{width:46px}.home .visual-brand>span:not(.brand-orbit){font-size:17px}}
@media(max-width:780px){
 .header .nav{background:#15151bf7;border-color:#ffffff16;box-shadow:0 20px 40px #0005}
 .header .nav a,.header .services-toggle{color:#e3e0eb}
 .header .services-dropdown{background:transparent;border-color:#ffffff20}
 .header .dropdown-heading{border-color:#ffffff16}
 .header .nav .dropdown-links>a:hover{background:#ffffff0c}
 .home .hero-v2{padding:36px 6% 28px;border-radius:0 0 30px 30px}
 .home .hero-v2-heading{display:block;text-align:center;margin-bottom:30px}
 .home .hero-v2-heading>.tag-pill{margin-bottom:0;max-width:100%;justify-content:center;font-size:12px;line-height:18px;letter-spacing:0}
 .home .hero-v2 h1{font-size:clamp(58px,11.5vw,88px);margin:28px 0 22px;line-height:1.02}
 .home .hero-v2-heading>p{font-size:16px;line-height:1.65;margin:0 auto 25px;max-width:360px}
 .home .hero-v2-actions{justify-content:center;align-items:center;flex-wrap:wrap;margin:0;gap:10px}
 .home .hero-visual{grid-template-columns:1fr;gap:12px}
 .home .visual-main{height:330px;border-radius:24px}
 .home .visual-main>img{object-position:65% center}
 .home .visual-side{grid-template-columns:1fr 1fr;grid-template-rows:minmax(155px,auto);gap:12px}
 .home .visual-detail,.home .visual-brand{border-radius:22px}
 .home .visual-brand{padding:20px;gap:14px}
 .home .visual-brand>img{width:48px}
 .home .visual-brand>span:not(.brand-orbit){font-size:16px;line-height:1.25}
 .home .visual-overlay{left:18px;right:18px;bottom:20px;gap:12px}
 .home .glass-tag{font-size:12px;line-height:18px;letter-spacing:.025em}
 .home .intro-v2{padding-top:65px;padding-bottom:65px}
}
@media(max-width:480px){
 .home .hero-v2{padding-top:30px}
 .home .hero-v2 h1{font-size:clamp(49px,14.7vw,70px)}
 .home .hero-v2-actions{flex-direction:column}
 .home .visual-main{height:300px}
 .home .visual-brand{flex-direction:column;align-items:flex-start;gap:12px;padding:18px}
 .home .visual-brand>img{width:44px}
 .home .visual-detail>span{max-width:calc(100% - 28px);font-size:12px;line-height:18px}
}

/* Give the About introduction room before the photo and story. */
.page-intro+.about-split{padding-top:96px}
@media(max-width:780px){.page-intro+.about-split{padding-top:64px}}

/* Shared closing invitation: distinguish it from adjacent dark sections. */
.cta{background:linear-gradient(115deg,#7926cf 0%,#5921b8 48%,#1f1b92 100%);color:#fff}
.cta .eyebrow{color:#e8d8ff}
.cta p{color:#eee5fa}
.cta:before{background:#ffffff04;border-color:#ffffff12}
.cta:after{border-color:#ffffff16}
.cta .button{background:#fff;color:#33116e;box-shadow:0 4px 16px #16083b20}
.cta .button:hover{background:#f2eafa;color:#33116e;box-shadow:0 8px 22px #16083b30}

/* Match the breathing room below the company-page introduction. */
.page-intro+.wide-photo{margin-top:96px}
@media(max-width:780px){.page-intro+.wide-photo{margin-top:64px}}
