.p-projects .mast{padding:44px 0 0;text-align:center}.p-projects .mast .mrule{border-top:2px solid var(--rule);margin-bottom:60px}.p-projects .mast .mgrid{display:block}.p-projects .mast .kick{display:inline-flex;justify-content:center;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--violet);animation:pj-mrise 1.2s cubic-bezier(.16,.7,.3,1) .1s backwards}.p-projects .mast .kick i{font-style:normal;color:var(--teal)}.p-projects .mast h1{font-family:var(--font-display);font-weight:700;font-size:clamp(40px,6.4vw,92px);line-height:1.02;letter-spacing:-.01em;margin-top:22px;text-wrap:balance;animation:pj-mrise 1.4s cubic-bezier(.16,.7,.3,1) .25s backwards}.p-projects .mast h1 em{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:1.12em;line-height:1;color:var(--violet)}.p-projects .mast h1 .hl{background-image:radial-gradient(66% 54% at 50% 56%,rgba(59,227,201,.62) 0,rgba(59,227,201,.34) 46%,rgba(59,227,201,0) 80%),linear-gradient(90deg,rgba(59,227,201,0) .5%,rgba(59,227,201,.34) 6%,rgba(59,227,201,.34) 94%,rgba(59,227,201,0) 99.5%);background-repeat:no-repeat,no-repeat;background-size:100% 100%,100% .52em;background-position:0 0,0 .6em}[data-theme=dark] .p-projects .mast h1 .hl{background-image:radial-gradient(64% 50% at 50% 58%,rgba(59,227,201,.46) 0,rgba(59,227,201,.3) 42%,rgba(59,227,201,0) 78%);background-size:100% 100%;background-position:0 0}.p-projects .mast .mp{font-size:17.5px;font-weight:500;line-height:1.7;color:var(--body);max-width:62ch;margin:26px auto 0;text-wrap:pretty;animation:pj-mrise 1.4s cubic-bezier(.16,.7,.3,1) .45s backwards}@keyframes pj-mrise{0%{opacity:0;transform:translateY(34px)}}.p-projects .plist{padding:70px 0 0;display:flex;flex-direction:column;gap:40px}.p-projects .proj>.ptext{grid-column:2;grid-row:1}.p-projects .proj>.pills{grid-column:2;grid-row:2}.p-projects .proj>.plink,.p-projects .proj>.psoon{grid-column:2;grid-row:3}.p-projects .proj>.pmedia{grid-column:1;grid-row:1/4;align-self:center}.p-projects .proj.flip>.pills,.p-projects .proj.flip>.plink,.p-projects .proj.flip>.psoon,.p-projects .proj.flip>.ptext{grid-column:1}.p-projects .proj.flip>.pmedia{grid-column:2}.p-projects .proj{display:grid;grid-template-columns:7fr 5fr;grid-gap:48px;gap:48px;align-items:center;background:linear-gradient(170deg,#fff,#fbfafe);border:1px solid rgba(42,27,82,.09);border-radius:var(--r-lg);padding:30px;box-shadow:0 2px 4px rgba(42,27,82,.05),0 22px 50px rgba(42,27,82,.1)}.p-projects .proj.flip{grid-template-columns:5fr 7fr}.p-projects .proj.flip .pmedia{order:2}.p-projects .proj .onum2{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--violet)}.p-projects .proj .onum2,.p-projects .proj h2{font-family:var(--font-display);font-weight:600}.p-projects .proj h2{font-size:clamp(24px,2.8vw,38px);line-height:1.15;margin-top:14px;text-wrap:balance}.p-projects .proj h2 em{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:1.15em;line-height:1;color:var(--violet)}.p-projects .proj p{margin-top:16px;font-size:15.5px;line-height:1.75;color:var(--body)}.p-projects .proj .pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.p-projects .proj .pills span{font-size:14px;font-weight:700;color:var(--deep2);background:var(--lilac-soft);border:1px solid rgba(106,63,214,.14);padding:8px 15px;border-radius:100px;transition:all .2s}.p-projects .proj .pills span.ai{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:7px;padding:8px 16px;color:#fff;border:none;background:linear-gradient(120deg,#6a3fd6,#7a4fdd 38%,#34c9bc 72%,#7a4fdd);background:linear-gradient(120deg in oklab,#6a3fd6,#7a4fdd 38%,#34c9bc 72%,#7a4fdd);background-size:220% 100%;box-shadow:0 2px 10px rgba(106,63,214,.3),inset 0 0 0 1px hsla(0,0%,100%,.12);animation:pj-aiflow 7s ease-in-out infinite}.p-projects .proj .pills span.ai:before{content:"";position:absolute;top:0;bottom:0;left:-45%;width:34%;pointer-events:none;background:linear-gradient(105deg,transparent,hsla(0,0%,100%,.28),transparent);transform:skewX(-18deg);animation:pj-aisheen 5.6s ease-in-out infinite}.p-projects .proj .pills span.ai .aibadge{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:50%;flex:0 0 auto;background:radial-gradient(circle at 50% 36%,rgba(59,227,201,.32) 0,rgba(17,14,24,.62) 100%);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.34)}.p-projects .proj .pills span.ai .aiglyph{width:12px;height:12px;flex:0 0 auto;color:#8cf8e7;filter:drop-shadow(0 0 3px rgba(59,227,201,1));animation:pj-aitwinkle 2.6s ease-in-out infinite}.p-projects .proj .pills span.ai:hover{color:#fff;transform:translateY(-1px);box-shadow:0 6px 18px rgba(106,63,214,.4),inset 0 0 0 1px hsla(0,0%,100%,.14)}@keyframes pj-aiflow{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes pj-aisheen{0%{left:-45%}16%{left:130%}to{left:130%}}@keyframes pj-aitwinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.82;transform:scale(.9)}}@media (prefers-reduced-motion:reduce){.p-projects .proj .pills span.ai,.p-projects .proj .pills span.ai .aiglyph,.p-projects .proj .pills span.ai:before{animation:none}}.p-projects .proj .plink{display:inline-flex;align-items:center;gap:8px;margin-top:26px;justify-self:start;font-weight:800;font-size:14.5px;color:var(--violet);padding:10px 22px;border:1.5px solid rgba(106,63,214,.4);border-radius:100px;background:transparent;transition:background .2s,border-color .2s,color .2s,transform .2s}.p-projects .proj .plink:hover{background:var(--violet);border-color:var(--violet);color:#fff;transform:translateY(-1px)}.p-projects .proj .plink:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.p-projects .proj .psoon{display:inline-flex;align-items:center;gap:9px;margin-top:26px;justify-self:start;font-family:var(--font-body);font-weight:800;font-size:13.5px;letter-spacing:.02em;color:#0e7a67;background:rgba(59,227,201,.13);border:1px solid rgba(23,167,142,.3);padding:9px 18px;border-radius:100px}.p-projects .proj .psoon i{width:8px;height:8px;border-radius:50%;background:#17a78e;flex:0 0 auto;animation:pj-soon 2.4s ease-in-out infinite}@keyframes pj-soon{0%,to{opacity:1;box-shadow:0 0 0 0 rgba(23,167,142,.45)}50%{opacity:.55;box-shadow:0 0 0 5px rgba(23,167,142,0)}}@media (prefers-reduced-motion:reduce){.p-projects .proj .psoon i{animation:none}}.p-projects .pcard{background:var(--card);border:1px solid rgba(42,27,82,.09);border-radius:var(--r-md);overflow:hidden;box-shadow:0 1px 3px rgba(42,27,82,.05),0 10px 24px rgba(42,27,82,.09)}.p-projects .wchrome{display:flex;align-items:center;gap:6px;padding:11px 14px;background:#efebf5}.p-projects .wchrome i{width:9px;height:9px;border-radius:50%;background:#d9d2e6}.p-projects .wchrome .addr{margin:0 auto;background:#fff;border-radius:100px;font-size:11px;font-weight:600;color:var(--mut);padding:4px 16px}.p-projects .ba{position:relative;aspect-ratio:16/10;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:pan-y;background:var(--lilac-soft)}.p-projects .ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.p-projects .ba .ba-after{-webkit-clip-path:inset(0 0 0 var(--ba-pos,50%));clip-path:inset(0 0 0 var(--ba-pos,50%))}.p-projects .ba-clip{position:absolute;inset:0;z-index:3;pointer-events:none}.p-projects .ba-clip.before{-webkit-clip-path:inset(0 calc(100% - var(--ba-pos, 50%)) 0 0);clip-path:inset(0 calc(100% - var(--ba-pos, 50%)) 0 0)}.p-projects .ba-clip.after{-webkit-clip-path:inset(0 0 0 var(--ba-pos,50%));clip-path:inset(0 0 0 var(--ba-pos,50%))}.p-projects .ba-label{position:absolute;bottom:14px;z-index:3;font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:6px 14px;border-radius:100px;pointer-events:none}.p-projects .ba-label.before{left:14px;background:rgba(23,20,29,.78);color:#efeafb}.p-projects .ba-label.after{right:14px;background:var(--violet);color:#fff}.p-projects .ba-handle{position:absolute;top:0;bottom:0;left:var(--ba-pos,50%);width:2px;background:#fff;z-index:2;pointer-events:none;box-shadow:0 0 0 1px rgba(23,20,29,.18)}.p-projects .ba-handle:before{content:"\2194";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:#fff;color:var(--violet);display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:700;box-shadow:0 2px 4px rgba(42,27,82,.15),0 10px 26px rgba(42,27,82,.3)}.p-projects .ba input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:ew-resize;z-index:4;-webkit-appearance:none;-moz-appearance:none;appearance:none}.p-projects .ba-toggle{display:none}.p-projects .final{padding:70px 10px 10px}.p-projects .final .panel{background:linear-gradient(150deg,var(--violet) 0,#2a1b52 85%);background:linear-gradient(150deg in oklab,var(--violet) 0,#2a1b52 85%);border-radius:var(--r-lg);padding:96px 60px;text-align:center;color:#fff;position:relative;overflow:hidden}.p-projects .final .panel:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(46% 60% at 18% 100%,rgba(59,227,201,.14) 0,transparent 70%),radial-gradient(40% 50% at 88% 0,hsla(0,0%,100%,.08) 0,transparent 70%)}.p-projects .final .tag{color:var(--lilac);position:relative}.p-projects .final h2{font-family:var(--font-display);font-weight:700;font-size:clamp(30px,4.6vw,62px);line-height:1.08;max-width:16ch;margin:24px auto 0;position:relative;text-wrap:balance}.p-projects .final h2 em{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:1.15em;line-height:1;color:var(--teal)}.p-projects .final p{margin:24px auto 0;font-size:17px;color:#ddd2f4;max-width:48ch;line-height:1.65;position:relative}.p-projects .final .btn-l{display:inline-block;margin-top:40px;background:var(--teal);color:var(--deep);font-weight:800;font-size:17px;padding:19px 46px;border-radius:100px;transition:all .2s;position:relative;box-shadow:0 0 40px rgba(59,227,201,.3)}.p-projects .final .btn-l:hover{transform:scale(1.05);box-shadow:0 0 60px rgba(59,227,201,.5)}.p-projects .final .smallnote{margin-top:22px;font-family:var(--font-serif);font-style:italic;font-size:21px;letter-spacing:.01em;color:#d5c9ee;position:relative}@media (min-width:921px) and (max-width:1200px){.p-projects .proj.flip>.pills,.p-projects .proj>.pills{grid-column:1/-1;grid-row:2;margin-top:6px}.p-projects .proj.flip>.plink,.p-projects .proj.flip>.psoon,.p-projects .proj>.plink,.p-projects .proj>.psoon{grid-column:1/-1;grid-row:3;justify-self:start}.p-projects .proj>.pmedia{grid-row:1}.p-projects .proj{row-gap:22px}}@media (max-width:920px){.p-projects .mast .mgrid{grid-template-columns:1fr;gap:20px}.p-projects .proj,.p-projects .proj.flip{grid-template-columns:1fr;gap:24px;padding:18px}.p-projects .proj.flip>.pills,.p-projects .proj.flip>.plink,.p-projects .proj.flip>.pmedia,.p-projects .proj.flip>.psoon,.p-projects .proj.flip>.ptext,.p-projects .proj>.pills,.p-projects .proj>.plink,.p-projects .proj>.pmedia,.p-projects .proj>.psoon,.p-projects .proj>.ptext{grid-column:1;grid-row:auto}.p-projects .proj.flip .pmedia{order:0}.p-projects .ba input[type=range],.p-projects .ba-handle{display:none}.p-projects .ba .ba-after{-webkit-clip-path:inset(0 0 0 100%);clip-path:inset(0 0 0 100%);transition:-webkit-clip-path .4s cubic-bezier(.16,.7,.3,1);transition:clip-path .4s cubic-bezier(.16,.7,.3,1);transition:clip-path .4s cubic-bezier(.16,.7,.3,1),-webkit-clip-path .4s cubic-bezier(.16,.7,.3,1)}.p-projects .ba.show-after .ba-after{-webkit-clip-path:inset(0);clip-path:inset(0)}.p-projects .ba-toggle{display:flex;gap:8px;justify-content:center;padding:14px;background:var(--card)}.p-projects .ba-toggle button{font-family:var(--font-body);font-size:13.5px;font-weight:700;cursor:pointer;padding:9px 26px;border-radius:100px;border:1.5px solid rgba(23,20,29,.2);background:transparent;color:var(--mut);transition:all .2s}.p-projects .ba-toggle button.active{background:var(--violet);border-color:var(--violet);color:#fff}.p-projects .ba-label{display:none}.p-projects .final .panel{padding:64px 30px}}[data-theme=dark] .p-projects .mast .kick,[data-theme=dark] .p-projects .mast h1 em{color:var(--teal)}[data-theme=dark] .p-projects .proj{background:linear-gradient(170deg,#211b33,#1b1629);border-color:rgba(203,187,238,.13);box-shadow:0 2px 4px rgba(0,0,0,.3),0 22px 50px rgba(0,0,0,.4)}[data-theme=dark] .p-projects .proj .onum2,[data-theme=dark] .p-projects .proj h2 em{color:var(--teal)}[data-theme=dark] .p-projects .proj .pills span{color:var(--body);border-color:rgba(203,187,238,.16)}[data-theme=dark] .p-projects .proj .pills span.ai{color:#fff}[data-theme=dark] .p-projects .proj .plink:hover{color:var(--teal)}[data-theme=dark] .p-projects .proj .psoon{color:var(--teal);background:rgba(59,227,201,.1);border-color:rgba(59,227,201,.3)}[data-theme=dark] .p-projects .proj .psoon i{background:var(--teal)}[data-theme=dark] .p-projects .mast .kick,[data-theme=dark] .p-projects .mast h1 em,[data-theme=dark] .p-projects .proj .onum2,[data-theme=dark] .p-projects .proj h2 em{color:#b79df0}[data-theme=dark] .p-projects .proj .plink{color:#b79df0;border-color:rgba(183,157,240,.42)}[data-theme=dark] .p-projects .proj .plink:hover{background:var(--teal);border-color:var(--teal);color:var(--deep)}[data-theme=dark] .p-projects .pcard{border-color:rgba(203,187,238,.13);box-shadow:0 1px 3px rgba(0,0,0,.3),0 10px 24px rgba(0,0,0,.4)}[data-theme=dark] .p-projects .wchrome{background:#2a2440}[data-theme=dark] .p-projects .wchrome i{background:rgba(203,187,238,.25)}[data-theme=dark] .p-projects .wchrome .addr{background:rgba(203,187,238,.1)}[data-theme=dark] .p-projects .ba-handle{box-shadow:0 0 0 1px rgba(0,0,0,.45)}@media (max-width:920px){[data-theme=dark] .p-projects .ba-toggle button{border-color:rgba(239,234,251,.25)}}.p-projects .proj .pquote{margin:26px 0 0;padding:3px 0 3px 20px;border-left:2px solid var(--violet)}.p-projects .proj .pquote blockquote{margin:0;font-family:var(--font-serif);font-style:italic;font-size:clamp(16px,1.5vw,19px);line-height:1.6;color:var(--body)}.p-projects .proj .pquote figcaption{margin-top:12px}.p-projects .proj .pquote cite{font-style:normal;font-family:var(--font-body);font-size:13px;font-weight:800;color:var(--violet)}[data-theme=dark] .p-projects .proj .pquote{border-left-color:var(--teal)}[data-theme=dark] .p-projects .proj .pquote cite{color:var(--teal)}