/* Artwork and layout refinement: volumetric materials, rendered depth and clear live labels. */
.brand{display:inline-flex;align-items:center;flex:0 0 auto;line-height:0;letter-spacing:normal}
.brand-logo{display:block;width:212px;height:auto;max-width:none}
.footer .brand-logo{width:170px}
@media(max-width:800px){.brand-logo{width:190px}}
@media(max-width:500px){.brand-logo{width:172px}}
@media(max-width:360px){.brand-logo{width:156px}.header-actions{gap:15px}}
.hero{display:block;padding-top:48px;padding-bottom:48px;min-height:0;background:radial-gradient(ellipse at 50% 70%,#eef5ff70,transparent 65%),#fafcff}
.hero-copy{max-width:1000px;margin:auto;text-align:center}
.hero-copy .eyebrow{justify-content:center;margin-bottom:18px}
.hero h1{font-size:clamp(44px,4.5vw,67px);max-width:950px;margin:0 auto 22px;line-height:1.05}
.hero .lead{max-width:620px;font-size:17px;margin:0 auto}
.hero-actions{justify-content:center;margin-top:24px}
.hero-foot{margin:19px 0 0;font-size:10px}
.hero-stage{perspective:none;margin:0 auto;width:100%;max-width:1250px;height:auto;isolation:auto}
.hero-stage:after{display:none}
.hero-artwork{position:relative;width:100%;aspect-ratio:2.45;overflow:hidden;pointer-events:none}
.hero-artwork img{position:absolute;display:block;width:100%;height:auto;left:0;top:50%;transform:translateY(-50%);mix-blend-mode:multiply;animation:art-float 9s ease-in-out infinite}
.hero-stage-labels{display:grid;grid-template-columns:repeat(3,1fr);margin-top:-5px;text-align:center;position:relative;z-index:1}
.hero-stage-labels>div{position:relative;padding:0 12px}
.hero-stage-labels .stage-number{display:inline-block;font-size:10px;letter-spacing:2px;color:#7290b0;margin-right:6px}
.hero-stage-labels h3{font-size:24px;letter-spacing:-.7px;display:inline-block;margin:0 0 8px}
.hero-stage-labels p{font-size:12px;margin:0;color:#61748e}
.stage-play{display:grid;place-items:center;width:32px;height:32px;margin:13px auto 0;border:1px solid #bfd0e8;border-radius:50%;background:#fff;color:#246fdc;font-size:10px;padding-left:4px;box-shadow:0 5px 15px #1a4c9010;transition:transform .25s,box-shadow .25s}
.stage-play:hover{transform:scale(1.12);box-shadow:0 5px 20px #3076d52b}
.hero-stage .stage-caption{position:static;justify-content:center;font-size:9px;margin-top:20px;opacity:.8}
.art-signal{position:absolute;top:57%;width:7px;height:7px;border-radius:50%;background:#ffbe3c;box-shadow:0 0 20px #ffb526;animation:signal-breathe 4s ease-in-out infinite;z-index:1}
.signal-a{left:36%}.signal-b{left:66%;animation-delay:2s;background:#5aaaff;box-shadow:0 0 20px #459aff}
.hero-stage.running .art-signal{animation-duration:.6s}
.case-visual{height:auto;aspect-ratio:1.6;padding:0;background:#edf4fc;overflow:hidden}
.case-visual:after{display:none}
.case-visual img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.3,1)}
.case:hover .case-visual img{transform:scale(1.035)}
.case-image-tag{position:absolute;bottom:16px;left:18px;font-size:9px;letter-spacing:.3px;padding:5px 10px;border-radius:25px;border:1px solid #ffffffc0;background:#ffffffd9;backdrop-filter:blur(10px);color:#49607d}
.case{box-shadow:0 16px 45px #466e9f08;border-color:#d4e1f1}
.case-content{padding:30px 32px}
@keyframes art-float{0%,100%{transform:translateY(-50%)}50%{transform:translateY(calc(-50% - 9px))}}
@keyframes signal-breathe{0%,100%{opacity:.15;scale:.7}50%{opacity:1;scale:1.5}}
@media(min-width:1600px){.hero{padding-top:60px}.hero-stage{max-width:1360px}}
@media(max-width:800px){.hero{padding:40px 6%}.hero-copy{max-width:650px}.hero h1{font-size:clamp(42px,6.5vw,59px)}.hero .lead{font-size:16px;max-width:490px}.hero-artwork{aspect-ratio:2.2}.hero-stage{margin-top:12px;max-width:none;width:100%}.hero-stage-labels h3{font-size:21px}.hero-stage-labels p{font-size:10px}.hero-stage-labels .stage-number{font-size:8px;display:block;margin:0 0 8px}.case-content{padding:26px}.case-image-tag{left:12px;bottom:12px;font-size:8px}}
@media(max-width:500px){.hero{padding:25px 5% 35px}.hero h1{font-size:43px;letter-spacing:-1.8px;max-width:370px}.hero-copy .eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:18px}.hero .lead{font-size:15px;max-width:330px}.hero-actions{gap:14px;margin-top:23px}.hero-actions .button{font-size:11px;padding:14px 18px}.hero-foot{max-width:300px;margin:18px auto 0;line-height:1.6;font-size:9px}.hero-stage{width:111%;margin:24px 0 0 -5.5%;height:auto}.hero-artwork{aspect-ratio:2;overflow:hidden}.hero-artwork img{width:106%;left:-3%}.hero-stage-labels{margin:0 4%;gap:0}.hero-stage-labels>div{padding:0 4px}.hero-stage-labels h3{font-size:18px;margin-bottom:5px;letter-spacing:-.6px}.hero-stage-labels .stage-number{font-size:8px;margin-bottom:6px}.hero-stage-labels p{font-size:9px;max-width:100px;line-height:1.5;margin:auto}.stage-play{margin-top:10px;width:30px;height:30px}.hero-stage .stage-caption{font-size:8px;margin:17px 4% 0}.art-signal{top:55%;width:5px;height:5px}.case-visual{aspect-ratio:1.5}.case-content{padding:26px}.case-image-tag{font-size:9px;bottom:14px;left:16px}}
@media(prefers-reduced-motion:reduce){.hero-artwork img,.art-signal{animation:none}.case-visual img,.stage-play{transition:none}}

/* Lossless artwork: the 1774px source displays at no more than 887 CSS pixels (2x). */
.hero-stage{max-width:887px;margin-top:30px}
.hero-artwork{aspect-ratio:1774/887;border-radius:22px;background:#edf5ff;border:1px solid #dce9f7;box-shadow:0 20px 60px #3b6b9b12;overflow:hidden}
.hero-artwork img{position:static;width:100%;height:auto;display:block;transform:none;mix-blend-mode:normal;animation:none}
.hero-stage-labels{grid-template-columns:1.25fr 1fr .9fr;margin:22px 1% 0 19%}
.hero-stage .art-signal{display:none}
.hero-stage-labels>div{padding:0 5px}
.hero-stage .stage-caption{margin-top:18px}
@media(max-width:800px){.hero-stage{max-width:887px;margin-top:25px}.hero-stage-labels{margin:20px 1% 0 19%}.hero-stage-labels .stage-number{display:block}}
@media(max-width:500px){.hero-stage{width:100%;margin:24px auto 0}.hero-artwork{border-radius:14px}.hero-artwork img{width:100%;left:auto}.hero-stage-labels{margin:18px 0 0 17%;grid-template-columns:1.25fr 1fr .95fr}.hero-stage-labels h3{font-size:16px}.hero-stage-labels p{font-size:8px}.hero-stage-labels .stage-number{font-size:8px}.hero-stage .stage-caption{font-size:8px}}
