.ab{isolation:isolate;flex-direction:column;min-height:100vh;padding:clamp(80px,12vh,140px) 0 clamp(48px,8vh,80px);display:flex;position:relative;overflow:hidden}.ab__bg{z-index:0;pointer-events:none;will-change:transform;position:absolute;inset:0}.ab__dot-grid{background-image:radial-gradient(circle,#ffffff09 1px,#0000 1px);background-size:38px 38px;position:absolute;inset:0}.ab__ghost{font-family:var(--font-heading);letter-spacing:-.04em;color:var(--text-primary);opacity:.022;-webkit-user-select:none;user-select:none;white-space:nowrap;will-change:top;font-size:clamp(100px,18vw,240px);font-weight:700;line-height:1;position:absolute;top:15%;left:-.02em;transform:none}.ab__reveal{opacity:0;transition:opacity .75s,transform .75s cubic-bezier(.16,1,.3,1);transform:translateY(28px)}.ab__reveal--in{opacity:1;transform:translateY(0)}.ab__upper{z-index:2;will-change:transform;grid-template-columns:1fr 1fr;align-items:start;gap:clamp(32px,6vw,80px);padding:0 clamp(28px,8vw,120px);display:grid;position:relative}.ab__left{flex-direction:column;gap:clamp(20px,3vh,28px);display:flex}.ab__eyebrow{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:12px;font-size:10.5px;line-height:1;display:flex}.ab__eyebrow-dash{background:var(--accent);flex-shrink:0;width:28px;height:1px;display:inline-block}.ab__headline{font-family:var(--font-heading);letter-spacing:-.03em;color:var(--text-primary);margin:0;font-size:clamp(2.8rem,5.5vw,5rem);font-weight:600;line-height:1.05}.ab__headline-dim{color:var(--text-secondary)}.ab__bio{flex-direction:column;gap:14px;display:flex}.ab__line{color:var(--text-secondary);font-size:clamp(.88rem,1.3vw,1rem);line-height:1.82}.ab__accent{color:var(--text-primary);font-weight:500}.ab__line em{color:var(--text-primary);font-style:italic}.ab__right{flex-direction:column;display:flex}.ab__terminal{border:1px solid var(--border);background:#06060ad1;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000002e,0 16px 32px #00000047}.ab__term-header{border-bottom:1px solid var(--border);background:#ffffff05;align-items:center;gap:7px;padding:11px 14px;display:flex}.ab__term-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.ab__term-dot--red{background:#ff5f57}.ab__term-dot--yellow{background:#febc2e}.ab__term-dot--green{background:#28c840}.ab__term-title{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.05em;opacity:.45;margin-left:8px;font-size:10px}.ab__term-body{min-height:196px;font-family:var(--font-mono);flex-direction:column;gap:3px;padding:18px 20px 22px;font-size:12px;line-height:1.65;display:flex}.ab__term-line{flex-wrap:wrap;align-items:baseline;display:flex}.ab__term-prompt{color:var(--accent);opacity:.65;white-space:nowrap;flex-shrink:0}.ab__term-cmd{color:var(--text-primary);opacity:.88}.ab__term-out{color:var(--text-muted);opacity:.5;width:100%;padding-left:4px;font-size:11.5px}.ab__lower{z-index:3;will-change:transform;border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);margin-top:clamp(40px,6vh,64px);padding:clamp(40px,6vh,64px) clamp(28px,8vw,120px) 0;display:grid;position:relative}.ab__stats{border-top:1px solid var(--border);flex-direction:column;display:flex}.ab__stat{border-bottom:1px solid var(--border);flex-direction:column;gap:5px;padding:clamp(16px,2.5vh,22px) 0 clamp(16px,2.5vh,22px) 16px;display:flex;position:relative;overflow:hidden}.ab__stat:before{content:"";background:var(--accent);transform-origin:top;width:2px;transition:transform .55s cubic-bezier(.16,1,.3,1);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.ab__stat.ab__reveal--in:before{transform:scaleY(1)}.ab__stat:first-child:before{transition-delay:60ms}.ab__stat:nth-child(2):before{transition-delay:.15s}.ab__stat:nth-child(3):before{transition-delay:.24s}.ab__stat-num{font-family:var(--font-mono);color:var(--text-primary);letter-spacing:-.02em;font-size:clamp(2rem,3.5vw,2.8rem);font-weight:300;line-height:1}.ab__stat-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-size:9.5px}.ab__details{border-top:1px solid var(--border);flex-direction:column;display:flex}.ab__detail-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:clamp(13px,1.8vh,18px) 0;display:flex;position:relative;overflow:hidden}.ab__detail-row:before{content:"";transform-origin:0;background:#c9a55a0a;transition:transform .45s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scaleX(0)}.ab__detail-row:hover:before{transform:scaleX(1)}.ab__detail-key{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);z-index:1;flex-shrink:0;font-size:10px;position:relative}.ab__detail-val{font-family:var(--font-body);color:var(--text-secondary);text-align:right;z-index:1;font-size:.84rem;position:relative}.ab__detail-avail{color:#52c87a;align-items:center;gap:8px;font-size:.82rem;display:flex}.ab__avail-dot{background:#52c87a;border-radius:50%;flex-shrink:0;width:5px;height:5px;animation:2.4s ease-in-out infinite ab-pulse}@keyframes ab-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.2;transform:scale(.45)}}@media (max-width:900px){.ab__upper,.ab__lower{grid-template-columns:1fr}.ab__headline{font-size:clamp(2.2rem,9vw,3rem)}.ab__ghost{font-size:clamp(80px,24vw,160px)}}@media (prefers-reduced-motion:reduce){.ab__reveal{opacity:1;transition:none;transform:none}}
.sk{isolation:isolate;padding:clamp(80px,12vh,140px) 0 clamp(60px,10vh,100px);position:relative;overflow:hidden}.sk__bg{z-index:0;pointer-events:none;will-change:transform;position:absolute;inset:0}.sk__ghost{font-family:var(--font-heading);letter-spacing:-.04em;color:var(--text-primary);opacity:.022;-webkit-user-select:none;user-select:none;white-space:nowrap;will-change:top;font-size:clamp(130px,22vw,280px);font-weight:700;line-height:1;position:absolute;top:15%;left:auto;right:-.02em;transform:none}.sk__header{z-index:2;will-change:transform;margin-bottom:clamp(40px,6vh,64px);position:relative}.sk__inner{padding:0 clamp(28px,8vw,120px)}.sk__eyebrow{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:12px;margin-bottom:16px;font-size:10.5px;line-height:1;display:flex}.sk__eyebrow-dash{background:var(--accent);flex-shrink:0;width:28px;height:1px;display:inline-block}.sk__headline{font-family:var(--font-heading);letter-spacing:-.03em;color:var(--text-primary);margin:0;font-size:clamp(2.8rem,5.5vw,5rem);font-weight:600;line-height:1.05}.sk__headline-dim{color:var(--text-secondary)}.sk__marquee-wrap{z-index:2;flex-direction:column;gap:clamp(14px,2.5vh,24px);margin-bottom:clamp(48px,8vh,80px);display:flex;position:relative;-webkit-mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000);mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000)}.sk__track{width:100%;overflow:hidden}.sk__track-inner{white-space:nowrap;animation:sk-scroll-left var(--dur,36s)linear infinite;will-change:transform;flex-shrink:0;gap:12px;display:flex}.sk__track--rev .sk__track-inner{animation-name:sk-scroll-right}@keyframes sk-scroll-left{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes sk-scroll-right{0%{transform:translate(-50%)}to{transform:translate(0)}}.sk__tag{border:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;flex-shrink:0;align-items:center;gap:8px;padding:9px 22px;font-size:11.5px;transition:color .25s,border-color .25s;display:inline-flex;position:relative;overflow:hidden}.sk__tag:before{content:"";background:#c9a55a0f;transition:transform .35s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:translateY(100%)}.sk__tag--near:before,.sk__tag:hover:before{transform:translateY(0)}.sk__tag--near,.sk__tag:hover{color:var(--accent);border-color:var(--border-accent)}.sk__tag-dot{background:var(--accent);opacity:.45;z-index:1;border-radius:50%;flex-shrink:0;width:3px;height:3px;position:relative}.sk__grid-wrap{z-index:3;will-change:transform;position:relative}.sk__grid{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(4,1fr);display:grid}.sk__cat{border-right:1px solid var(--border);border-bottom:1px solid var(--border);opacity:0;flex-direction:column;gap:14px;padding:clamp(20px,3vh,32px) clamp(16px,2vw,28px);transition:opacity .6s,transform .6s cubic-bezier(.16,1,.3,1);display:flex;transform:translateY(28px)}.sk__cat--in{opacity:1;transform:translateY(0)}.sk__cat-label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);opacity:.8;font-size:9.5px}.sk__cat-items{flex-direction:column;gap:6px;display:flex}.sk__cat-item{font-family:var(--font-body);color:var(--text-secondary);font-size:.85rem;line-height:1.5;transition:color .2s}.sk__cat:hover .sk__cat-item{color:var(--text-primary)}@media (max-width:900px){.sk__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.sk__grid{grid-template-columns:1fr}.sk__headline{font-size:clamp(2.2rem,9vw,3rem)}}@media (prefers-reduced-motion:reduce){.sk__track-inner{animation:none}.sk__cat{opacity:1;transition:none;transform:none}}
.project-gigantic{--grav-rotX:0deg;--grav-rotY:0deg;cursor:pointer}.pj__bg{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.pj__ghost{font-family:var(--font-heading);letter-spacing:-.04em;color:var(--text-primary);opacity:.022;-webkit-user-select:none;user-select:none;white-space:nowrap;will-change:top;font-size:clamp(80px,16vw,210px);font-weight:700;line-height:1;position:absolute;top:15%;left:50%;transform:translate(-50%)}.projects-gigantic{flex-direction:column;margin-top:0;padding:0 clamp(28px,8vw,120px);display:flex}.project-gigantic{border-bottom:1px solid var(--border);opacity:0;grid-template-columns:72px 1fr;gap:clamp(1.5rem,3vw,3rem);padding:3.5rem 0;transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1);display:grid;position:relative;transform:translateY(48px)}.project-gigantic:first-child{transition-delay:0s}.project-gigantic:nth-child(2){transition-delay:.12s}.project-gigantic:nth-child(3){transition-delay:.24s}.project-gigantic:nth-child(4){transition-delay:.36s}.project-gigantic:nth-child(5){transition-delay:.48s}.project-gigantic:nth-child(6){transition-delay:.6s}.project-gigantic:nth-child(7){transition-delay:.72s}.project-gigantic.is-visible{opacity:1;transform:translateY(0)}.project-gigantic__counter{-webkit-user-select:none;user-select:none;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;padding-top:.6rem;transition:color .3s;display:flex}.project-gigantic__index{font-family:var(--font-mono);color:var(--accent);letter-spacing:.08em;font-size:.75rem;line-height:1}.project-gigantic__slash{font-family:var(--font-mono);color:var(--text-muted);opacity:.5;font-size:.6rem;line-height:1}.project-gigantic__total{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.08em;font-size:.65rem;line-height:1}.project-gigantic__body{flex-direction:column;gap:1rem;min-width:0;display:flex;overflow:visible}.project-gigantic__accordion-wrap{pointer-events:auto;overflow:hidden}.project-gigantic__title-wrap{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex;overflow:visible}.project-gigantic__title-stack{line-height:1;position:relative;overflow:visible}.project-gigantic__title-stroke{font-family:var(--font-heading);letter-spacing:-.03em;text-transform:uppercase;color:#0000;-webkit-text-stroke:1.5px var(--text-muted);text-stroke:1.5px var(--text-muted);-webkit-user-select:none;user-select:none;pointer-events:none;white-space:nowrap;font-size:clamp(2.2rem,6.2vw,5.5rem);font-weight:700;line-height:1;transition:-webkit-text-stroke-color .4s;display:block}.project-gigantic:hover .project-gigantic__title-stroke{-webkit-text-stroke-color:var(--border-light)}.project-gigantic__title-fill{font-family:var(--font-heading);letter-spacing:-.03em;text-transform:uppercase;color:var(--text-primary);-webkit-text-stroke:0;pointer-events:none;white-space:nowrap;clip-path:inset(0 100% 0 0);font-size:clamp(2.2rem,6.2vw,5.5rem);font-weight:700;line-height:1;transition:clip-path 1.1s cubic-bezier(.16,1,.3,1);display:block;position:absolute;top:0;left:0}.project-gigantic:first-child .project-gigantic__title-fill{transition-delay:.15s}.project-gigantic:nth-child(2) .project-gigantic__title-fill{transition-delay:.27s}.project-gigantic:nth-child(3) .project-gigantic__title-fill{transition-delay:.39s}.project-gigantic:nth-child(4) .project-gigantic__title-fill{transition-delay:.51s}.project-gigantic:nth-child(5) .project-gigantic__title-fill{transition-delay:.63s}.project-gigantic:nth-child(6) .project-gigantic__title-fill{transition-delay:.75s}.project-gigantic:nth-child(7) .project-gigantic__title-fill{transition-delay:.87s}.project-gigantic.is-visible .project-gigantic__title-fill{clip-path:inset(0 0% 0 0)}.project-gigantic:hover .project-gigantic__title-fill{color:var(--text-primary)}.project-gigantic__tags{opacity:0;flex-wrap:wrap;gap:.4rem 1rem;transition:opacity .55s,transform .55s;display:flex;transform:translateY(6px)}.project-gigantic:first-child .project-gigantic__tags{transition-delay:.5s}.project-gigantic:nth-child(2) .project-gigantic__tags{transition-delay:.62s}.project-gigantic:nth-child(3) .project-gigantic__tags{transition-delay:.74s}.project-gigantic:nth-child(4) .project-gigantic__tags{transition-delay:.86s}.project-gigantic:nth-child(5) .project-gigantic__tags{transition-delay:.98s}.project-gigantic:nth-child(6) .project-gigantic__tags{transition-delay:1.1s}.project-gigantic:nth-child(7) .project-gigantic__tags{transition-delay:1.22s}.project-gigantic.is-visible .project-gigantic__tags{opacity:1;transform:translateY(0)}.project-gigantic__tag{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border);padding:3px 10px;font-size:.65rem;transition:border-color .3s,color .3s}.project-gigantic:hover .project-gigantic__tag{border-color:var(--border-light);color:var(--text-secondary)}.project-gigantic__desc{color:var(--text-muted);opacity:0;max-width:640px;font-size:.82rem;line-height:1.75;transition:opacity .55s,transform .55s;transform:translateY(8px)}.project-gigantic:first-child .project-gigantic__desc{transition-delay:.6s}.project-gigantic:nth-child(2) .project-gigantic__desc{transition-delay:.72s}.project-gigantic:nth-child(3) .project-gigantic__desc{transition-delay:.84s}.project-gigantic:nth-child(4) .project-gigantic__desc{transition-delay:.96s}.project-gigantic:nth-child(5) .project-gigantic__desc{transition-delay:1.08s}.project-gigantic:nth-child(6) .project-gigantic__desc{transition-delay:1.2s}.project-gigantic:nth-child(7) .project-gigantic__desc{transition-delay:1.32s}.project-gigantic.is-visible .project-gigantic__desc{opacity:1;transform:translateY(0)}.project-gigantic__link{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #0000;align-items:center;gap:.4rem;width:fit-content;padding-bottom:2px;font-size:.7rem;text-decoration:none;transition:color .3s,border-color .3s;display:inline-flex}.project-gigantic__link:hover{color:var(--accent);border-color:var(--accent)}.project-gigantic__arrow{transition:transform .3s cubic-bezier(.16,1,.3,1);display:inline-block}.project-gigantic__link:hover .project-gigantic__arrow{transform:translate(2px,-2px)}.project-gigantic.is-visible~.section-rule{transform:scaleX(1)}.section:has(.is-visible) .section-rule{transform:scaleX(1)}.project-gigantic__header-row{justify-content:space-between;align-items:center;gap:2rem;width:100%;display:flex}.project-gigantic__actions{flex-shrink:0;align-items:center;gap:1.5rem;display:flex}.project-gigantic__inline-logo{opacity:.18;justify-content:center;align-items:center;width:42px;height:42px;transition:opacity .3s,transform .3s;display:flex}.project-gigantic:hover .project-gigantic__inline-logo{opacity:.9;transform:scale(1.1)}.project-gigantic__expand-btn{color:var(--accent);font-family:var(--font-mono);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;padding:0;font-size:1.6rem;transition:border-color .3s,background-color .3s;display:flex}.project-gigantic:hover .project-gigantic__expand-btn{background-color:#c9a55a08;border-color:#c9a55a33}.project-gigantic__expand-icon{line-height:1;display:inline-block}.lf{align-items:center;gap:0;width:100%;height:100%;display:flex}.lf__icon{flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;padding:8px;display:flex}.lf__divider{background:linear-gradient(#0000,#c9a55a59,#0000);flex-shrink:0;width:1px;height:52px;margin:0 1.2rem}.lf__text{flex-direction:column;gap:.3rem;min-width:0;display:flex}.lf__name{color:#e8e6e3;letter-spacing:-.04em;text-transform:uppercase;font-family:Outfit,sans-serif;font-size:1.4rem;font-weight:700;line-height:1;display:block}.lf__slogan{color:#c9a55a;letter-spacing:.14em;text-transform:uppercase;opacity:.85;font-family:JetBrains Mono,monospace;font-size:.62rem;display:block}.floating-hover-card{-webkit-backdrop-filter:blur(28px);pointer-events:none;background:#0a0a0ff5;border:1px solid #c9a55a33;border-radius:6px;width:370px;position:relative;overflow:hidden;box-shadow:0 32px 80px #000c,inset 0 0 0 1px #ffffff08}.fhc__glow{z-index:2;background:linear-gradient(90deg,#0000,#c9a55acc 40% 60%,#0000);height:2px;position:absolute;top:0;left:0;right:0}.fhc__banner{box-sizing:border-box;background:radial-gradient(at 20%,#c9a55a12 0%,#0000 65%);border-bottom:1px solid #c9a55a14;align-items:center;width:100%;height:110px;padding:0 1.5rem;display:flex;position:relative}.fhc__body{padding:.9rem 1.4rem 1rem}.fhc__desc{color:#ffffff80;margin:0;font-family:Inter,sans-serif;font-size:.72rem;line-height:1.7}.fhc__tags{border-top:1px solid #ffffff0a;flex-wrap:wrap;gap:.3rem;margin-top:.75rem;padding-top:.6rem;display:flex}.fhc__tag{color:#fff6;text-transform:uppercase;letter-spacing:.05em;background:#ffffff0a;border-radius:3px;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:.54rem}.fhc__tag--more{color:#c9a55a;background:#c9a55a14}.pj-details-wrapper{color:#fffc;border-top:1px solid #ffffff0d;flex-direction:column;gap:2.2rem;padding-top:1.5rem;padding-bottom:.5rem;display:flex}.pj-section-title{font-family:var(--font-mono);color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem;font-size:.72rem}.pj-quote-block{border-left:2px solid var(--accent);color:#ffffffbf;background:#ffffff04;border-radius:0 4px 4px 0;padding:.8rem 1rem;font-size:.78rem;font-style:italic;line-height:1.7}.pj-bullet-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style-type:none;display:flex}.pj-bullet-list li{color:#ffffffb3;padding-left:1.25rem;font-size:.75rem;line-height:1.6;position:relative}.pj-bullet-list li:before{content:"▪";color:var(--accent);font-size:.65rem;position:absolute;top:0;left:0}.pj-highlight-lead{color:#fffffff2}.pj-code-inline{font-family:var(--font-mono);color:var(--accent);background:#ffffff0f;border-radius:3px;padding:2px 6px;font-size:.68rem}.pj-body-text{color:#fff9;font-size:.75rem;line-height:1.6}.pj-table-wrapper{border:1px solid #ffffff0d;border-radius:4px;overflow-x:auto}.pj-details-table{text-align:left;border-collapse:collapse;width:100%;font-size:.72rem}.pj-details-table th,.pj-details-table td{border-bottom:1px solid #ffffff0d;padding:.75rem 1rem}.pj-details-table th{color:#ffffff80;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;background:#ffffff05;font-size:.65rem;font-weight:500}.pj-details-table tr:last-child td{border-bottom:none}.pj-table-lead{color:#fffffff2;font-weight:600}.pj-table-code{font-family:var(--font-mono);color:var(--accent)}.pj-formulas-grid{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (min-width:768px){.pj-formulas-grid{grid-template-columns:1fr 1fr}}.pj-formula-card{background:#ffffff04;border:1px solid #ffffff0a;border-radius:6px;padding:1.25rem}.pj-formula-title{font-family:var(--font-mono);color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.6rem;font-size:.68rem}.pj-formula-display{text-align:center;font-family:var(--font-mono);color:#ffffffd9;background:#00000040;border:1px solid #ffffff05;border-radius:4px;margin:.6rem 0;padding:.6rem;font-size:.72rem}.pj-formula-desc{color:#ffffff80;font-size:.68rem;line-height:1.5}.pj-qa-list{flex-direction:column;display:flex}.pj-qa-item{border-bottom:1px solid #ffffff0a;padding:.8rem 0}.pj-qa-item:last-child{border-bottom:none}.pj-qa-button{text-align:left;color:#ffffffe6;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:.25rem 0;font-size:.78rem;font-weight:500;transition:color .2s;display:flex}.pj-qa-button:hover{color:var(--accent)}.pj-qa-toggle{font-family:var(--font-mono);color:var(--accent);margin-left:1rem;font-size:.7rem}.pj-qa-answer{color:#fff9;white-space:pre-line;border-left:1px solid #c9a55a40;margin-top:.6rem;padding-left:.75rem;font-size:.72rem;line-height:1.6}.pj-diagram-container{background:#ffffff03;border:1px solid #ffffff0a;border-radius:8px;margin:1.5rem 0;padding:1.25rem}.pj-diagram-title{font-family:var(--font-mono);color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.2rem;font-size:.68rem}.pj-diagram-actors{grid-template-columns:1fr;gap:.75rem;margin-bottom:1.5rem;display:grid}@media (min-width:768px){.pj-diagram-actors{grid-template-columns:repeat(4,1fr)}}.pj-actor-card{text-align:center;background:#ffffff05;border:1px solid #ffffff0a;border-radius:4px;padding:.6rem;transition:background-color .3s,border-color .3s}.pj-actor-active{border-color:var(--accent);background:#c9a55a14;box-shadow:0 0 12px #c9a55a14}.pj-actor-text{font-family:var(--font-mono);color:#fffffff2;font-size:.68rem}.pj-diagram-steps{flex-direction:column;gap:.5rem;display:flex}.pj-step-card{text-align:left;cursor:help;border:1px solid #0000;border-radius:4px;padding:.8rem;transition:all .3s cubic-bezier(.16,1,.3,1)}.pj-step-card-inactive{background:#ffffff03;border-color:#ffffff08}.pj-step-card-active{background:#ffffff0a;border-color:#c9a55a66;padding-left:1.25rem}.pj-step-header{justify-content:space-between;align-items:center;margin-bottom:.3rem;display:flex}.pj-step-title{font-family:var(--font-mono);color:var(--accent);font-size:.7rem;font-weight:500}.pj-step-badge{font-family:var(--font-mono);opacity:.5;background:#ffffff0d;border-radius:3px;padding:1px 6px;font-size:.58rem}.pj-step-desc{color:#ffffff8c;font-size:.68rem;line-height:1.5}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-reverse-slow{0%{transform:rotate(360deg)}to{transform:rotate(0)}}.animate-spin-slow{transform-origin:50%;animation:25s linear infinite spin-slow}.animate-spin-reverse-slow{transform-origin:50%;animation:15s linear infinite spin-reverse-slow}@media (max-width:900px){.project-gigantic{grid-template-columns:52px 1fr;gap:1.2rem;padding:2.5rem 0}}@media (max-width:768px){.floating-hover-card{display:none!important}}@media (max-width:640px){.project-gigantic{grid-template-columns:1fr;gap:.8rem;padding:2rem 0}.project-gigantic__counter{flex-direction:row;align-items:center;gap:4px;padding-top:0}.project-gigantic__title-stroke,.project-gigantic__title-fill{white-space:normal;word-break:break-word;font-size:clamp(1.8rem,9vw,2.8rem)}.project-gigantic__title-fill{color:var(--text-primary);display:block;position:relative;top:auto;left:auto;clip-path:none!important}.project-gigantic__title-stroke{display:none}.project-gigantic__header-row{flex-direction:row;justify-content:space-between;align-items:center;gap:1rem}.project-gigantic__actions{gap:.8rem}.project-gigantic__inline-logo{opacity:.7;width:32px;height:32px}.project-gigantic__expand-btn{width:32px;height:32px;font-size:1.3rem}}.project-section-subtitle{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.14em;align-items:center;gap:1rem;margin:3.5rem 0 0;padding:0 clamp(28px,8vw,120px);font-size:.72rem;font-weight:500;display:flex}.project-section-subtitle--mini{margin-top:5.5rem}.project-section-subtitle__rule{background:#c9a55a73;flex-shrink:0;width:28px;height:1px;display:block}.project-gigantic__badges{pointer-events:none;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.2rem;display:flex}.pj-badge{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:2px;align-items:center;gap:.4rem;padding:.3rem .7rem;font-size:.58rem;font-weight:500;line-height:1;transition:opacity .3s;display:inline-flex}.pj-badge--fav{color:var(--accent);background:#c9a55a0d;border:1px solid #c9a55a4d}.pj-badge__dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}.pj-badge--wip{color:#ffffff59;background:0 0;border:1px solid #ffffff1a;padding-left:1.4rem;position:relative}.pj-badge--wip:before{content:"";background:#dc6450bf;border-radius:50%;width:5px;height:5px;animation:2s ease-in-out infinite pj-badge-pulse;position:absolute;top:50%;left:.6rem;transform:translateY(-50%)}@keyframes pj-badge-pulse{0%,to{opacity:1;transform:translateY(-50%)scale(1)}50%{opacity:.3;transform:translateY(-50%)scale(.8)}}.pj-badge--live{cursor:pointer;text-decoration:none;pointer-events:auto!important;color:#34d399!important;background:#34d3990a!important;border:1px solid #34d39959!important;transition:all .3s cubic-bezier(.16,1,.3,1)!important}.pj-badge--live:hover{transform:translateY(-1px);color:#6ee7b7!important;background:#34d3991a!important;border-color:#34d399d9!important;box-shadow:0 0 15px #34d39940!important}.pj-badge__dot--pulse{background:#10b981;border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block;position:relative}.pj-badge__dot--pulse:after{content:"";border:1.5px solid #10b98180;border-radius:50%;animation:1.8s cubic-bezier(.16,1,.3,1) infinite pj-live-dot-pulse;position:absolute;inset:-3.5px}@keyframes pj-live-dot-pulse{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(2.4)}}.project-gigantic__links-panel{border-top:1px solid #ffffff0d;flex-wrap:wrap;gap:1rem;margin-top:2rem;padding-top:1.5rem;display:flex}.project-gigantic__link-btn{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;background:#ffffff03;border-radius:4px;align-items:center;gap:.6rem;padding:.6rem 1.2rem;font-size:.72rem;font-weight:500;text-decoration:none;transition:all .3s cubic-bezier(.16,1,.3,1);display:inline-flex}.project-gigantic__link-btn:hover{color:var(--text-primary);border-color:var(--border-light);background:#ffffff0a;transform:translateY(-1px)}.project-gigantic__link-btn--live{color:#34d399;background:#34d3990a;border-color:#34d39959}.project-gigantic__link-btn--live:hover{color:#6ee7b7;background:#34d39926;border-color:#34d399d9;box-shadow:0 0 18px #34d39933}.project-gigantic__link-icon{stroke-width:2.2px;width:13px;height:13px;transition:transform .3s cubic-bezier(.16,1,.3,1)}.project-gigantic__link-btn:hover .project-gigantic__link-icon{transform:translate(1px,-1px)}.project-gigantic__link-live-dot{background:#10b981;border-radius:50%;width:6px;height:6px;position:relative}.project-gigantic__link-live-dot:after{content:"";border:1.5px solid #10b98180;border-radius:50%;animation:1.8s cubic-bezier(.16,1,.3,1) infinite pj-live-dot-pulse;position:absolute;inset:-3.5px}.projects-mini{flex-direction:column;margin-top:0;padding:0 clamp(28px,8vw,120px);display:flex}.project-mini{border-bottom:1px solid var(--border);grid-template-columns:48px 1fr 40px;align-items:center;gap:clamp(1rem,2.5vw,2rem);padding:1.6rem 0;transition:background .25s;display:grid;position:relative}.project-mini:first-child{border-top:1px solid var(--border)}.project-mini:before{content:"";left:-clamp(28px,8vw,120px);background:var(--accent);opacity:0;width:2px;transition:opacity .3s;position:absolute;top:0;bottom:0}.project-mini:hover:before{opacity:.5}.project-mini__icon{opacity:.25;flex-shrink:0;justify-self:center;width:32px;height:32px;transition:opacity .3s}.project-mini:hover .project-mini__icon{opacity:.75}.project-mini__body{flex-direction:column;gap:.4rem;min-width:0;display:flex}.project-mini__header{flex-wrap:wrap;align-items:baseline;gap:1.5rem;display:flex}.project-mini__title{font-family:var(--font-heading);letter-spacing:-.02em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;font-size:clamp(1rem,1.8vw,1.35rem);font-weight:700;transition:color .3s}.project-mini:hover .project-mini__title{color:var(--text-primary)}.project-mini__tags{flex-wrap:wrap;gap:.3rem .75rem;display:flex}.project-mini__tag--more{color:var(--accent);border-color:#c9a55a33}.project-mini__desc{color:var(--text-muted);opacity:0;max-width:620px;font-size:.72rem;line-height:1.65;transition:opacity .3s}.project-mini:hover .project-mini__desc{opacity:1}.project-mini__counter{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.08em;text-align:right;opacity:.4;-webkit-user-select:none;user-select:none;justify-self:end;font-size:.62rem}@media (max-width:768px){.project-mini{grid-template-columns:36px 1fr}.project-mini__counter{display:none}.project-mini__desc{opacity:1}}@media (max-width:480px){.projects-mini{padding:0 1rem}.project-mini__header{flex-direction:column;gap:.5rem}.project-mini__title{font-size:1rem}}
.ex__bg{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.ex__ghost{font-family:var(--font-heading);letter-spacing:-.04em;color:var(--text-primary);opacity:.022;-webkit-user-select:none;user-select:none;white-space:nowrap;will-change:top;font-size:clamp(100px,18vw,240px);font-weight:700;line-height:1;position:absolute;top:15%;left:-.02em}.ex-company-header{flex-direction:column;gap:1.5rem;padding:3rem clamp(28px,8vw,120px) 2.5rem;display:flex}@media (min-width:900px){.ex-company-header{flex-direction:row;align-items:flex-start;gap:4rem}}.ex-company-header__left{flex:1;min-width:0}.ex-company-header__role{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.03em;margin-bottom:.5rem;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:700}.ex-company-header__meta{align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.ex-company-header__company{font-family:var(--font-mono);color:var(--accent);letter-spacing:.04em;font-size:.78rem}.ex-company-header__sep{color:var(--text-muted);font-size:.7rem}.ex-company-header__period{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.04em;font-size:.72rem}.ex-company-header__desc{color:var(--text-secondary);max-width:560px;font-size:.82rem;line-height:1.75}.ex-company-header__tags{flex-direction:column;flex-shrink:0;align-self:flex-start;gap:.5rem;padding-top:.5rem;display:flex}.ex-company-header__tag{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;border-left:1.5px solid #c9a55a59;padding-left:.75rem;font-size:.62rem;line-height:1.5}.ex-section-rule{background:var(--border);height:1px;margin:0 clamp(28px,8vw,120px)}.ex-clients-eyebrow{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.14em;align-items:center;gap:1rem;padding:2.5rem clamp(28px,8vw,120px) 0;font-size:.68rem;font-weight:500;display:flex}.ex-clients-eyebrow__rule{background:#c9a55a73;flex-shrink:0;width:28px;height:1px;display:block}.ex-clients{flex-direction:column;gap:0;padding:1.5rem clamp(28px,8vw,120px) 4rem;display:flex}@media (min-width:900px){.ex-clients{grid-template-columns:220px 1fr;gap:3rem;display:grid}}.ex-client-tabs{border-bottom:1px solid var(--border);scrollbar-width:none;flex-direction:row;gap:.5rem;padding-bottom:1rem;display:flex;overflow-x:auto}.ex-client-tabs::-webkit-scrollbar{display:none}@media (min-width:900px){.ex-client-tabs{border-bottom:none;border-right:1px solid var(--border);flex-direction:column;gap:0;padding-bottom:0;padding-right:0;overflow-x:visible}}.ex-client-tab{cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:4px;flex-direction:column;flex-shrink:0;align-items:flex-start;gap:.2rem;padding:.75rem 1rem;transition:background .2s;display:flex;position:relative}@media (min-width:900px){.ex-client-tab{white-space:normal;border-right:2px solid #0000;border-radius:0;flex-shrink:1;margin-right:-1px}}.ex-client-tab:hover{background:#ffffff08}.ex-client-tab--active{background:#c9a55a0a}@media (min-width:900px){.ex-client-tab--active{border-right-color:var(--accent);background:#c9a55a0a}}.ex-client-tab__name{font-family:var(--font-heading);letter-spacing:-.01em;text-transform:uppercase;color:var(--text-secondary);font-size:.85rem;font-weight:700;transition:color .2s}.ex-client-tab--active .ex-client-tab__name{color:var(--text-primary)}.ex-client-tab__domain{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.04em;opacity:.7;font-size:.58rem}.ex-client-panel{flex-direction:column;gap:1.5rem;padding-top:1rem;display:flex}.ex-client-panel__header{flex-direction:column;gap:.75rem;display:flex}.ex-client-panel__title-row{flex-wrap:wrap;align-items:baseline;gap:1rem;display:flex}.ex-client-panel__name{font-family:var(--font-heading);letter-spacing:-.03em;color:var(--text-primary);font-size:clamp(1.4rem,2.5vw,2rem);font-weight:700}.ex-client-panel__domain{font-family:var(--font-mono);color:var(--accent);letter-spacing:.06em;text-transform:uppercase;font-size:.65rem}.ex-client-panel__tags{flex-wrap:wrap;gap:.3rem .8rem;display:flex}.ex-contribs{border-top:1px solid var(--border);flex-direction:column;display:flex}.ex-contrib{border-bottom:1px solid var(--border)}.ex-contrib__row{cursor:pointer;text-align:left;background:0 0;border:none;grid-template-columns:2.5rem 1fr 2rem;align-items:center;gap:1rem;width:100%;padding:1.1rem 0;transition:background .2s;display:grid}.ex-contrib__row:hover{background:#ffffff04}.ex-contrib--open .ex-contrib__row{background:#c9a55a08}.ex-contrib__index{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.08em;opacity:.5;-webkit-user-select:none;user-select:none;font-size:.6rem}.ex-contrib__feature{font-family:var(--font-body);color:var(--text-secondary);font-size:.85rem;font-weight:500;transition:color .2s}.ex-contrib__row:hover .ex-contrib__feature,.ex-contrib--open .ex-contrib__feature{color:var(--text-primary)}.ex-contrib__toggle{font-family:var(--font-mono);color:var(--accent);-webkit-user-select:none;user-select:none;justify-self:end;font-size:1.1rem;line-height:1;transition:transform .3s}.ex-contrib__detail{max-height:0;transition:max-height .45s cubic-bezier(.16,1,.3,1);overflow:hidden}.ex-contrib__detail--open{max-height:600px}.ex-contrib__detail-inner{flex-direction:column;gap:0;padding:0 0 1.5rem 2.5rem;display:flex}@media (min-width:768px){.ex-contrib__detail-inner{grid-template-columns:1fr 1fr 1fr;gap:1.5rem;padding:0 0 1.5rem 3.5rem;display:grid}}.ex-contrib__col{border-top:1px solid #ffffff0a;padding:.75rem 0}@media (min-width:768px){.ex-contrib__col{border-top:none;border-left:1px solid #ffffff0f;padding:0 1.25rem}.ex-contrib__col:first-child{border-left:none;padding-left:0}}.ex-contrib__col-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);opacity:.6;margin-bottom:.4rem;font-size:.58rem;display:block}.ex-contrib__col--challenge .ex-contrib__col-label{color:#f0a050b3}.ex-contrib__col--impact .ex-contrib__col-label{color:#78c88cb3}.ex-contrib__col-text{color:#ffffffa6;margin:0;font-size:.75rem;line-height:1.7}
.ct{isolation:isolate;flex-direction:column;justify-content:space-between;min-height:100vh;padding:clamp(80px,12vh,140px) 0 clamp(48px,8vh,80px);display:flex;position:relative;overflow:hidden}.ct__bg{z-index:0;pointer-events:none;will-change:transform;position:absolute;inset:0}.ct__dot-grid{background-image:radial-gradient(circle,#ffffff0a 1px,#0000 1px);background-size:38px 38px;position:absolute;inset:0}.ct__ghost{font-family:var(--font-heading);letter-spacing:-.04em;color:var(--text-primary);opacity:.022;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:clamp(100px,18vw,240px);font-weight:700;line-height:1;position:absolute;top:50%;right:-.02em;transform:translateY(-50%)}.ct__upper{z-index:2;will-change:transform;grid-template-columns:1fr 1fr;align-items:end;gap:clamp(32px,6vw,80px);padding:0 clamp(28px,8vw,120px);display:grid;position:relative}.ct__upper-left{flex-direction:column;gap:20px;display:flex}.ct__eyebrow{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:12px;font-size:10.5px;line-height:1;display:flex}.ct__eyebrow-dash{background:var(--accent);flex-shrink:0;width:28px;height:1px;display:inline-block}.ct__headline{font-family:var(--font-heading);letter-spacing:-.03em;color:var(--text-primary);margin:0;font-size:clamp(3rem,6.5vw,6rem);font-weight:600;line-height:1.05}.ct__headline-dot{color:var(--accent)}.ct__headline-dim{color:var(--text-secondary)}.ct__upper-right{flex-direction:column;gap:14px;padding-bottom:6px;display:flex}.ct__label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);font-size:10.5px}.ct__email{align-items:center;gap:12px;width:fit-content;text-decoration:none;display:inline-flex;position:relative}.ct__email:after{content:"";background:var(--border);width:100%;height:1px;transition:background .4s;position:absolute;bottom:-8px;left:0}.ct__email:before{content:"";background:var(--accent);z-index:1;width:0%;height:1px;transition:width .55s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-8px;left:0}.ct__email:hover:before{width:100%}.ct__email:hover .ct__email-text{color:var(--text-primary)}.ct__email:hover .ct__email-arrow{color:var(--accent);transform:translate(5px,-5px)}.ct__email-text{font-family:var(--font-heading);color:var(--text-secondary);letter-spacing:-.01em;font-size:clamp(1.1rem,2.4vw,1.8rem);transition:color .3s}.ct__email-arrow{color:var(--text-muted);flex-shrink:0;transition:transform .4s cubic-bezier(.16,1,.3,1),color .3s;display:inline-flex}.ct__band{z-index:2;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:clamp(48px,8vh,80px) 0;padding:13px 0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.ct__band-track{white-space:nowrap;will-change:transform;align-items:center;gap:0;animation:22s linear infinite ct-band-scroll;display:flex}@keyframes ct-band-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.ct__band-word{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);opacity:.5;white-space:nowrap;padding:0 20px;font-size:11px}.ct__band-dot{color:var(--accent);opacity:.4;vertical-align:middle;padding:0 4px;font-size:16px;line-height:1}.ct__lower{z-index:3;will-change:transform;flex-direction:column;gap:0;padding:0 clamp(28px,8vw,120px);display:flex;position:relative}.ct__socials{border-top:1px solid var(--border);flex-direction:column;display:flex}.ct__social{border-bottom:1px solid var(--border);color:var(--text-muted);grid-template-columns:36px 120px 1fr auto;align-items:center;gap:16px;padding:16px 0;text-decoration:none;transition:color .25s;display:grid;position:relative;overflow:hidden}.ct__social:before{content:"";transform-origin:0;background:#c9a55a0a;transition:transform .5s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scaleX(0)}.ct__social:hover:before{transform:scaleX(1)}.ct__social:hover{color:var(--text-primary)}.ct__social:hover .ct__social-arrow{opacity:1;transform:translate(0)}.ct__social:hover .ct__social-handle{color:var(--accent)}.ct__social-idx{font-family:var(--font-mono);letter-spacing:.05em;opacity:.3;z-index:1;font-size:9px;position:relative}.ct__social-label{font-family:var(--font-heading);letter-spacing:-.01em;z-index:1;font-size:1rem;font-weight:500;position:relative}.ct__social-handle{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-muted);opacity:.5;z-index:1;font-size:11px;transition:color .3s;position:relative}.ct__social-arrow{opacity:0;z-index:1;font-size:16px;transition:opacity .28s,transform .4s cubic-bezier(.16,1,.3,1);position:relative;transform:translate(-6px,6px)}.ct__terminal{font-family:var(--font-mono);color:var(--text-muted);opacity:.45;letter-spacing:.02em;align-items:center;gap:0;margin-top:32px;font-size:11.5px;display:flex}.ct__terminal-prompt{color:var(--accent);opacity:.65}.ct__terminal-sep{opacity:.4;margin:0 1px}.ct__terminal-dir{color:#52c87ab3;margin-right:8px}.ct__terminal-cmd{opacity:.55}.ct__terminal-cursor{background:var(--text-muted);vertical-align:middle;opacity:.6;width:7px;height:13px;margin-left:2px;animation:1.2s step-end infinite ct-blink;display:inline-block}@keyframes ct-blink{0%,to{opacity:.6}50%{opacity:0}}@media (max-width:768px){.ct__upper{grid-template-columns:1fr;gap:40px}.ct__headline{font-size:clamp(2.6rem,11vw,3.4rem)}.ct__social{grid-template-columns:28px 1fr auto}.ct__social-handle{display:none}.ct__ghost{font-size:clamp(72px,24vw,140px)}}@media (prefers-reduced-motion:reduce){.ct__band-track{animation:none}}
