@charset "utf-8";
/* Home only. Shared CSS and other pages intentionally remain independent. */
.home { --c-blue: #0064ff; --c-focus: #004fd6; color:#0b1533; }
.home .announce { padding:0; background:linear-gradient(110deg,#258eef,#0079ff 65%,#004aff); }
.home .announce__link { min-height:40px; padding:8px 3.6%; display:flex; justify-content:center; gap:14px; font-size:13px; }
.announce-cta { position:absolute; right:4%; }
.home .header { position:relative; background:rgba(255,255,255,.92); }
.home .header__inner { max-width:1720px; padding-inline:3.6%; min-height:104px; gap:18px; }
.home .home-brand { font-size:32px; letter-spacing:.17em; gap:10px; line-height:1; }
.home .wordmark::before { display:none; }
.brand-mark { display:inline-block; position:relative; width:43px; height:42px; flex-shrink:0; background:linear-gradient(135deg,#99eaff 8%,#0878ff 45%,#001338 75%); clip-path:polygon(43% 4%,64% 0,100% 90%,71% 87%,55% 39%,29% 92%,0 100%); }
.brand-tagline { border-left:1px solid #9ebde3; padding-left:17px; font-size:12px; line-height:1.6; color:#42618c; margin-right:auto; flex-shrink:0; }
.home .nav { gap:36px; }
.home .nav__list { gap:30px; }
.home .nav__link { font-size:15px; min-height:44px; display:flex; align-items:center; }
.home .nav .home-cta { padding:18px 27px; font-size:17px; }
.home .home-cta { background:linear-gradient(115deg,#078cff,#0050ff); border:1px solid #0872ff; color:white; box-shadow:0 7px 18px #087eff25; border-radius:8px; gap:20px; transition:transform .25s,box-shadow .25s; }
.home .home-cta:hover { transform:translateY(-2px); box-shadow:0 10px 24px #0064ff35; color:white; }
.home .cta-arrow-slot,.home .btn__arrow { display:inline-grid; place-items:center; width:1.15em; height:1.15em; flex-shrink:0; }
.home .cta-arrow { display:block; width:1em; height:1em; overflow:visible; }
.home .announce .cta-arrow { width:16px; height:16px; }
.home .mobile-nav .btn { gap:10px; }
.home-hero { position:relative; isolation:isolate; max-width:1920px; margin:auto; min-height:690px; height:47.5vw; max-height:850px; padding:27px 3.8% 45px; background:linear-gradient(110deg,#fff 28%,#ffffffb8 49%,#d7efff80 100%); }
.hero-facets { position:absolute; inset:-104px 0 0; overflow:hidden; z-index:-1; pointer-events:none; background:radial-gradient(ellipse at 77% 72%,#38adff35,transparent 60%); }
.hero-facets i { position:absolute; width:180px; height:150%; top:-20%; left:56%; transform:rotate(28deg); background:linear-gradient(90deg,#ffffff00,#3ba4ff28 55%,#fff9 56%,#83c8ff45); border-right:1px solid #fff; }
.hero-facets i:nth-child(2) { left:73%; width:290px; background:linear-gradient(90deg,#008aff0a,#6bbaff55,#fff9); }
.hero-facets i:nth-child(3) { left:94%; width:150px; }
.hero-facets i:nth-child(4) { left:72%; top:32%; transform:rotate(-58deg); height:100%; width:110px; background:linear-gradient(90deg,transparent,#ffffffc9,transparent); }
.hero-copy { position:relative; z-index:2; width:51%; padding-top:10px; pointer-events:none; }
.hero-copy a { pointer-events:auto; }
.hero-eyebrow { color:#0064fa; font-size:clamp(10px,.83vw,14px); font-weight:600; letter-spacing:.22em; white-space:nowrap; margin-bottom:18px; }
.hero-eyebrow span { margin-inline:10px; }
.home-hero h1 { font-size:clamp(48px,5.55vw,92px); font-weight:900; letter-spacing:-.065em; line-height:1.24; color:#050505; }
.home-hero h1>span { display:block; white-space:nowrap; }
.home-hero h1 em { font-style:normal; color:#0065ff; font-size:1.13em; letter-spacing:-.07em; }
.home-hero .hero-title-last { font-size:.91em; letter-spacing:-.075em; }
.hero-description { font-size:clamp(16px,1.32vw,22px); line-height:1.8; letter-spacing:0; margin-top:22px; font-weight:500; }
.hero-actions { display:flex; gap:16px; margin-top:21px; }
.hero-actions .btn { font-size:clamp(18px,1.55vw,26px); min-height:66px; padding:18px 26px; }
.hero-actions .home-cta { min-width:46%; }
.home .home-secondary { color:#0a1630; background:#ffffffed; border:1px solid #bcd8ff; box-shadow:0 6px 16px #1d8cf414; gap:14px; border-radius:8px; }
.home .home-secondary:hover { border-color:#0064ff; background:#f3f8ff; }
.play-icon { color:#003f9a; width:29px; height:29px; display:grid; place-items:center; }
.hero-actions .cta-arrow-slot { width:1em; height:1.2em; display:grid; place-items:center; flex-shrink:0; color:#fff; }
.hero-actions .cta-arrow { display:block; width:1em; height:1em; overflow:visible; }
.hero-actions .cta-arrow path { vector-effect:non-scaling-stroke; }
.hero-pillars { list-style:none; display:grid; grid-template-columns:repeat(3,1fr); margin-top:42px; max-width:650px; gap:18px; }
.hero-pillars li { border-left:1px solid #92b3e3; padding-left:16px; }
.hero-pillars li>div { display:flex; align-items:center; gap:12px; }
.hero-pillars svg { width:29px; height:29px; fill:none; stroke:#0064ff; stroke-width:2; flex-shrink:0; }
.hero-pillars h2 { font-size:clamp(15px,1.13vw,19px); white-space:nowrap; color:#091731; }
.hero-pillars p { margin-top:12px; color:#36527d; font-size:clamp(11px,.83vw,14px); line-height:1.8; letter-spacing:0; }
.hero-showcase { position:absolute; width:59%; right:1%; top:0; bottom:20px; margin:0; }
.showcase-scene { position:absolute; inset:0; }
.hero-showcase figcaption { position:absolute; z-index:4; right:2%; bottom:-16px; padding:2px 5px; background:#ffffffed; border-radius:3px; font-size:11px; color:#405776; text-align:right; }
.showcase-sign { position:absolute; right:7%; top:0; color:#0052ff; font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-style:italic; font-size:clamp(25px,2.5vw,44px); letter-spacing:.13em; line-height:1.35; transform:rotate(-8deg); }
.showcase-sign>span { margin-left:55px; border-bottom:2px solid #0064ff; padding:0 25px 10px; }
.showcase-sign small { display:block; font-family:Arial,sans-serif; text-align:right; font-size:9px; letter-spacing:.18em; margin-top:20px; transform:rotate(8deg); }
.funnel-card,.growth-card { position:absolute; z-index:3; padding:20px; background:linear-gradient(125deg,#fff,#f6fbfff2); border:1px solid #fff; border-radius:15px; box-shadow:0 18px 40px #087be11a; }
.funnel-card { left:5%; top:2%; width:31%; transform:rotate(-7deg) skewX(-6deg); }
.mock-card-title { color:#081a3b; font-size:clamp(11px,1vw,17px); font-weight:800; white-space:nowrap; }
.chart-symbol { color:#0087ff; font-size:22px; letter-spacing:-4px; margin-right:9px; }
.funnel-card ol { list-style:none; margin-top:10px; display:flex; flex-direction:column; align-items:center; gap:5px; }
.funnel-card li { width:100%; padding:6px 3px; text-align:center; background:#c9e5ff; color:#003abe; font-size:clamp(10px,.95vw,16px); font-weight:700; clip-path:polygon(0 0,100% 0,92% 100%,8% 100%); border-radius:7px; }
.funnel-card li:first-child { background:linear-gradient(100deg,#0062ff,#6ecaff); color:white; }
.funnel-card li:nth-child(2) { width:86%; }.funnel-card li:nth-child(3) { width:72%; }.funnel-card li:nth-child(4) { width:58%; font-size:clamp(9px,.8vw,13px); }
.laptop { position:absolute; width:77%; right:7%; top:29%; transform:translateY(var(--depth-y,0px)); transition:transform .3s ease-out; }
.laptop-lid { position:relative; padding:17px 12px 13px; background:linear-gradient(125deg,#25435a,#020a12 30%,#050a10 75%,#5484a0); border:2px solid #7896a9; border-radius:22px 22px 10px 10px; box-shadow:8px 14px 18px #17334c2e; transform:perspective(1400px) rotateY(-8deg) rotateZ(-5deg) skewX(-11deg); transform-origin:bottom center; }
.laptop-camera { width:5px; height:5px; border-radius:50%; background:#26485d; position:absolute; top:6px; left:50%; }
.laptop-screen { background:#fff; overflow:hidden; aspect-ratio:1.5; border-radius:4px; display:flex; flex-direction:column; }
.mock-header { display:flex; align-items:center; justify-content:space-between; padding:3% 4%; color:#0a1830; font-size:clamp(5px,.51vw,9px); }
.mock-header b { display:flex; align-items:center; font-size:clamp(10px,.95vw,16px); font-style:italic; }
.mock-header .brand-mark { width:18px; height:19px; margin-right:3px; }
.mock-header i { color:white; background:#05172b; padding:5px 12px; border-radius:4px; font-style:normal; }
.mock-hero { position:relative; flex:1; min-height:0; background:linear-gradient(100deg,#fff,#e0f2ff); overflow:hidden; }
.mock-copy { position:relative; z-index:2; padding:4% 5%; width:77%; background:linear-gradient(90deg,#fff 15%,#ffffffed 44%,#ffffff00); height:100%; }
.mock-copy small { display:block; color:#286bcc; font-size:clamp(5px,.48vw,8px); letter-spacing:.2em; line-height:1.5; }
.mock-copy strong { display:block; margin:12px 0 8px; font-size:clamp(13px,1.8vw,30px); color:#070d1b; line-height:1.5; font-weight:900; letter-spacing:-.04em; }
.mock-copy p { font-size:clamp(5px,.63vw,11px); font-weight:600; color:#234674; line-height:1.65; }
.mock-copy>div { display:flex; gap:10px; margin-top:14px; font-size:clamp(5px,.65vw,11px); font-weight:700; }
.mock-copy>div span { padding:8px 12px; background:#0064ff; color:white; border-radius:4px; box-shadow:0 4px 12px #007aff30; }
.mock-copy>div span+span { background:white; color:#0b234f; }
.mock-side { position:absolute; right:3%; top:24%; font-size:clamp(7px,.78vw,13px); color:#1550a0; font-weight:700; }
.mock-bottom { display:flex; padding:3% 5%; background:#ffffffed; }
.mock-bottom>div { flex:1; padding-left:10px; border-left:1px solid #d8e6fa; }
.mock-bottom i,.mock-bottom b { display:block; font-size:clamp(5px,.63vw,11px); }.mock-bottom i { color:#276ace; font-size:clamp(5px,.53vw,9px); }
.laptop-base { position:relative; margin:-3px 0 0 -15%; width:118%; height:23px; background:linear-gradient(#acc4d8,#e6f3ff 28%,#527e9c 65%,#052d4e 94%); border-radius:2px 2px 50% 45% / 2px 2px 90% 80%; transform:rotate(-1deg); box-shadow:0 6px 8px #072b5360; z-index:2; }
.laptop-base>div { width:18%; height:7px; margin-left:40%; border-radius:0 0 12px 12px; background:linear-gradient(90deg,#87a9c0,#d7e8f8,#8caac5); }
.laptop-shadow { height:25px; background:#0a427b35; filter:blur(13px); margin:0 -4%; border-radius:50%; }
.office-scene { position:absolute; inset:0 0 0 35%; background:linear-gradient(165deg,#b1d0de 0 8%,#f5fcff 9% 22%,#bad7e6 23% 24%,#e6f7ff 25% 66%,#b7cbd6 67%,#f2faff 100%); }
.office-window { position:absolute; inset:5% 10% 20% 20%; background:repeating-linear-gradient(90deg,#366b8655 0 5px,transparent 5px 26%),repeating-linear-gradient(0deg,transparent 0 43%,#426c8144 44% 45%),linear-gradient(125deg,#d9f5ff,#8ec1de77,#f2fbff); border:7px solid #bdd5e3; transform:skewY(-7deg); box-shadow:inset 6px 0 8px #6990a888; }
.office-column { position:absolute; height:100%; width:8%; left:42%; background:linear-gradient(90deg,#effaff,#bfdae8); }
.office-chair { position:absolute; width:20%; height:30%; bottom:12%; right:12%; background:linear-gradient(110deg,#7193a8,#183b53); border-radius:14px 10px 4px 4px; transform:skewY(-8deg); box-shadow:4px 7px 3px #3a596644; }
.office-chair::after { content:""; position:absolute; width:80%; height:28%; background:linear-gradient(#607e93,#23465d); bottom:-5%; left:-15%; border-radius:5px; box-shadow:2px 18px 0 -7px #45596a; }
.chair-two { right:43%; width:16%; height:23%; bottom:15%; }
.office-table { position:absolute; width:32%; height:5%; right:23%; bottom:15%; background:#f0f7f9; border-radius:50%; box-shadow:0 3px #7c9caa; }
.office-table::after { content:""; position:absolute; height:34px; width:3px; background:#446174; left:50%; top:5px; }
.office-plant { position:absolute; left:29%; bottom:26%; width:12%; height:40%; border-left:3px solid #367461; z-index:1; }
.office-plant::after { content:""; position:absolute; width:23px; height:29px; bottom:-25px; left:-12px; background:linear-gradient(90deg,#b0c2ca,#eef6f8); clip-path:polygon(0 0,100% 0,83% 100%,17% 100%); }
.office-plant i { position:absolute; width:30px; height:11px; border-radius:0 90% 0 90%; background:linear-gradient(30deg,#28574f,#719b7f); left:-29px; top:12%; transform:rotate(30deg); }
.office-plant i:nth-child(even) { left:0; transform:rotate(-40deg); }.office-plant i:nth-child(3),.office-plant i:nth-child(4) { top:36%; }.office-plant i:nth-child(5),.office-plant i:nth-child(6) { top:62%; }
.growth-card { bottom:8%; right:0; width:34%; transform:rotate(-5deg); padding:17px 20px 12px; }
.growth-card svg { width:100%; margin-top:8px; }
.growth-labels { display:flex; justify-content:space-around; color:#375b8c; font-size:clamp(9px,.78vw,13px); font-weight:700; }
.home .band__label { font-weight:800; color:#fff; }
.home .band { padding-block:30px; }.home .marquee__track { animation:none; width:100%; }.home .marquee__group:nth-child(2) { display:none; }.home .marquee__group { flex-wrap:wrap; justify-content:center; gap:16px 36px; width:100%; }.home .marquee__group span { font-size:18px; font-weight:700; color:#fff; padding-inline:0; }.home .marquee { overflow:visible; mask-image:none; }
.mini-web { margin-top:12px; border:1px solid #bad4f3; padding:12px; background:linear-gradient(110deg,#fff,#deeeff); }.mini-web span { font-size:8px; color:#0064ff; display:block; }.mini-web b { display:block; font-size:15px; }.mini-web i { display:inline-block; width:28%; height:8px; background:#0064ff; margin:10px 7px 0 0; }
.home-phrase { white-space:nowrap; }
.home-services-intro { max-width:780px; margin:20px auto 0; }
@media(min-width:1200px) { .home .cards--4 { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; } }
.mini-system { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; margin-top:22px; }
.mini-system span { display:grid; place-items:center; min-height:44px; padding:4px; border:1px solid #b7d6ff; background:linear-gradient(130deg,#fff,#e7f2ff); color:#0757c9; font-size:10px; font-weight:800; text-align:center; white-space:nowrap; }
.mini-system span:nth-child(2) { background:linear-gradient(130deg,#078cff,#0050ff); border-color:#0064ff; color:white; }
.home-one-off { max-width:800px; margin:32px auto 0; text-align:center; line-height:1.85; }
.home-one-off .link { display:inline-block; margin-left:.5em; white-space:nowrap; }
.home .home-price-cta { color:#0a1630; background:#fff; border:1px solid #bcd8ff; }
.home .home-price-cta:hover { color:#0064ff; background:#f3f8ff; border-color:#0064ff; }
.home #pricing { scroll-margin-top:30px; }
.home .reveal { opacity:1; transform:none; }
.home .hero-copy,.home .showcase-scene { animation:home-enter .7s both; }.home .showcase-scene { animation-delay:.1s; }.home .funnel-card { animation:card-enter .7s .18s both; }.home .growth-card { animation:card-enter .7s .3s both; }
@keyframes home-enter { from { opacity:.65; translate:0 10px; } to { opacity:1; translate:0 0; } }
@keyframes card-enter { from { opacity:0; translate:0 8px; } to { opacity:1; translate:0 0; } }
@media(min-width:1700px) { .home-hero { padding-top:45px; }.hero-showcase { top:20px; } }
@media(max-width:1300px) { .brand-tagline { display:none; }.home .nav { gap:24px; }.home .nav__list { gap:20px; }.hero-pillars { gap:10px; }.hero-pillars li { padding-left:10px; }.hero-pillars li>div { gap:8px; }.home-hero { min-height:650px; }.hero-showcase { bottom:60px; }.growth-card { bottom:5%; }.announce-cta { display:none; } }
@media(max-width:1099px) {
 .home .announce .announce-cta { display:none; }
 .home .nav { display:none; }.home .menu-toggle { display:inline-flex; }.home .header__inner { min-height:84px; }.home .home-brand { font-size:28px; }.brand-tagline { display:block; }
 .home-hero { height:auto; max-height:none; min-height:0; padding:32px 6% 28px; }.hero-copy { width:100%; max-width:720px; margin:auto; }.hero-eyebrow { font-size:12px; }.home-hero h1 { font-size:clamp(46px,7.5vw,76px); }.hero-description { font-size:18px; }.hero-actions .btn { font-size:21px; }.hero-pillars { max-width:none; }.hero-pillars h2 { font-size:18px; }.hero-pillars p { font-size:13px; }
 .hero-showcase { position:relative; width:100%; height:auto; aspect-ratio:1.25; right:auto; top:auto; bottom:auto; max-width:800px; margin:38px auto 0; }.hero-showcase figcaption { bottom:0; font-size:11px; }.showcase-sign { font-size:32px; }.mock-card-title { font-size:15px; }.funnel-card li { font-size:14px; }.funnel-card li:nth-child(4) { font-size:11px; }.growth-card { bottom:9%; }.mock-header { font-size:7px; }.mock-header b { font-size:13px; }.mock-copy small { font-size:7px; }.mock-copy strong { font-size:25px; }.mock-copy p { font-size:9px; }.mock-copy>div { font-size:9px; }.mock-side { font-size:11px; }.mock-bottom b { font-size:10px; }.mock-bottom i { font-size:8px; }.growth-labels { font-size:11px; }
 .hero-facets { inset:20% 0 0; }.home .band { padding-block:24px; }
}
@media(max-width:599px) {
 .home .announce .announce-detail { display:none; }
 .home .announce__link { min-height:38px; font-size:11px; padding:7px 12px; }.announce-detail { display:none; }.home .header__inner { padding-inline:20px; min-height:78px; gap:12px; }.home .home-brand { font-size:24px; gap:7px; }.brand-mark { width:31px; height:32px; }.brand-tagline { font-size:9px; padding-left:10px; }
 .home-hero { padding:19px 20px 24px; overflow-x:clip; }.hero-copy { padding:0; }.hero-eyebrow { font-size:8px; letter-spacing:.12em; margin-bottom:19px; }.hero-eyebrow span { margin-inline:5px; }.home-hero h1 { font-size:clamp(33px,9.55vw,55px); line-height:1.35; letter-spacing:-.065em; }.home-hero .hero-title-last { font-size:.91em; }.hero-description { font-size:15px; line-height:1.9; margin-top:22px; }.hero-actions { flex-direction:column; gap:12px; margin-top:23px; }.hero-actions .btn { width:100%; min-height:56px; padding:16px 20px; font-size:18px; }.hero-actions .home-cta { gap:24px; }.hero-pillars { grid-template-columns:1fr; gap:17px; margin-top:28px; }.hero-pillars li { padding-left:13px; display:grid; grid-template-columns:124px 1fr; align-items:center; gap:8px; }.hero-pillars h2 { font-size:16px; }.hero-pillars svg { width:24px; height:24px; }.hero-pillars p { font-size:11px; margin-top:0; line-height:1.8; }
 .hero-showcase { margin-top:32px; aspect-ratio:.99; }.showcase-sign { font-size:19px; right:2%; top:1%; }.showcase-sign>span { margin-left:12px; padding:0 6px 7px; }.showcase-sign small { font-size:5px; margin-top:12px; }.funnel-card { padding:9px; left:1%; top:0; width:38%; border-radius:9px; }.mock-card-title { font-size:9px; }.chart-symbol { font-size:14px; margin-right:4px; letter-spacing:-3px; }.funnel-card ol { margin-top:5px; gap:3px; }.funnel-card li { font-size:8px; padding:3px 0; }.funnel-card li:nth-child(4) { font-size:6px; }.laptop { width:94%; right:1%; top:37%; }.laptop-lid { padding:10px 6px 7px; border-radius:12px 12px 5px 5px; border-width:1px; transform:perspective(900px) rotateY(-5deg) rotateZ(-4deg) skewX(-5deg); }.laptop-camera { top:3px; width:3px; height:3px; }.laptop-base { height:13px; margin-left:-3%; width:106%; }.laptop-base>div { height:4px; }.mock-header { font-size:4px; padding:3%; }.mock-header b { font-size:7px; }.mock-header .brand-mark { width:10px; height:11px; }.mock-header i { padding:3px 6px; }.mock-copy small { font-size:4px; }.mock-copy strong { font-size:12px; margin:5px 0; }.mock-copy p { font-size:5px; }.mock-copy>div { font-size:5px; gap:5px; margin-top:6px; }.mock-copy>div span { padding:4px 5px; }.mock-side { font-size:6px; }.mock-bottom b { font-size:5px; }.mock-bottom i { font-size:4px; }.mock-bottom>div { padding-left:5px; }.office-plant { transform:scale(.65); }.office-table::after { height:17px; }.growth-card { padding:8px 10px; width:43%; right:0; bottom:7%; border-radius:8px; }.growth-card svg { margin-top:3px; }.growth-labels { font-size:7px; }.hero-showcase figcaption { font-size:10px; text-align:center; right:0; width:100%; line-height:1.5; }.home .marquee__group { gap:10px 24px; padding-inline:20px; }.home .marquee__group span { font-size:15px; }
}
@media(max-width:599px) {
 .home .hero-description,.home .probs p,.home #approach-title,.home .hero-pillars p { text-wrap:pretty; }
 .home .home-mobile-phrase { white-space:nowrap; }
}
@media(max-width:359px) { .home .brand-tagline { display:none; } }
@media(prefers-reduced-motion:reduce) {
 .home *, .home *::before, .home *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }.laptop { transform:none; }
}
@media print { .hero-showcase { display:none; }.home-hero { height:auto; min-height:0; }.hero-copy { width:100%; }.hero-copy,.showcase-scene,.funnel-card,.growth-card { animation:none!important; } }
