.proj-page{background:var(--bg);min-height:100vh}.proj-hero{position:relative;padding:200px 40px 56px;text-align:center;overflow:hidden}.proj-hero-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:14px}.ghost-word{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);font-family:var(--display-font);font-size:clamp(180px,30vw,440px);line-height:.8;color:transparent;-webkit-text-stroke:1px hsla(0,0%,100%,.05);letter-spacing:-.02em;white-space:nowrap;pointer-events:none;z-index:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-mask-image:radial-gradient(70% 90% at 50% 50%,#000 30%,transparent 78%);mask-image:radial-gradient(70% 90% at 50% 50%,#000 30%,transparent 78%)}.timeline-sec{max-width:1440px;margin:0 auto;padding:40px 56px 0}.case-list{display:flex;flex-direction:column;gap:150px;max-width:1100px;margin:0 auto}.case-block{position:relative;perspective:1100px}.case-industry{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--accent);background:rgba(var(--accent-a-rgb),.1);border:1px solid rgba(var(--accent-a-rgb),.35);padding:4px 10px;border-radius:7px;white-space:nowrap}.case-headline{font-size:19px;color:var(--muted);line-height:1.55;margin:-10px 0 30px;max-width:56ch}.case-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:44px;align-items:center}.case-story{display:flex;flex-direction:column;gap:26px}.case-story-item p{font-size:15.5px;color:#cdcdd4;line-height:1.75;margin-top:10px}.case-label{display:inline-block;font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--muted-2)}.case-label.pain{color:#f87171}.case-label.sol{color:#4ade80}.case-results{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cr-item{text-align:center;display:flex;flex-direction:column;gap:6px}.cr-value{font-size:40px;color:#fff;line-height:1}.cr-label{font-size:13px;color:var(--muted)}.case-features{margin-top:30px;display:flex;flex-direction:column;gap:12px}.case-chips{display:flex;flex-wrap:wrap;gap:8px}.case-chip{font-size:13px;color:#dcdce2;padding:7px 14px;border-radius:999px;border:1px solid var(--line-2);background:hsla(0,0%,100%,.03)}.case-tech{margin-top:22px}.case-tech summary{cursor:pointer;font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--muted-2);-webkit-user-select:none;-moz-user-select:none;user-select:none}.case-tech summary:hover{color:var(--muted)}.case-tech .tl-tags{margin-top:14px}.case-quote{margin-top:26px;padding:20px 24px;border-left:2px solid var(--accent);background:hsla(0,0%,100%,.02);border-radius:0 14px 14px 0}.case-quote p{font-size:15.5px;color:#e7e7ec;line-height:1.7}.case-quote cite{display:block;margin-top:8px;font-size:13px;color:var(--muted);font-style:normal}.case-cta{display:inline-flex;align-items:center;gap:10px;margin-top:30px;padding:14px 26px;border-radius:14px;border:1px solid rgba(var(--accent-a-rgb),.45);background:rgba(var(--accent-a-rgb),.08);color:#fff;font-size:15px;font-weight:600;transition:.2s}.case-cta:hover{background:rgba(var(--accent-a-rgb),.18);transform:translateY(-2px)}.case-cta-arrow{transition:transform .2s}.case-cta:hover .case-cta-arrow{transform:translateX(4px)}.timeline{position:relative;display:grid;grid-template-columns:1fr 1fr;-moz-column-gap:140px;column-gap:140px}.tl-line{position:absolute;left:50%;top:30px;bottom:90px;width:1px;transform:translateX(-.5px);z-index:0;border-left:1px dashed hsla(0,0%,100%,.13)}.tl-line:after{content:"";position:absolute;left:-1px;top:0;width:2px;border-radius:2px;height:calc(var(--line-p, 0) * 100%);background:linear-gradient(var(--accent-a),var(--accent-b));box-shadow:0 0 12px var(--accent-a);transition:height .1s linear}.tl-col{display:flex;flex-direction:column;gap:140px;position:relative;z-index:1}.col-right{margin-top:200px}.tl-block{display:block;position:relative;color:inherit;text-decoration:none;perspective:1100px}.tl-dot{position:absolute;top:9px;width:9px;height:9px;border-radius:50%;background:hsla(0,0%,100%,.22);transform:scale(.5);z-index:3;transition:transform .5s ease,background .5s ease,box-shadow .5s ease}.tl-block.reveal:not(.pre) .tl-dot{background:var(--accent);transform:scale(1);box-shadow:0 0 0 4px rgba(255,61,139,.15),0 0 14px var(--accent)}.tl-dot:before{content:"";position:absolute;top:50%;height:1px;background:hsla(0,0%,100%,.16)}.tl-block.left .tl-dot{right:-50px}.tl-block.left .tl-dot:before{right:9px;width:42px}.tl-block.right .tl-dot{left:-50px}.tl-block.right .tl-dot:before{left:9px;width:42px}.tl-meta{display:flex;align-items:center;gap:12px;margin-bottom:10px}.tl-idx{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--muted)}.tl-tick{width:26px;height:1px;background:hsla(0,0%,100%,.2)}.tl-cat{letter-spacing:.22em;color:var(--muted-2);text-transform:uppercase;white-space:nowrap}.tl-cat,.tl-date{font-family:var(--mono);font-size:11px}.tl-date{margin-left:auto;letter-spacing:.06em;color:var(--muted);background:hsla(0,0%,100%,.04);border:1px solid var(--line);padding:4px 10px;border-radius:7px}.tl-name{font-size:34px;color:#f1f1f4;margin-bottom:22px;white-space:nowrap}.tl-card{position:relative;border-radius:22px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.5);min-height:340px;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(var(--sc,1));transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease;will-change:transform}.tl-card:hover{--sc:1.065;box-shadow:0 52px 110px rgba(0,0,0,.66)}.tl-card-inner{position:relative;z-index:1;padding:28px 28px 0}.tl-glare{position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;opacity:0;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),hsla(0,0%,100%,.26),transparent 46%);transition:opacity .3s ease}.tl-card:hover .tl-glare{opacity:1}.tl-card .mock-stack{position:relative;transform:translateY(8px);height:250px}.tl-card .mock-window{position:absolute;left:0;right:0;top:0;height:250px;overflow:hidden;transition:transform .55s cubic-bezier(.2,.7,.2,1),opacity .4s ease;will-change:transform}.tl-card .mock-window.front{z-index:2}.tl-card .mock-window.back{z-index:1;opacity:0;transform:translateY(0) rotate(0deg)}.tl-card:hover .mock-window.front{transform:translateX(50px) translateY(8px) rotate(3.6deg)}.tl-card:hover .mock-window.back{opacity:1;transform:translateX(-54px) translateY(24px) rotate(-5deg)}.tl-card .phone-frame{transition:transform .5s cubic-bezier(.2,.7,.2,1)}.tl-card:hover .phone-frame.back{transform:rotate(18deg) scale(.92) translateX(36px)}.tl-card:hover .phone-frame.main{transform:translateX(-12px) rotate(-3deg)}.tl-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.tl-headline{font-size:21px;font-weight:600;color:hsla(0,0%,100%,.97);line-height:1.42;max-width:36ch;text-shadow:0 2px 12px rgba(0,0,0,.25)}.tl-arrow{flex-shrink:0;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid hsla(0,0%,100%,.4);color:#fff;font-size:15px;transition:.2s}.tl-block:hover .tl-arrow{background:#fff;color:#111}.tl-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.phone-cluster{position:relative;height:250px;display:flex;align-items:flex-end;justify-content:center;transform:translateY(14px)}.phone-frame{position:relative;width:158px;height:320px;border-radius:30px;background:#0b0b0f;border:6px solid #1c1c22;box-shadow:0 24px 50px rgba(0,0,0,.5);overflow:hidden}.phone-frame.main{z-index:2}.phone-frame.back{position:absolute;left:calc(50% + 46px);bottom:-10px;transform:rotate(8deg) scale(.92);opacity:.8;z-index:1}.phone-notch{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:46px;height:13px;border-radius:8px;background:#000;z-index:4}.phone-screen{position:absolute;inset:0;padding:26px 14px 0;display:flex;flex-direction:column;gap:9px}.ph-status{display:flex;justify-content:space-between;font-size:8px;color:#fff;opacity:.7;font-family:var(--mono)}.ph-title{font-size:14px;font-weight:700;color:#fff;margin-top:2px}.ph-seg{display:flex;gap:5px}.ph-seg i{flex:1;height:5px;border-radius:3px;background:hsla(0,0%,100%,.12)}.ph-seg i.on{background:hsla(0,0%,100%,.5)}.ph-chart{display:flex;align-items:flex-end;gap:6px;height:60px;margin-top:2px}.ph-chart span{flex:1;border-radius:3px 3px 0 0}.ph-balance{margin-top:4px;border:1px solid;border-radius:11px;padding:9px 11px;background:hsla(0,0%,100%,.04)}.ph-bl{display:block;font-size:8px;color:hsla(0,0%,100%,.6)}.ph-balance strong{font-size:16px;color:#fff}.ph-row{display:flex;align-items:center;gap:8px}.ph-ic{width:24px;height:24px;border-radius:8px;flex-shrink:0}.ph-ll{flex:1;display:flex;flex-direction:column;gap:4px}.ph-ll i{height:5px;border-radius:3px;background:hsla(0,0%,100%,.16)}.ph-ll i.s{width:55%}.proj-cta{max-width:1440px;margin:160px auto 0;padding:0 56px 110px}.cta-card{position:relative;border-radius:32px;overflow:hidden;text-align:center;padding:104px 40px 96px;border:1px solid var(--line);background:radial-gradient(120% 100% at 50% 0,rgba(20,20,26,.6),#0a0a0d);display:flex;flex-direction:column;align-items:center;gap:24px}.cta-spray{position:absolute;width:480px;height:380px;border-radius:50%;filter:blur(46px);opacity:.5;pointer-events:none;background:radial-gradient(circle,var(--accent-b),transparent 66%)}.cta-spray.a{top:-90px;right:-80px;background:radial-gradient(circle,var(--accent-a),transparent 66%)}.cta-spray.b{bottom:-120px;left:-90px}.cta-emblem{position:relative;display:grid;place-items:center;width:96px;height:64px;z-index:2}.cta-badge-letter{font-size:30px;line-height:1;padding-bottom:2px}.cta-badge-logo{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;color:#fff;background:radial-gradient(circle at 40% 30%,#3b5bdb,#10142a);box-shadow:0 0 30px rgba(60,90,220,.5),inset 0 1px 2px hsla(0,0%,100%,.3);border:1px solid rgba(120,150,255,.4);z-index:2}.cta-wing{position:absolute;top:50%;width:46px;height:26px;background:linear-gradient(90deg,transparent,rgba(150,170,255,.3));-webkit-mask:repeating-linear-gradient(90deg,#000 0 3px,transparent 3px 6px);mask:repeating-linear-gradient(90deg,#000 0 3px,transparent 3px 6px);transform:translateY(-50%)}.cta-wing.l{right:60px;border-radius:60% 0 0 60%;background:linear-gradient(270deg,rgba(150,170,255,.35),transparent)}.cta-wing.r{left:60px;border-radius:0 60% 60% 0}.cta-title{position:relative;display:inline-block;font-size:clamp(30px,5vw,58px);line-height:1.12;font-weight:400;color:#dcdce2;letter-spacing:.01em;z-index:2;font-family:var(--body-font);text-align:center}.cta-title span{display:block}.cta-title strong{color:#fff;font-weight:800}.cta-title .cta-line2{display:block}.cta-rotor{position:absolute;right:-46px;bottom:-6px;display:inline-grid;place-items:center;width:78px;height:78px;z-index:3}.cta-rotor svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 13s linear infinite;fill:#fff}.cta-rotor svg text{font-family:var(--mono);font-size:8.2px;letter-spacing:.12em}.cta-rotor:before{content:"";position:absolute;inset:9px;border-radius:50%;border:2px solid var(--accent-b);box-shadow:0 0 16px var(--accent-b)}.rotor-star{font-size:18px;color:#fff;z-index:2}.cta-card .btn-primary{z-index:2;margin-top:6px}.cta-avail{font-size:21px;color:#fff;margin-top:22px;z-index:2}.cta-sub{font-size:15px;color:var(--muted);max-width:44ch;line-height:1.6;z-index:2}@media (max-width:900px){.case-list{gap:100px}.case-grid{grid-template-columns:1fr;gap:28px}.case-headline{font-size:16.5px}.case-results{grid-template-columns:repeat(3,1fr);gap:10px}.cr-value{font-size:28px}.cr-label{font-size:11.5px}.timeline{grid-template-columns:1fr;-moz-column-gap:0;column-gap:0}.tl-line{left:18px;transform:none}.col-right{margin-top:70px}.tl-col{gap:60px}.tl-block.left .tl-dot,.tl-block.right .tl-dot{left:-30px;right:auto}.tl-block.left .tl-dot:before,.tl-block.right .tl-dot:before{left:9px;right:auto;width:22px}.ghost-word{font-size:42vw}.cta-rotor{display:none}}@media (max-width:720px){.proj-hero{padding:160px 20px 32px}.timeline-sec{padding:28px 20px 0}.tl-block{padding-left:32px}.tl-line{left:0;transform:none;top:8px;bottom:12px}.tl-block.left .tl-dot,.tl-block.right .tl-dot{left:-28px;right:auto;top:10px}.tl-block.left .tl-dot:before,.tl-block.right .tl-dot:before{left:9px;right:auto;width:18px}.tl-name{font-size:22px;white-space:normal}.tl-meta{gap:8px;margin-bottom:8px}.tl-tick{width:18px}.tl-col{gap:110px}.tl-card{min-height:200px}.tl-card-inner{padding:18px 16px 0}.tl-card .mock-stack,.tl-card .mock-window{height:150px}.tl-headline{font-size:15px;line-height:1.4;max-width:26ch}.tl-arrow{width:26px;height:26px;font-size:13px}.tl-card-top{gap:10px;margin-bottom:12px}.mock-bar{padding:6px 9px}.mock-dot{width:7px;height:7px}.mock-url{font-size:9px;padding:2px 7px}.mock-body{padding:10px 12px 14px;min-height:0}.mock-h{height:14px}.mock-sub{height:8px}.mock-btns span{width:50px;height:18px}.mc-thumb{height:36px}.phone-cluster{height:150px;transform:translateY(8px)}.phone-frame{width:96px;height:200px;border-width:4px;border-radius:20px}.phone-frame.back{left:calc(50% + 24px)}.phone-screen{padding:16px 8px 0;gap:5px}.ph-title{font-size:11px}.ph-chart{height:36px}.ph-balance strong{font-size:12px}.tl-tags{gap:5px;margin-top:12px}.wtag{font-size:9px;padding:3px 7px}.col-right{margin-top:80px}.proj-cta{padding:0 20px 60px;margin-top:96px}.cta-card{padding:64px 22px 56px}}.anim-on .reveal{transition:opacity .9s ease,transform 1.05s cubic-bezier(.2,.7,.2,1)}.anim-on .reveal.pre{opacity:0}.anim-on .case-block.reveal.pre{transform:translateY(56px)}.anim-on .tl-block.reveal.pre.left{transform:translate(-60px,48px)}.anim-on .tl-block.reveal.pre.right{transform:translate(60px,48px)}.anim-on .proj-hero-inner.reveal.pre{transform:translateY(44px)}.anim-on .cta-card.reveal.pre{transform:translateY(60px)}.anim-on .tl-block:not(.pre) .tl-dot{animation:dotPulse 2.8s ease-in-out .4s infinite}@keyframes dotPulse{0%,to{box-shadow:0 0 0 4px rgba(255,61,139,.14),0 0 12px var(--accent)}50%{box-shadow:0 0 0 8px rgba(255,61,139,.04),0 0 20px var(--accent)}}.anim-on .wtag{transition:opacity .45s ease,transform .45s ease}.anim-on .tl-block.pre .wtag{opacity:0;transform:translateY(8px)}.ph-chart span{transform-origin:bottom;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.anim-on .case-block.pre .ph-chart span,.anim-on .tl-block.pre .ph-chart span{transform:scaleY(0)}.rich .ghost-word{transform:translate(calc(-50% + var(--mx, 0) * 36px),calc(-50% + var(--my, 0) * 24px));transition:transform .35s ease-out}.rich .cta-spray{transition:transform .4s ease-out}.rich .cta-spray.a{transform:translate(calc(var(--mx, 0) * -32px),calc(var(--my, 0) * -22px))}.rich .cta-spray.b{transform:translate(calc(var(--mx, 0) * 28px),calc(var(--my, 0) * 20px))}@media (prefers-reduced-motion:no-preference){.cta-spray{animation:spray 7s ease-in-out infinite}.cta-spray.b{animation-delay:-3.2s}.cta-wing{animation:wing 3.4s ease-in-out infinite}.cta-wing.r{animation-delay:-1.7s}.cta-emblem{animation:bob 5s ease-in-out infinite}}.rich .cta-spray{animation:none}@keyframes spray{0%,to{opacity:.42;filter:blur(46px)}50%{opacity:.64;filter:blur(38px)}}@keyframes wing{0%,to{opacity:.55;transform:translateY(-50%) scaleX(1)}50%{opacity:1;transform:translateY(-50%) scaleX(1.14)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.proj-page .sec-title{white-space:normal}.tl-card-link{display:block;text-decoration:none;color:inherit}.teaser-desc{font-size:15.5px;color:#cdcdd4;line-height:1.75}.teaser-results{display:flex;flex-direction:column;gap:14px}.tr-item{display:flex;align-items:baseline;gap:12px}.tr-value{font-size:22px;color:#fff;line-height:1;white-space:nowrap}.tr-label{font-size:13.5px;color:var(--muted)}.teaser-link{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--accent);text-decoration:none;margin-top:4px}.teaser-link:hover .case-cta-arrow{transform:translateX(4px)}.case-detail{max-width:1100px;margin:0 auto;padding:170px 40px 90px}.detail-back{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-decoration:none;margin-bottom:36px}.detail-back:hover{color:#fff}.detail-back-arrow{transition:transform .2s}.detail-back:hover .detail-back-arrow{transform:translateX(-4px)}.case-detail .tl-meta,.detail-name{margin-bottom:18px}.detail-name{font-size:clamp(34px,5vw,56px);white-space:normal}.detail-desc{font-size:15.5px;color:var(--muted);line-height:1.75;max-width:64ch;margin-bottom:44px}.case-detail .case-headline{margin:0 0 14px}.detail-visual{perspective:1100px;margin-bottom:56px}.detail-visual .mock-stack,.detail-visual .mock-window{height:330px}.detail-story{display:grid;grid-template-columns:1fr 1fr;gap:44px}.detail-story .case-story-item p{font-size:15.5px;color:#cdcdd4;line-height:1.75;margin-top:10px}.detail-tech .tl-tags{margin-top:14px}@media (max-width:900px){.case-detail{padding:150px 24px 70px}.detail-story{grid-template-columns:1fr;gap:28px}.detail-visual .mock-stack,.detail-visual .mock-window{height:220px}}