/* Cinematic preview — clear type, restrained lighting, purposeful movement. */
.manifesto-group .manifesto-mark{width:7px;height:7px;border:0;border-radius:50%;background:var(--red);transform:none;box-shadow:none}
.hero-entry-particles{mix-blend-mode:screen}
body.hero-entering .hero .eyebrow,body.hero-entering .hero h1 .hero-line,body.hero-entering .hero-description,body.hero-entering .hero-copy>.button,body.hero-entering .hero-location,body.hero-entering .workflow-caption,body.hero-entering .hero-services .ai-module,body.hero-entering .hero-bottom{transition:opacity .85s cubic-bezier(.22,.61,.36,1)!important}
.logo-assembled .logo-rotor{transition:opacity .8s cubic-bezier(.22,.61,.36,1)}
.logo-assembled .logo-particles{transition:opacity .8s ease}
.hero:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 76% 28%,#ff292f0b,transparent 48%)}
.hero .scene-world{background:transparent!important}

/* The words keep their natural kerning and straight baselines. */
.ai-signal{isolation:isolate;min-height:860px;padding-top:140px;padding-bottom:110px;background:#030303}
.ai-signal .signal-word{align-self:center;font-size:clamp(80px,12.5vw,180px);line-height:.98;letter-spacing:-.065em;margin:3px 0;filter:none;transform-style:flat;text-shadow:none}
.ai-signal .signal-face{transform:none!important;transform-style:flat;backface-visibility:visible}
.ai-signal .signal-two .signal-face{text-shadow:0 3px 30px #000c}
.ai-signal .signal-three .signal-face{text-shadow:0 3px 30px #000c}
.ai-signal .signal-cta{margin-top:76px}
.ai-signal .signal-caption{align-self:flex-start;text-align:left;margin-top:30px;max-width:390px!important;font-size:16px}
.orbital-stage{position:absolute;inset:-3% -4%;z-index:-1;pointer-events:none;overflow:hidden;opacity:.82}
.orbital-stage:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#030303 0%,transparent 18%,transparent 72%,#030303 100%)}
.orbital-canvas{display:block;width:100%;height:100%;opacity:0;transition:opacity 1.1s ease}
.orbital-stage.is-rendered .orbital-canvas{opacity:1}
.orbital-fallback{position:absolute;width:440px;height:440px;left:48%;top:12%;border-radius:50%;background:radial-gradient(circle at 32% 22%,#777 0%,#252629 14%,#080809 43%,#020203 71%);box-shadow:inset -9px -2px 25px #ff292f66,0 0 80px #ff292f0d}
.orbital-fallback:after{content:'';position:absolute;inset:-15%;border:2px solid #e0454c99;border-radius:50%;transform:rotateX(62deg) rotateZ(-24deg);box-shadow:0 0 15px #ff292f22}
.is-rendered .orbital-fallback{opacity:0;transition:opacity .8s ease}

/* A customer story, shown as a connected sequence rather than another paragraph. */
.about{align-items:center;gap:7%}
.about-side>.section-kicker{margin-bottom:28px}
.about-copy p{max-width:540px}
.journey-visual{position:relative;min-height:575px;max-width:510px;padding:24px;border:1px solid #ffffff1c;border-radius:20px;background:linear-gradient(135deg,#202124ba,#09090de8 57%);box-shadow:0 32px 100px #0008,inset 0 1px #ffffff0d;overflow:hidden}
.journey-top{display:flex;justify-content:space-between;align-items:center;color:#aaa;font:500 10px/1.5 'Space Grotesk',sans-serif;letter-spacing:.15em;margin-bottom:25px}
.journey-indicator{width:5px;height:5px;background:var(--red);border-radius:50%;box-shadow:0 0 10px #ff292f99}
.journey-spine{position:absolute;left:38px;top:98px;bottom:72px;width:1px;background:#ffffff1c;overflow:hidden}
.journey-spine i{display:block;height:100%;background:linear-gradient(#ff292f,#ff8487);transform:scaleY(var(--journey-progress,0));transform-origin:top;transition:transform .55s ease;box-shadow:0 0 12px #ff292f}
.journey-step{position:relative;display:grid;grid-template-columns:29px 1fr;gap:17px;margin-bottom:19px}
.journey-dot{display:grid;place-items:center;width:29px;height:29px;border:1px solid #ffffff26;border-radius:50%;background:#121214;font:500 10px/1 'Space Grotesk',sans-serif;color:#777;transition:background .5s,color .5s,border-color .5s}
.journey-card{position:relative;border:1px solid #ffffff17;border-radius:10px;padding:15px 17px;background:#0b0b0dbf;transition:border-color .65s,background .65s,transform .65s;transform:translateY(5px)}
.is-reached .journey-dot{border-color:#ff292f70;color:#ff6a70}
.is-current .journey-dot{color:#fff;background:#c71922;border-color:#ff292f}
.is-current .journey-card{border-color:#ff292f6b;background:linear-gradient(120deg,#281216c9,#0b0b0d);transform:translateY(0)}
.journey-card small{display:block;color:#a79b9d;font:500 9px/1.5 'Space Grotesk',sans-serif;letter-spacing:.12em;margin-bottom:5px}
.journey-card>strong{font:500 20px/1.2 'Space Grotesk',sans-serif;letter-spacing:-.035em;color:#fff}
.journey-inquiry{display:flex;gap:10px;align-items:center;margin-top:16px;padding-top:12px;border-top:1px solid #ffffff12}
.inquiry-avatar{width:27px;height:27px;border-radius:50%;background:radial-gradient(circle at 50% 34%,#ccc 0 15%,transparent 17%),radial-gradient(ellipse at 50% 105%,#ccc 0 42%,transparent 44%),#29292c;flex:none}
.journey-inquiry b,.journey-inquiry div>span{display:block;font-size:11px;line-height:1.5;font-weight:400;color:#bbb}
.journey-inquiry div>span{font-size:10px;color:#777}
.journey-inquiry>i{margin-left:auto;width:5px;height:5px;border-radius:50%;background:#ff292f}
.message-preview{position:relative;margin-top:12px;padding:11px 13px;border-radius:8px 8px 8px 2px;background:#ffffff07;border:1px solid #ffffff0b;color:#aaa;font-size:12px;line-height:1.5}
.message-preview>span{display:block;margin-bottom:6px}
.message-preview i{display:inline-block;width:3px;height:3px;border-radius:50%;background:#ff6269;margin-right:3px;animation:message-dot 2.5s ease-in-out infinite}
.message-preview i:nth-of-type(2){animation-delay:.14s}.message-preview i:nth-of-type(3){animation-delay:.28s}
@keyframes message-dot{0%,70%,100%{opacity:.3;transform:translateY(0)}35%{opacity:1;transform:translateY(-2px)}}
.calendar-preview{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:13px}
.calendar-day{display:grid;place-items:center;width:28px;height:33px;border:1px solid #ffffff12;border-radius:5px;color:#777;font:500 10px/1 'Space Grotesk',sans-serif;position:relative}
.calendar-day.is-booked{border-color:#ff292f66;background:#ff292f15;color:#ff9296}
.calendar-day i{position:absolute;bottom:4px;width:3px;height:3px;background:var(--red);border-radius:50%}
.calendar-preview b{font:400 10px/1.4 'Space Grotesk',sans-serif;color:#aaa;width:100%;margin-top:4px}
.journey-note{margin:24px 0 0 46px;font-size:10px;line-height:1.5;color:#747478}

/* A photographic orbital horizon makes the business signal a distinct chapter. */
.statement{isolation:isolate;overflow:hidden;padding-top:140px;background:#030303!important}
.horizon-backdrop{position:absolute;z-index:-1;left:0;right:0;top:-50px;height:700px;background-image:linear-gradient(180deg,#03030300 35%,#030303 100%),var(--horizon-art,none);background-size:cover;background-position:50% 48%;transform:translate3d(0,var(--horizon-shift,0px),0);opacity:.95;pointer-events:none}
.statement:before{opacity:.2!important}
.opportunity-heading{min-height:340px;position:relative}
.opportunity-heading>p:last-child{max-width:440px}
.opportunity-grid{position:relative;gap:30px}
.opportunity-grid article{background:linear-gradient(145deg,#171719e8,#080809f2);border-color:#ffffff1c;backdrop-filter:none}
.opportunity-bottom{position:relative}
.process{background-image:radial-gradient(ellipse at 20% 60%,#ff292f08,transparent 55%)!important}
.process-rings{opacity:.55}
.process-rings i{border-color:#ff292f40!important}
.service-card{border-color:#ffffff20}
.web-card{background:linear-gradient(135deg,#17191d,#09090c 70%)}
.automation-card{background:linear-gradient(145deg,#191115,#0b0b0d 75%)}
.crm-card{background:linear-gradient(140deg,#14161a,#09090c 75%)}
.voice-card{background:linear-gradient(140deg,#241015,#09090c 75%)}

@media(max-width:760px){
 .ai-signal{min-height:670px;padding:110px 6% 70px}
 .ai-signal .signal-word{font-size:clamp(54px,18vw,100px);line-height:1.08;margin:4px 0}
 .ai-signal .signal-cta{margin-top:70px}
 .ai-signal .signal-caption{align-self:flex-start;text-align:left;max-width:300px!important;margin-top:26px;font-size:15px;line-height:1.6}
 .orbital-stage{inset:-3% -24%;opacity:.7}
 .orbital-fallback{width:320px;height:320px;left:27%;top:18%}
 .about{gap:35px}.journey-visual{min-height:0;padding:20px;max-width:500px;margin:auto}
 .journey-top{font-size:9px}.journey-spine{left:34px}.journey-step{gap:12px;margin-bottom:16px}
 .journey-card{padding:13px}.journey-card>strong{font-size:18px}.journey-note{margin:18px 0 0 41px;font-size:10px}
 .statement{padding-top:95px}.opportunity-heading{min-height:290px}.horizon-backdrop{height:570px;background-position:58% 50%;background-size:auto 100%}
 .opportunity-grid{gap:20px}.opportunity-grid article{padding:25px}
}
@media(max-width:360px){.journey-visual{padding:16px}.journey-spine{left:30px}.journey-card{padding:11px}.journey-card>strong{font-size:16px}.journey-card small{font-size:8px}.calendar-day{width:24px}.journey-inquiry b{font-size:10px}.message-preview{font-size:11px}.ai-signal .signal-word{font-size:18vw}}
@media(prefers-reduced-motion:reduce){.message-preview i{animation:none}.journey-card,.journey-spine i{transition:none}.horizon-backdrop{transform:none}.orbital-canvas{transition:none}}
body.motion-off .message-preview i{animation:none}
body.motion-off .horizon-backdrop{transform:none}

/* A photographic threshold, with a subtle camera move rather than a busy overlay. */
.hero{overflow:clip}
.hero-gateway{position:absolute;inset:-3%;z-index:-1;pointer-events:none;background-image:linear-gradient(90deg,#0005 0%,transparent 50%),linear-gradient(0deg,#000 0%,transparent 25%,transparent 80%,#0004 100%),url('assets/welcome-gateway.webp');background-size:cover;background-position:65% 45%;transform:translate3d(0,calc(var(--hero-progress,0)*45px),0) scale(1.02);animation:gateway-welcome 3s cubic-bezier(.2,.65,.3,1) both}
.hero:after{z-index:0;background:linear-gradient(90deg,#0002,transparent 55%)}
@keyframes gateway-welcome{from{opacity:.25;scale:1.05}to{opacity:1;scale:1}}
/* A short scroll scene gives every word visible travel in both directions. */
.ai-signal{display:block;padding:0;min-height:0;height:calc(100svh + 650px);overflow:clip;perspective:none}
.signal-scroll-stage{position:sticky;top:0;isolation:isolate;display:flex;flex-direction:column;justify-content:center;height:100svh;max-height:900px;padding:65px 5.2% 45px;overflow:clip;background:#030303}
.signal-scroll-stage>.section-kicker{position:absolute;top:30px;left:5.2%;color:#ff6874}
.ai-signal .signal-word{font-size:clamp(60px,min(12.5vw,17svh),180px);margin:3px 0;transition:none}
.ai-signal .signal-cta{margin-top:52px}
.ai-signal .signal-caption{margin-top:20px;font-size:14px;line-height:1.5}
@media(max-width:760px){
 .hero-gateway{background-position:69% 0%;background-size:auto 75%;background-repeat:no-repeat;background-image:linear-gradient(0deg,#000 12%,transparent 60%),linear-gradient(90deg,#0006,transparent 80%),url('assets/welcome-gateway.webp')}
 .ai-signal{height:calc(100svh + 490px);padding:0;min-height:0}
 .signal-scroll-stage{padding:65px 6% 35px;max-height:820px}
 .signal-scroll-stage>.section-kicker{left:6%;font-size:10px;top:35px}
 .ai-signal .signal-word{font-size:min(17vw,12svh);line-height:1.12;margin:7px 0}
 .ai-signal .signal-cta{margin-top:56px}
 .ai-signal .signal-caption{font-size:14px;max-width:290px!important;margin-top:24px}
}
@media(max-height:650px){.signal-scroll-stage{padding-top:55px;padding-bottom:25px}.ai-signal .signal-word{font-size:min(12vw,15svh);line-height:1.02;margin:2px 0}.ai-signal .signal-cta{margin-top:30px}.ai-signal .signal-caption{margin-top:16px;font-size:12px}.signal-scroll-stage>.section-kicker{top:15px}}
@media(prefers-reduced-motion:reduce){.hero-gateway{animation:none;transform:none}.ai-signal{height:auto}.signal-scroll-stage{position:relative;height:auto;min-height:650px}}
body.motion-off .hero-gateway{animation:none;transform:none}
body.motion-off .ai-signal{height:auto}
body.motion-off .signal-scroll-stage{position:relative;height:auto;min-height:650px}

/* The source aperture is positioned from the responsive logo, not a guessed crop. */
.hero-scroll-shell{position:relative;background:#000}
.hero{--hero-progress:0;--scroll:0;transform-origin:50% 0;transform:translate3d(0,var(--exit-lift,0px),0) scale(var(--exit-scale,1))}
.hero-gateway{inset:0;background-color:#000;background-image:linear-gradient(0deg,#000 0%,transparent 24%,transparent 90%,#0008),linear-gradient(90deg,#0005,transparent 55%),url('assets/welcome-gateway.webp');background-size:100% 100%,100% 100%,var(--gateway-size,100% auto);background-position:center,center,var(--gateway-x,0px) var(--gateway-y,0px);background-repeat:no-repeat;transform:none;transform-origin:var(--gateway-origin,75% 30%);animation:gateway-welcome 2.6s cubic-bezier(.2,.65,.3,1) both}
.hero-gateway:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000 0%,transparent 32%);pointer-events:none}
@keyframes gateway-welcome{from{opacity:.3;scale:1.025}to{opacity:1;scale:1}}
.tunnel-enabled .hero-scroll-shell{height:calc(var(--hero-measured-height,840px) + var(--tunnel-distance,540px));padding:0}
.tunnel-enabled .hero{position:sticky;top:var(--hero-pin-top,0px);will-change:transform}
.hero-copy,.hero .scene,.hero-bottom{opacity:var(--exit-content,1)}
.tunnel-particles{position:absolute;inset:0;z-index:9;width:100%;height:100%;pointer-events:none}
.hero:after{z-index:10;background:#000;opacity:var(--exit-veil,0);pointer-events:none}
.tunnel-dissolved .logo-rotor{animation-play-state:paused}
body.motion-off .hero{transform:none}
body.motion-off .hero-copy,body.motion-off .hero .scene,body.motion-off .hero-bottom{opacity:1}
body.motion-off .tunnel-particles{display:none}
@media(prefers-reduced-motion:reduce){.hero{transform:none}.tunnel-particles{display:none}.hero-copy,.hero .scene,.hero-bottom{opacity:1}.hero-gateway{animation:none}}

@media(min-width:761px){.scene .brand-core{top:20px}}

.hero-gateway{background:#000!important}
.gateway-art{position:absolute;left:var(--gateway-x,0px);top:var(--gateway-y,0px);width:var(--gateway-width,100%);height:var(--gateway-height,100%);background:url('assets/welcome-gateway.webp') center/100% 100% no-repeat;mask-image:linear-gradient(180deg,#000 0%,#000 65%,transparent 100%)}
.gateway-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#000 0%,transparent 8%,transparent 92%,#000 100%)}

/* Page two emerges behind the last particles, avoiding an empty exit screen. */
.hero-scroll-shell{background:transparent;pointer-events:none}
.hero{pointer-events:auto;opacity:var(--exit-scene-opacity,1)}
.tunnel-enabled .hero-scroll-shell{z-index:2;margin-bottom:calc(-1 * var(--tunnel-overlap,0px))}
.hero.tunnel-passed{pointer-events:none}
.hero:after{opacity:0}
.hero-gateway{mask-image:linear-gradient(90deg,transparent 0%,#000 4%,#000 96%,transparent 100%)}
body.motion-off .hero{opacity:1}
@media(prefers-reduced-motion:reduce){.hero{opacity:1}}

.horizon-backdrop.is-near{--horizon-art:url('assets/orbital-horizon.webp')}

/* Phone-only contrast shield: preserve the white headline against the rim. */
@media(max-width:760px){
 .hero h1{position:relative;isolation:isolate}
 .hero h1:before{content:'';position:absolute;inset:-14px -9px -14px -12px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 35% 50%,#000f 0%,#000d 44%,#0008 62%,transparent 80%)}
 .hero h1 .hero-line{text-shadow:0 1px 3px #000,0 0 9px #000b}
}
