/* V3 · An 8.2-second typographic promo. The score is editable in intro.js. */
.em-intro[hidden]{display:none!important}
.em-intro{--intro-ready:1;position:fixed;inset:0;z-index:200;overflow:hidden;isolation:isolate;background:var(--bg,#161715);color:var(--paper,#eeeee7);overscroll-behavior:contain;touch-action:none;animation:promo-safety 1ms 10s forwards}
.promo-sr{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.promo-stage{position:absolute;inset:0;overflow:hidden;background:radial-gradient(ellipse at 50% 48%,#28301c66,transparent 65%)}
.promo-grid{position:absolute;inset:0;opacity:.2;background:linear-gradient(90deg,transparent calc(50% - .5px),#eeeee71c 50%,transparent calc(50% + .5px)),linear-gradient(0deg,transparent calc(50% - .5px),#eeeee719 50%,transparent calc(50% + .5px));background-size:100% 100%}
.promo-corner{position:absolute;width:40px;height:40px;border:1px solid #eeeee744;z-index:4;pointer-events:none}
.corner-a{left:28px;top:28px;border-right:0;border-bottom:0}.corner-b{right:28px;bottom:28px;border-left:0;border-top:0}
.promo-scene{z-index:2;position:absolute;inset:0;display:grid;place-items:center;padding:7%;opacity:0;will-change:transform,opacity}
.brand-lockup{width:min(50vw,660px);position:relative;z-index:2;display:flex;flex-direction:column;gap:26px;align-items:flex-start}
.brand-lockup img{display:block;width:100%;height:auto}
.brand-lockup>span{font:clamp(10px,1.05vw,16px)/1.2 Arial,Helvetica,sans-serif;letter-spacing:.33em;padding-left:2px}
.brand-orbit{position:absolute;width:76vmin;height:76vmin;color:#eeeee74d;opacity:.7}
.brand-slice{position:absolute;width:1px;height:80vmin;left:50%;top:calc(50% - 40vmin);background:linear-gradient(transparent,#d5f35b80,transparent);transform:rotate(45deg)}
.idea-lockup{position:relative;z-index:2;text-align:center;font-weight:400;line-height:.9;letter-spacing:-.06em}.idea-lead{display:block;font-size:clamp(54px,6.8vw,108px);margin-bottom:.06em}.idea-word{display:block;font-family:var(--font);font-size:clamp(92px,14vw,224px);font-weight:400;letter-spacing:-.075em;line-height:1;position:relative;z-index:2;white-space:nowrap}
.idea-stop{color:var(--lime)}
.idea-orbit{position:absolute;width:70vmin;height:70vmin;border:1px solid #d5f35b26;border-radius:50%;left:calc(50% - 35vmin);top:calc(50% - 35vmin)}
.idea-bar{position:absolute;width:5px;height:74vh;background:var(--lime);transform:rotate(30deg);opacity:.7}
.pieces-lockup{position:relative;z-index:2;text-align:center;font-weight:400;line-height:.83;letter-spacing:-.07em}
.pieces-top{display:block;font-family:var(--font);font-size:clamp(54px,6.8vw,108px);margin-bottom:.10em}
.pieces-word{display:block;font:italic clamp(98px,15vw,240px)/.92 Georgia,'Times New Roman',serif;letter-spacing:-.075em;color:var(--lime)}
.assembly{position:absolute;inset:0;overflow:hidden}
.assembly i{position:absolute;left:calc(50% - 18vmin);top:calc(50% - 25vmin);width:36vmin;height:50vmin;border:1px solid #d5f35b40;background:#d5f35b04}
.assembly i:nth-child(2n){border-color:#eeeee724;background:#eeeee703}
.services-lockup{position:relative;z-index:2;max-width:100%;width:max-content}
.cap-row{display:flex;justify-content:center;gap:clamp(16px,2.4vw,42px);line-height:1.25}
.cap-row+.cap-row{margin-top:24px}
.cap{position:relative;font-size:clamp(27px,4.35vw,72px);font-weight:400;letter-spacing:-.045em;white-space:nowrap;display:block}
.cap-word{position:relative;display:inline-block;z-index:1}.cap-flare{position:absolute;inset:auto 0 -8px;height:2px;transform-origin:left;background:var(--lime);box-shadow:0 0 18px #d5f35b66;opacity:0}.cap+.cap::before{content:'·';color:var(--lime);margin-right:clamp(16px,2.4vw,42px);font-weight:400}
.cap-rule{height:2px;background:var(--lime);width:100%;transform-origin:left;margin:35px 0;opacity:.8}
.rule-bottom{transform-origin:right;opacity:.35}
.service-radar{position:absolute;inset:12% 9%;pointer-events:none;opacity:.5}
.service-radar i{position:absolute;width:26vmin;height:26vmin;border:1px solid #d5f35b25;transform:rotate(45deg)}
.service-radar i:nth-child(1){left:0;top:5%}.service-radar i:nth-child(2){right:0;bottom:5%}.service-radar i:nth-child(3){width:5vmin;height:5vmin;right:9%;top:12%;background:var(--lime);border:0;opacity:.5}
.promo-cut{position:absolute;z-index:5;top:-25%;height:150%;width:20vw;min-width:90px;background:var(--lime);left:0;opacity:0;pointer-events:none;box-shadow:0 0 50px #d5f35b22;will-change:transform}
.promo-cut i{position:absolute;top:0;bottom:0;right:-12px;width:3px;background:var(--paper);box-shadow:0 0 14px #eeeee799}
.cut-b{width:9vw;min-width:55px;background:var(--paper)}
.cut-b i{background:var(--lime);right:-20px;width:8px}
.cut-c{width:16vw;min-width:65px}
.particle-field{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.spark{position:absolute;left:50%;top:50%;width:var(--length);height:var(--thickness);border-radius:3px;background:var(--lime);opacity:0;transform-origin:left center;box-shadow:0 0 9px #d5f35b55;will-change:transform,opacity}
.spark.white{background:var(--paper);box-shadow:0 0 6px #eeeee766}
.exit-line{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--lime);opacity:0;box-shadow:0 0 25px #d5f35b77;z-index:6}
.intro-skip{position:absolute;right:5%;bottom:32px;z-index:10;min-height:44px;display:flex;align-items:center;gap:20px;padding:7px 0;font-size:12px;line-height:1.3;border-bottom:1px solid #eeeee744;color:var(--paper);background:transparent}
.intro-skip svg{width:20px;height:20px}.intro-skip:hover{color:var(--lime);border-color:var(--lime)}
.em-intro.is-proof{animation:none}
@keyframes promo-safety{to{visibility:hidden;pointer-events:none}}
/* Static alternate is immediately dismissible and does not capture the page. */
.promo-static{display:none}
.em-intro.is-static{inset:auto 24px 24px auto;width:min(500px,calc(100% - 48px));padding:28px;background:var(--bg);height:auto;border:1px solid var(--line);box-shadow:0 12px 40px #0005;touch-action:auto;animation:none}
.is-static .promo-stage,.is-static .promo-sr{display:none}.is-static .promo-static{display:block}
.promo-static img{display:block;width:160px;height:auto}.static-tag{font-size:8px;letter-spacing:.18em;display:block;margin:10px 0 22px}
.promo-static h2{font-size:36px;letter-spacing:-.055em;line-height:1.04}.promo-static em{color:var(--lime)}
.promo-static p{font-size:16px;line-height:1.7;margin-top:22px}.is-static .intro-skip{position:static;margin:18px 0 0 auto;width:fit-content}
/* Homepage continuation + the contact invitation from V1. */
.intro-arrived .hero h1,.intro-arrived .hero h1 em,.intro-arrived .hero-bottom,.intro-arrived .hero-top,.intro-arrived main{animation:none!important}
.intro-arrived .hero h1:focus{outline:none}
.intro-replay{font-size:12px;letter-spacing:.01em;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:4px 0;color:var(--muted)}
.intro-replay svg{width:15px;height:15px;color:var(--lime)}.intro-replay:hover{color:var(--paper)}
.hero-rule:has(.intro-replay){justify-content:space-between;gap:25px}.hero-rule:has(.intro-replay) .signal{flex:1;width:auto;max-width:180px}
.hero-top .connection-link{display:inline-flex;align-items:center;gap:13px;min-height:44px;margin-top:-13px;border-bottom:1px solid var(--line);letter-spacing:.07em;font-size:11px}
.connection-link svg{width:18px;height:18px;color:var(--lime);transition:transform .25s}.connection-link:hover{color:var(--lime);border-color:var(--lime)}.connection-link:hover svg{transform:translate(2px,-2px)}
@media(max-width:700px){
 .promo-scene{padding:28px}.promo-corner{width:26px;height:26px}.corner-a{left:20px;top:20px}.corner-b{right:20px;bottom:20px}
 .brand-lockup{width:81vw;gap:20px}.brand-lockup>span{font-size:9px;letter-spacing:.25em}.brand-orbit{width:110vmin;height:110vmin}
 .idea-lead{font-size:clamp(40px,12vw,80px)}.idea-word{font-size:clamp(62px,19.5vw,126px);letter-spacing:-.075em}.idea-bar{height:58vh}
 .pieces-top{font-size:clamp(40px,12vw,80px)}.pieces-word{font-size:clamp(68px,21.5vw,140px);margin-top:10px}
 .assembly i{width:58vmin;height:79vmin;left:21%;top:calc(50% - 39.5vmin)}
 .cap-row{display:contents}.cap{position:relative;font-size:clamp(29px,8.4vw,52px);line-height:1.18;letter-spacing:-.04em;margin:8px 0}
 .cap-word{position:relative;display:inline-block;z-index:1}.cap-flare{position:absolute;inset:auto 0 -8px;height:2px;transform-origin:left;background:var(--lime);box-shadow:0 0 18px #d5f35b66;opacity:0}.cap+.cap::before{display:none}.cap-rule{margin:24px 0}.services-lockup{min-width:74%;text-align:left}
 .service-radar{inset:20% 12%}.service-radar i{width:40vmin;height:40vmin}
 .intro-skip{right:28px;bottom:24px;font-size:11px}
 .hero-top{flex-wrap:wrap;gap:10px 20px}.hero-top .connection-link{font-size:10px;margin-top:-12px;gap:9px}.hero-rule:has(.intro-replay) .signal{max-width:80px}
 .em-intro.is-static{inset:auto 16px 16px;width:calc(100% - 32px);padding:22px}.promo-static h2{font-size:32px}.promo-static p{font-size:15px}.promo-static img,.static-tag{display:none}
}
@media(max-height:520px) and (min-width:701px){
 .brand-lockup{width:min(42vw,420px);gap:14px}.brand-lockup>span{font-size:9px}
 .idea-lead,.pieces-top{font-size:45px}.idea-word{font-size:clamp(72px,12vw,140px)}.pieces-word{font-size:clamp(76px,13vw,146px)}
 .cap{position:relative;font-size:clamp(25px,4.2vw,43px)}.cap-row+.cap-row{margin-top:14px}.cap-rule{margin:20px 0}.intro-skip{bottom:18px}
}
@media(max-height:580px) and (max-width:700px){.cap{position:relative;font-size:27px;margin:5px 0}.cap-rule{margin:15px 0}.brand-lockup{width:75vw}.intro-skip{bottom:18px}.idea-lead,.pieces-top{font-size:36px}.idea-word{font-size:16vw}.pieces-word{font-size:18vw}}
@media(prefers-reduced-motion:reduce){.connection-link svg{transition:none}}

/* Echoes carry the impact between scenes; the reading holds stay clean. */
.idea-echo,.make-echo{position:absolute;inset:0;display:grid;place-items:center;color:transparent;-webkit-text-stroke:1px #eeeee744;font:400 22vw/.9 Arial,Helvetica,sans-serif;letter-spacing:-.075em;white-space:nowrap;opacity:0;pointer-events:none}
.make-echo{font-family:Georgia,'Times New Roman',serif;font-style:italic;-webkit-text-stroke-color:#d5f35b77;font-size:23vw}
.orbit-b{width:44vmin;height:44vmin;left:calc(50% - 22vmin);top:calc(50% - 22vmin);border-style:dashed;border-color:#eeeee72b}
.make-impact{position:absolute;width:65vmin;height:65vmin;border:1px solid #d5f35b80;opacity:0;transform:rotate(45deg)}
@media(max-width:700px){.idea-echo{font-size:30vw}.make-echo{font-size:33vw}.cap-flare{bottom:-3px}}
