[data-theme=dark]{--color-bg:#111019;--color-bg-elevated:#14131d;--color-bg-subtle:#ffffff05;--color-surface:#14131d;--color-surface-hover:#ffffff0a;--color-text:#f5f5f0;--color-text-secondary:#b7b1b1;--color-text-muted:#7a7a7a;--color-text-inverse:#0a0a0a;--color-border:#ffffff12;--color-border-subtle:#ffffff0a;--color-border-strong:#ffffff1f;--color-primary:#2aadac;--color-primary-hover:#33c5c4;--color-primary-dim:#2aadac1f;--color-primary-glow:#2aadac40;--color-accent:#2aadac;--color-overlay:#000000eb;--color-overlay-mid:#1110194d;--color-overlay-light:#11101926;--color-nav-bg-raw:21, 20, 30;--color-modal-bg:#040404f7;--color-mobile-menu:#080808fa;--color-backdrop-btn:#15141ea6;--color-glass:#ffffff0a;--color-glass-border:#ffffff17;--color-ui-label:#ffffff73;--color-ui-num:#ffffffb3;--color-ui-dim:#ffffff26;--color-ui-dim-hover:#ffffff80;--shadow-sm:0 4px 16px #0000002e;--shadow-md:0 10px 40px #0003;--shadow-lg:0 32px 64px #00000080;--shadow-color:#0000008c;--gradient-primary:linear-gradient(100deg, var(--color-text) 20%, var(--color-primary) 45%, #7dd8d7 55%, var(--color-text) 80%);--gradient-img-overlay:linear-gradient(to top, var(--color-overlay) 0%, var(--color-overlay-mid) 50%, var(--color-overlay-light) 100%);--gradient-accent-bg:radial-gradient(ellipse 60% 80% at 50% 50%, #2aadac0f 0%, transparent 70%)}[data-theme=light]{--color-bg:#f4f3ef;--color-bg-elevated:#ebe9e4;--color-bg-subtle:#00000006;--color-surface:#ebe9e4;--color-surface-hover:#0000000a;--color-text:#18171f;--color-text-secondary:#4a4a55;--color-text-muted:#74737f;--color-text-inverse:#f5f5f0;--color-border:#00000017;--color-border-subtle:#0000000d;--color-border-strong:#00000026;--color-primary:#1f9897;--color-primary-hover:#2aadac;--color-primary-dim:#1f98971a;--color-primary-glow:#1f989733;--color-accent:#1f9897;--color-overlay:#000000b8;--color-overlay-mid:#0003;--color-overlay-light:#00000014;--color-nav-bg-raw:244, 243, 239;--color-modal-bg:#f0efebfa;--color-mobile-menu:#f4f3eff7;--color-backdrop-btn:#f4f3efd9;--color-glass:#00000008;--color-glass-border:#00000012;--color-ui-label:#00000061;--color-ui-num:#0000008c;--color-ui-dim:#0000001f;--color-ui-dim-hover:#00000059;--shadow-sm:0 4px 16px #0000000f;--shadow-md:0 10px 40px #00000014;--shadow-lg:0 32px 64px #0000001f;--shadow-color:#0000001f;--gradient-primary:linear-gradient(100deg, var(--color-text) 20%, var(--color-primary) 45%, #1f9897 55%, var(--color-text) 80%);--gradient-img-overlay:linear-gradient(to top, var(--color-overlay) 0%, var(--color-overlay-mid) 50%, var(--color-overlay-light) 100%);--gradient-accent-bg:radial-gradient(ellipse 60% 80% at 50% 50%, #1f98970d 0%, transparent 70%)}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#111019;--bg2:#14131d;--surface:#141414;--border:#ffffff12;--border2:#ffffff1f;--white:#f5f5f0;--muted:#7a7a7a;--muted2:#b7b1b1;--accent:#2aadac;--accent-dim:#2aadac1f;--accent-glow:#2aadac40;--nav-bg:21, 20, 30;--border-radius:10px;--titlefont:"Jaro", sans-serif;--primaryfont:"Sofia Sans", sans-serif;--secondaryfont:"Inter Tight", sans-serif;--ease:cubic-bezier(.16, 1, .3, 1)}html{scroll-behavior:smooth;overflow-x:clip}body{background:var(--bg);color:var(--white);font-family:var(--secondaryfont);cursor:none;font-size:14px;line-height:1.6;overflow-x:clip}::selection{background:var(--accent);color:#000}a{color:inherit}.p-0{padding:0!important}.py-0{padding-block:0!important}.px-0{padding-inline:0!important}.text-uppercase{text-transform:uppercase}#cursor{z-index:99999;pointer-events:none;mix-blend-mode:difference;position:fixed;top:0;left:0}.c-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;transition:transform .1s;position:absolute;top:-4px;left:-4px}.c-ring{width:40px;height:40px;transition:width .3s var(--ease), height .3s var(--ease), top .3s var(--ease), left .3s var(--ease), opacity .3s ease;border:1px solid #fff9;border-radius:50%;position:absolute;top:-20px;left:-20px}body.hovering .c-ring{border-color:var(--accent)}body.hovering .c-dot{background-color:var(--accent);width:15px;height:15px;transform:scale(2)}@media (hover:none){#cursor{display:none}body{cursor:auto}}html.lenis{height:auto}.lenis.lenis-smooth{scroll-behavior:auto}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}#loader{z-index:9000;background:var(--bg);transition:opacity .8s var(--ease), transform .8s var(--ease);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#loader.done{opacity:0;pointer-events:none;transform:translateY(-16px)}.ld-logo{opacity:.9;width:72px;height:auto;margin-bottom:48px}.ld-bar-wrap{background:var(--border);width:200px;height:1px;margin-bottom:18px;overflow:hidden}.ld-bar{background:var(--accent);width:0;height:100%;transition:width 2.2s var(--ease)}.ld-num{letter-spacing:.25em;color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:500}nav{z-index:800;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:10px 48px;transition:background .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s,padding .4s,border-color .4s;display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{justify-content:center;align-items:center;width:65px;height:65px;padding:5px 8px;display:flex}nav.scrolled .nav-logo{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--border);background:#15141ea6;border-radius:12px}.nav-logo img{width:auto;height:44px}nav.scrolled .nav-links{background:rgba(var(--nav-bg), .65);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--border);border-radius:50px}.nav-right{align-items:center;gap:1rem;display:flex}.nav-links{align-items:center;gap:36px;padding:24px 48px;display:flex}.nav-links a{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:500;text-decoration:none;transition:color .3s;position:relative}.nav-links a:hover{color:var(--white)}.link-anim{white-space:nowrap;transition:background-color .3s;overflow:hidden}.link-anim:before{content:attr(data-text);-webkit-transition:-webkit-transform .3s,opacity .3s;transition:transform .3s,opacity .3s;align-items:center;width:100%;height:100%;transition-timing-function:cubic-bezier(.75,0,.125,1);display:flex;position:absolute;top:0;left:0}.link-anim:hover:before{opacity:0;transform:translateY(100%)}.link-anim>span{opacity:0;min-width:.4em;color:var(--primary);-webkit-transition:-webkit-transform .3s,opacity .3s;transition:transform .3s,opacity .3s;transition-timing-function:cubic-bezier(.75,0,.125,1);display:inline-block;transform:translateY(-10px)}.link-anim:hover>span{opacity:1;transform:translate(0,0)}.nav-theme{cursor:pointer;color:var(--muted2);background:0 0;border:none;border-radius:1rem;justify-content:center;align-items:center;width:65px;height:65px;padding:1rem;display:flex}.nav-theme:hover{color:var(--white)}nav.scrolled .nav-theme{border:1px solid var(--border);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#15141ea6}.nav-burger{cursor:pointer;border:none;border:1px solid var(--border);background:#15141ea6;border-radius:1rem;flex-direction:column;gap:5px;width:54px;height:54px;padding:1rem;display:none}.nav-burger span{background:var(--white);border-radius:50px;width:22px;height:2px;transition:transform .3s,opacity .3s;display:block}.nav-burger:not(.open) span:first-child{opacity:1;width:22px}.nav-burger:not(.open) span:nth-child(2){opacity:.6;width:16px}.nav-burger:not(.open) span:nth-child(3){opacity:.4;width:12px}.nav-burger.open span:first-child{transform:translateY(6.5px)rotate(45deg)}.nav-burger.open span:nth-child(2){opacity:0}.nav-burger.open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.mobile-menu{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);z-index:790;opacity:0;pointer-events:none;transition:opacity .4s var(--ease);background:#080808fa;flex-direction:column;justify-content:center;align-items:center;gap:40px;display:flex;position:fixed;inset:0}.mobile-menu.open{opacity:1;pointer-events:all}.mobile-menu a{font-family:var(--primaryfont);text-transform:uppercase;letter-spacing:-.02em;color:var(--muted);font-size:clamp(28px,8vw,52px);font-weight:800;text-decoration:none;transition:color .3s}.mobile-menu a:hover{color:var(--accent)}#hero{flex-direction:column;justify-content:flex-end;min-height:100dvh;padding:0 48px 48px;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;background:radial-gradient(80% 60% at 60% 40%,#2aadac0d 0%,#0000 60%),radial-gradient(40% 40% at 15% 80%,#2aadac08 0%,#0000 60%);position:absolute;inset:0}.hero-grid{background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);opacity:.3;background-size:80px 80px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 70%,#000 40%,#0000 100%);mask-image:radial-gradient(70% 70%,#000 40%,#0000 100%)}.hero-aside{flex-direction:column;align-items:center;gap:16px;display:flex;position:absolute;top:110px;right:48px}.hero-aside-line{background:var(--border);width:1px;height:56px}.hero-aside-text{letter-spacing:.3em;color:var(--muted);text-transform:uppercase;writing-mode:vertical-rl;font-size:9px}.scroll-hint{z-index:2;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;bottom:64px;right:48px}.scroll-hint span{letter-spacing:.28em;color:var(--muted);text-transform:uppercase;writing-mode:vertical-rl;font-size:9px}.scroll-line{background:linear-gradient(to bottom, var(--accent), transparent);width:1px;height:72px;animation:2.2s ease-in-out infinite spulse}@keyframes spulse{0%,to{opacity:.35}50%{opacity:1}}.hero-eyebrow{letter-spacing:.35em;text-transform:uppercase;color:var(--accent);opacity:0;animation:fadeUp .8s var(--ease) 2.8s forwards;margin-bottom:18px;font-size:11px;font-weight:600;transform:translateY(20px)}.hero-title{font-family:var(--primaryfont);letter-spacing:-.03em;text-transform:uppercase;z-index:2;opacity:0;animation:fadeUp 1s var(--ease) 3s forwards;font-size:clamp(64px,12vw,168px);font-weight:900;line-height:.87;position:relative;transform:translateY(40px)}.hero-title .ht{color:var(--accent)}.hero-title .hl{color:var(--muted);font-style:italic;font-weight:200}.hero-sub{z-index:2;opacity:0;animation:fadeUp .8s var(--ease) 3.3s forwards;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:28px;margin-top:36px;display:flex;position:relative;transform:translateY(20px)}.hero-desc{color:var(--muted);max-width:360px;font-size:14px;line-height:1.8}.hero-stats{flex-wrap:wrap;flex-shrink:0;gap:36px;display:flex}.st-val{font-family:var(--primaryfont);color:var(--white);font-size:38px;font-weight:800;line-height:1;display:block}.st-label{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:5px;font-size:9px;display:block}.avail-pill{letter-spacing:.15em;text-transform:uppercase;color:var(--accent);border:1px solid #2aadac59;border-radius:100px;align-items:center;gap:8px;width:fit-content;margin-top:18px;padding:7px 14px;font-size:10px;font-weight:600;display:inline-flex}.avail-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2s infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
.ticker-wrap{z-index:10;background:#15141e;padding:20px 0;position:relative;overflow:hidden;transform:rotate(-1.5deg)translateY(-10px)}.ticker-track{white-space:nowrap;width:max-content;animation:32s linear infinite ticker;display:flex}.ticker-item{font-family:var(--primaryfont);letter-spacing:.22em;text-transform:uppercase;color:var(--white);white-space:nowrap;flex-shrink:0;align-items:center;gap:10px;padding:0 40px;font-size:13px;font-weight:700;display:flex}.ticker-sep{color:var(--accent)}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.sec-label{letter-spacing:.35em;text-transform:uppercase;color:var(--muted);align-items:center;gap:12px;margin-bottom:52px;font-size:10px;display:flex}.sec-num{color:var(--accent);letter-spacing:.2em;border:1px solid #2aadac4d;border-radius:2px;padding:3px 8px;font-size:9px}.sec-title{font-family:var(--primaryfont);letter-spacing:-.03em;text-transform:uppercase;font-size:clamp(44px,7vw,96px);font-weight:900;line-height:.9}.sec-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:52px;padding:0 48px;display:flex}.sec-link{letter-spacing:.15em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);flex-shrink:0;padding-bottom:4px;font-size:11px;font-weight:500;text-decoration:none;transition:color .3s,border-color .3s}.sec-link:hover{color:var(--white);border-color:var(--white)}#intro{padding:140px 48px;position:relative}.intro-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:40px;display:grid}.intro-left,.intro-right{min-width:0}.intro-left{grid-column:span 7}.intro-right{grid-column:span 5}.intro-text{font-family:var(--primaryfont);letter-spacing:.01em;max-width:820px;font-size:clamp(26px,4vw,44px);font-weight:600;line-height:1.4}.intro-text .it{color:var(--muted);font-style:italic;font-weight:300}.intro-text .ul{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:6px;text-decoration-thickness:2px}.intro-aside{max-width:260px}.intro-aside p{color:var(--muted);font-size:13px;line-height:1.9}.intro-aside-wrap{position:absolute;top:50%;right:48px;transform:translateY(-50%)}.about-grid{mix-blend-mode:luminosity;filter:grayscale();grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(5,1fr);gap:16px;height:580px;transition:all .3s ease-in-out;display:grid}.about-grid:hover{filter:grayscale(0%);mix-blend-mode:normal}.about-grid:hover .about-item:hover img{transform:scale(1.1)}.about-item{background:var(--bg);border:1px solid var(--border);border-radius:10px;justify-content:center;align-items:center;display:flex;overflow:hidden}.about-item img{object-fit:cover;object-position:center;width:100%;height:100%;transition:all .3s ease-in-out}.about-item video{object-fit:contain;width:auto;height:100%}.item-1{background-color:#222503;grid-area:1/1;padding:1.375rem}.item-1 img{object-fit:contain}.item-2{background-color:#00264f;grid-area:1/2;padding:1rem}.item-2 img{object-fit:contain}.item-3{background-color:#1b1231;grid-area:1/3;padding:1.375rem}.item-3 img{object-fit:contain}.item-4{grid-area:1/4/3/6}.item-5{grid-area:2/1/4/4}.item-6{background:#1e2020;grid-area:3/4/4/6}.item-6 video{object-fit:cover;width:100%;height:100%}.item-8{grid-area:4/1/6/3}.item-7{text-align:center;color:var(--white);cursor:pointer;white-space:normal;flex-direction:column;grid-area:4/3/6;justify-content:center;align-items:center;gap:1rem;padding:1rem;font-size:12px;font-weight:600;text-decoration:none;transition:all .3s ease-in-out;display:flex}.item-7:hover{color:var(--accent);background-color:#0acf8333;line-height:2}.item-7 svg{animation:2s ease-in-out infinite pushupdown}@keyframes pushupdown{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.item-9{grid-area:4/4/6/6}.logos-wrap{width:50%;padding-top:30px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 5% 95%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 5% 95%,#0000 100%)}.logos-label{letter-spacing:.25em;color:var(--muted);text-transform:uppercase;margin-bottom:24px;font-size:10px}.logos-track{align-items:center;gap:32px;width:max-content;animation:28s linear infinite logoscroll;display:flex}.logo-name{font-family:var(--primaryfont);letter-spacing:.08em;text-transform:uppercase;color:#ffffff26;flex-shrink:0;font-size:13px;font-weight:700;transition:color .3s}.logo-name:hover{color:#ffffff80}.logo-dot{color:var(--accent)}@keyframes logoscroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (max-width:1024px){.intro-grid{grid-template-columns:1fr;gap:20px}.intro-left,.intro-right{grid-column:1/-1}}@media (max-width:768px){.intro-right{display:none}}@media (max-width:565px){.logos-wrap{width:100%}}#work{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:72px 0 140px}#playground{padding:72px 0 140px}.play-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px;padding:0 48px;display:grid}.play-item{aspect-ratio:4/3;cursor:none;appearance:none;text-align:left;border:none;border-radius:1rem;outline:none;position:relative;overflow:hidden}.play-img-wrap{width:100%;height:100%}.play-real-img{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease);filter:grayscale();position:absolute;inset:0}.play-item:hover .play-real-img{filter:grayscale(0);transform:scale(1.08)}.play-overlay{background:linear-gradient(#00000026 0%,#0000004d 50%,#000000eb 100%);transition:opacity .4s;position:absolute;inset:0}.play-item:hover .play-overlay{opacity:.8}.play-num{letter-spacing:.25em;color:#fff6;text-transform:uppercase;font-size:10px;font-weight:600;position:absolute;top:20px;left:20px}.play-arrow{opacity:0;width:36px;height:36px;transition:opacity .3s var(--ease), transform .3s var(--ease), border-color .3s, background .3s;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;top:20px;right:20px;transform:translateY(-8px)rotate(-45deg)}.play-item:hover .play-arrow{opacity:1;border-color:var(--accent);background:var(--accent);color:#000;transform:translateY(0)rotate(0)}.play-info{transition:transform .5s var(--ease);padding:24px;position:absolute;bottom:0;left:0;right:0}.play-item:hover .play-info{transform:translateY(0)}.play-tag-label{letter-spacing:.25em;text-transform:uppercase;color:#ffffff73;margin-bottom:8px;font-size:9px}.play-title{font-family:var(--primaryfont);color:var(--white);font-size:clamp(16px,2vw,22px);font-weight:700;line-height:1.2}.play-sub{color:#fff6;margin-top:10px;font-size:11px}#services{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg2);padding:72px 0;overflow:hidden}.h-label{letter-spacing:.35em;text-transform:uppercase;color:var(--muted);margin-bottom:32px;padding:0 48px;font-size:10px}.h-track{gap:18px;width:max-content;padding:0 48px;animation:38s linear infinite hscroll;display:flex}.h-track:hover{animation-play-state:paused}.h-card{border:1px solid var(--border);border-radius:10px;flex-shrink:0;width:290px;padding:28px;transition:border-color .3s,background .3s;position:relative;overflow:hidden}.h-card:hover{background:#2aadac08;border-color:#2aadac4d}.h-num{letter-spacing:.2em;color:var(--accent);margin-bottom:14px;font-size:10px}.h-title{font-family:var(--primaryfont);margin-bottom:10px;font-size:18px;font-weight:700;line-height:1.25}.h-desc{color:var(--muted);letter-spacing:.03rem;margin-bottom:0;font-size:14px;line-height:1.5}.h-glow{filter:blur(40px);opacity:0;background:#2aadac1f;border-radius:50%;width:100px;height:100px;transition:opacity .4s;position:absolute;bottom:-40px;right:-40px}.h-card:hover .h-glow{opacity:1}@keyframes hscroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.about-img-wrap{aspect-ratio:3/4;border-radius:4px;width:100%;margin-bottom:24px;position:relative;overflow:hidden}.about-img-inner{background:linear-gradient(160deg,#0d1a1a 0%,#0f2d2d 40%,#0d1a1a 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.about-big-txt{font-family:var(--primaryfont);color:#2aadac0f;letter-spacing:-.05em;text-transform:uppercase;-webkit-user-select:none;user-select:none;font-size:200px;font-weight:900;line-height:1;position:absolute}.about-icon-img{z-index:1;opacity:.5;width:80px;height:auto;position:relative}.about-badge-box{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);background:#080808eb;border-radius:4px;padding:14px 18px;position:absolute;bottom:20px;left:20px}.ab-val{font-family:var(--primaryfont);color:var(--accent);font-size:30px;font-weight:800;line-height:1}.ab-label{letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-size:10px}.about-heading{font-family:var(--primaryfont);letter-spacing:-.03em;text-transform:uppercase;margin-bottom:32px;font-size:clamp(36px,5vw,64px);font-weight:900;line-height:.95}.about-body{color:var(--muted);margin-bottom:18px;font-size:14px;line-height:1.9}.about-body a{color:var(--white);text-underline-offset:3px;text-decoration:underline}.skills-grid{grid-template-columns:1fr 1fr;gap:2px;margin-top:44px;display:grid}.skill-item{border:1px solid var(--border);padding:16px;transition:border-color .3s}.skill-item:hover{border-color:#2aadac4d}.skill-name{letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:600}.skill-level{background:var(--border);border-radius:1px;height:2px;margin-top:10px;overflow:hidden}.skill-fill{background:var(--accent);width:0;height:100%;transition:width 1.5s var(--ease);border-radius:1px}#cta{text-align:center;border-top:1px solid var(--border);padding:48px;position:relative;overflow:hidden}.cta-bg{background:radial-gradient(60% 80%,#2aadac0f 0%,#0000 70%);position:absolute;inset:0}.cta-sublabel{letter-spacing:.35em;color:var(--accent);text-transform:uppercase;margin-bottom:24px;font-size:10px;font-weight:600}.cta-title{font-family:var(--primaryfont);letter-spacing:-.03em;text-transform:uppercase;z-index:2;flex-direction:column;align-items:center;margin-bottom:40px;font-size:clamp(48px,9vw,120px);font-weight:900;line-height:.9;display:flex;position:relative}.cta-title .cl{color:var(--muted);padding-inline:10px;font-style:italic;font-weight:200}.cta-title .cl.r-gradient-text{color:#0000}.cta-btns{z-index:2;flex-wrap:wrap;justify-content:center;gap:14px;display:flex;position:relative}.btn-p{letter-spacing:.2em;text-transform:uppercase;background:var(--accent);color:#000;cursor:none;transition:transform .3s var(--ease), box-shadow .3s;border:none;border-radius:2px;align-items:center;gap:10px;padding:16px 36px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.btn-p:hover{transform:translateY(-2px);box-shadow:0 20px 60px #2aadac4d}.btn-s{letter-spacing:.2em;text-transform:uppercase;color:var(--white);border:1px solid var(--border);cursor:none;background:0 0;border-radius:2px;align-items:center;gap:10px;padding:16px 36px;font-size:11px;font-weight:600;text-decoration:none;transition:border-color .3s,background .3s;display:inline-flex}.btn-s:hover{border-color:var(--accent);background:#2aadac0f}footer{border-top:1px solid var(--border);grid-template-columns:1fr auto 1fr;align-items:end;gap:28px;padding:48px 48px 36px;display:grid}footer img{width:auto;height:26px}.footer-copy{color:var(--muted);text-align:center;letter-spacing:.08em;font-size:10px}.footer-links{flex-wrap:wrap;justify-content:flex-end;gap:24px;display:flex}.footer-links a{letter-spacing:.15em;text-transform:uppercase;color:var(--muted);font-size:10px;text-decoration:none;transition:color .3s}.footer-links a:hover{color:var(--accent)}@media (max-width:768px){footer img{height:42px;margin:auto}}
.reveal{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transform:translateY(32px)}.reveal.visible{opacity:1;transform:translateY(0)}.rd1{transition-delay:80ms}.rd2{transition-delay:.16s}.rd3{transition-delay:.24s}.rd4{transition-delay:.32s}.orb{filter:blur(100px);pointer-events:none;z-index:-1;border-radius:50%;animation:24s ease-in-out infinite orbF;position:fixed}.orb1{background:#2aadac0d;width:500px;height:500px;top:-150px;right:-150px}.orb2{background:#2aadac08;width:380px;height:380px;animation-delay:-12s;bottom:15%;left:-150px}@keyframes orbF{0%,to{transform:translate(0)}33%{transform:translate(30px,-50px)}66%{transform:translate(-25px,35px)}}.modal-overlay{z-index:2000;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);overscroll-behavior:contain;opacity:0;pointer-events:none;transition:opacity .5s var(--ease);background:#040404f7;position:fixed;inset:0;overflow-y:auto}.modal-overlay.open{opacity:1;pointer-events:all}.modal-close{z-index:2100;border:1px solid var(--border);color:var(--white);cursor:none;background:#ffffff12;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:16px;transition:background .3s,color .3s,border-color .3s;display:flex;position:fixed;top:24px;right:28px}.modal-close:hover{background:var(--accent);color:#000;border-color:var(--accent)}.modal-inner{max-width:860px;margin:0 auto;padding:96px 48px 80px}.cs-hero{border-bottom:1px solid var(--border);margin-bottom:48px;padding-bottom:48px}.cs-eyebrow{letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;font-size:10px;font-weight:600}.cs-title{font-family:var(--primaryfont);letter-spacing:-.03em;text-transform:uppercase;margin-bottom:20px;font-size:clamp(36px,6vw,80px);font-weight:900;line-height:.9}.cs-desc{color:var(--muted2);max-width:620px;font-size:15px;line-height:1.85}.cs-meta{border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px;padding-top:36px;display:grid}.cs-meta-label{letter-spacing:.25em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:9px}.cs-meta-val{font-size:13px;font-weight:600;line-height:1.4}.cs-meta-small{color:var(--muted2);font-size:11px;font-weight:400}.cs-img-full{border:1px solid var(--border);border-radius:6px;width:100%;margin:40px 0;overflow:hidden}.cs-img-full img{object-fit:cover;width:100%;height:440px;display:block}.cs-2col{grid-template-columns:1fr 1fr;gap:40px;margin-bottom:48px;display:grid}.cs-section{margin-bottom:48px}.cs-section-label{letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;font-size:9px;font-weight:600}.cs-section-title{font-family:var(--primaryfont);letter-spacing:-.01em;margin-bottom:16px;font-size:clamp(22px,3vw,32px);font-weight:700;line-height:1.1}.cs-body{color:var(--muted2);font-size:14px;line-height:1.95}.cs-process{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px;display:grid}.cs-step{border:1px solid var(--border);background:#2aadac05;border-radius:4px;padding:20px;transition:border-color .3s}.cs-step:hover{border-color:#2aadac40}.cs-step-num{font-family:var(--primaryfont);color:#2aadac33;margin-bottom:8px;font-size:32px;font-weight:800;line-height:1}.cs-step-name{letter-spacing:.12em;text-transform:uppercase;color:var(--white);font-size:11px;font-weight:700}.cs-step-desc{color:var(--muted);margin-top:8px;font-size:12px;line-height:1.75}.cs-outcomes{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px;display:grid}.cs-stat-box{border:1px solid var(--border);background:var(--accent-dim);border-radius:4px;padding:24px}.cs-stat-val{font-family:var(--primaryfont);color:var(--accent);font-size:38px;font-weight:800;line-height:1}.cs-stat-label{color:var(--muted2);margin-top:8px;font-size:12px;line-height:1.5}.cs-list{margin-top:16px;list-style:none}.cs-list li{color:var(--muted2);border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:10px 0;font-size:13px;line-height:1.8;display:flex}.cs-list li:before{content:"→";color:var(--accent);flex-shrink:0;margin-top:1px}.cs-footer-btns{border-top:1px solid var(--border);flex-wrap:wrap;gap:12px;margin-top:40px;padding-top:40px;display:flex}.cs-btn{letter-spacing:.2em;text-transform:uppercase;transition:transform .3s var(--ease), box-shadow .3s, background .3s, color .3s;cursor:none;border:none;border-radius:2px;align-items:center;gap:8px;padding:14px 28px;font-size:10px;font-weight:700;text-decoration:none;display:inline-flex}.cs-btn-primary{background:var(--accent);color:#000}.cs-btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px #2aadac4d}.cs-btn-secondary{border:1px solid var(--border);color:var(--white);background:0 0}.cs-btn-secondary:hover{border-color:var(--accent);background:#2aadac0f}.cs-btn-ghost{border:1px solid var(--border);color:var(--muted);opacity:.6;cursor:default;background:0 0}.pg-tech-tag{letter-spacing:.15em;text-transform:uppercase;background:var(--accent-dim);color:var(--accent);border:1px solid #2aadac4d;border-radius:100px;padding:5px 12px;font-size:10px}
@media (max-width:1024px){#intro .intro-aside-wrap{display:none}.cs-2col{grid-template-columns:1fr;gap:28px}.cs-process,.cs-outcomes,.cs-meta{grid-template-columns:1fr 1fr}}@media (max-width:990px){.play-grid,.bento-grid{grid-template-columns:1fr 1fr;padding:0 20px}}@media (max-width:768px){body{cursor:auto}#cursor{display:none}nav{padding:16px 20px}nav.scrolled{padding:14px 20px}.nav-links{display:none}.nav-burger{justify-content:center;align-items:center;display:flex}#hero{padding:0 20px 52px}.hero-aside,.scroll-hint{display:none}.hero-title{font-size:clamp(52px,14vw,90px)}.hero-sub{flex-direction:column;align-items:flex-start;gap:24px}.hero-stats{gap:20px}.st-val{font-size:30px}#intro{padding:72px 20px}.logos-wrap{overflow:hidden}.sec-header,.projects-list{padding:0 20px}.project-inner{direction:ltr!important;grid-template-columns:1fr!important}.project-info{padding:36px 0 24px;direction:ltr!important}.proj-img-wrap{height:240px;margin:0 0 4px}#services{display:none}#about{padding:72px 20px}.skills-grid{grid-template-columns:1fr}#cta{padding:72px 20px}.cta-btns{flex-direction:column;align-items:stretch}.btn-p,.btn-s{cursor:pointer;justify-content:center}footer{text-align:center;grid-template-columns:1fr;gap:16px;padding:36px 20px 28px}.footer-links{justify-content:center}.modal-inner{padding:76px 20px 60px}.cs-meta,.cs-process{grid-template-columns:1fr 1fr}.cs-outcomes{grid-template-columns:1fr}.cs-img-full img{height:260px}.cs-title{font-size:clamp(28px,8vw,52px)}.cs-footer-btns{flex-direction:column}.cs-btn{cursor:pointer;justify-content:center}.modal-close,.proj-view-btn,.play-item,.project-item{cursor:pointer}.play-grid{grid-template-columns:1fr}}@media (max-width:480px){.hero-stats{flex-flow:wrap;gap:16px}.cs-process,.cs-meta{grid-template-columns:1fr}}
#hero{flex-direction:column;justify-content:flex-end;min-height:100dvh;padding:0 48px 64px;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;background:radial-gradient(70% 60% at 65% 35%,#2aadac12 0%,#0000 55%),radial-gradient(50% 50% at 20% 70%,#2aadac0a 0%,#0000 60%),radial-gradient(40% 40% at 85% 80%,#2aadac08 0%,#0000 50%);animation:8s ease-in-out infinite alternate heroBgPulse;position:absolute;inset:0}@keyframes heroBgPulse{0%{opacity:.6}to{opacity:1}}.hero-grid{background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);opacity:.3;background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(75% 75%,#000 30%,#0000 100%);mask-image:radial-gradient(75% 75%,#000 30%,#0000 100%)}.hero-tools-canvas{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.tool-pill{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-family:var(--secondaryfont);letter-spacing:.1em;color:#ffffff8c;white-space:nowrap;will-change:transform;pointer-events:none;-webkit-user-select:none;user-select:none;background:#ffffff0a;border:1px solid #ffffff17;border-radius:100px;align-items:center;gap:8px;padding:8px 16px;font-size:11px;font-weight:500;transition:border-color .4s,color .4s;display:flex;position:absolute}.tool-pill .tool-icon{border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;line-height:1;display:flex}.tool-pill.teal{color:var(--accent);background:#2aadac12;border-color:#2aadac4d}@keyframes floatA{0%{transform:translate(0)rotate(-1deg)}25%{transform:translate(12px,-18px)rotate(1deg)}50%{transform:translate(-8px,-28px)rotate(-2deg)}75%{transform:translate(16px,-12px)rotate(2deg)}to{transform:translate(0)rotate(-1deg)}}@keyframes floatB{0%{transform:translate(0)rotate(2deg)}30%{transform:translate(-14px,-22px)rotate(-1deg)}60%{transform:translate(10px,-16px)rotate(3deg)}to{transform:translate(0)rotate(2deg)}}@keyframes floatC{0%{transform:translate(0)rotate(-2deg)}35%{transform:translate(18px,-14px)rotate(1deg)}70%{transform:translate(-6px,-24px)rotate(-3deg)}to{transform:translate(0)rotate(-2deg)}}@keyframes floatD{0%{transform:translate(0)rotate(1deg)}40%{transform:translate(-10px,-20px)rotate(-2deg)}80%{transform:translate(14px,-10px)rotate(2deg)}to{transform:translate(0)rotate(1deg)}}@keyframes floatE{0%{transform:translate(0)rotate(-1deg)}20%{transform:translate(8px,-16px)rotate(2deg)}55%{transform:translate(-12px,-26px)rotate(-1deg)}80%{transform:translate(6px,-8px)rotate(3deg)}to{transform:translate(0)rotate(-1deg)}}@keyframes floatF{0%{transform:translate(0)rotate(2deg)}45%{transform:translate(20px,-18px)rotate(-2deg)}75%{transform:translate(-8px,-12px)rotate(1deg)}to{transform:translate(0)rotate(2deg)}}@keyframes floatG{0%{transform:translate(0)rotate(-2deg)}30%{transform:translate(-16px,-14px)rotate(2deg)}65%{transform:translate(12px,-22px)rotate(-1deg)}to{transform:translate(0)rotate(-2deg)}}@keyframes floatH{0%{transform:translate(0)rotate(1deg)}50%{transform:translate(-18px,-18px)rotate(-2deg)}to{transform:translate(0)rotate(1deg)}}@keyframes floatI{0%{transform:translate(0)rotate(-1deg)}33%{transform:translate(14px,-24px)rotate(2deg)}66%{transform:translate(-10px,-14px)rotate(-2deg)}to{transform:translate(0)rotate(-1deg)}}@keyframes floatJ{0%{transform:translate(0)rotate(2deg)}40%{transform:translate(-12px,-20px)rotate(-1deg)}70%{transform:translate(16px,-10px)rotate(3deg)}to{transform:translate(0)rotate(2deg)}}.hero-orbit-ring{pointer-events:none;border:1px solid #2aadac0f;border-radius:50%;animation:40s linear infinite orbitSpin;position:absolute}@keyframes orbitSpin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.hero-orbit-ring-2{animation-duration:60s;animation-direction:reverse}.hero-name-block{z-index:2;flex-direction:column;justify-content:center;align-items:flex-start;display:flex;position:relative}.hero-eyebrow{letter-spacing:.35em;text-transform:uppercase;color:var(--accent);opacity:0;animation:fadeUp .2s var(--ease) 2.8s forwards;justify-content:center;align-items:center;gap:12px;margin-block:20px;font-size:11px;font-weight:600;display:flex;transform:translateY(20px)}.hero-eyebrow:before{content:"";background:var(--accent);width:32px;height:1px;display:block}.hero-bgpattern{color:var(--accent-dim);text-transform:uppercase;font-size:clamp(64px,6vw,88px);font-weight:100;line-height:1;font-family:var(--primaryfont);letter-spacing:1rem;opacity:.4;position:absolute;top:0}.hero-heading{color:var(--white);text-transform:uppercase;font-size:clamp(67px,15vw,248px);font-weight:900;line-height:.6;font-family:var(--titlefont);letter-spacing:.5rem}.hero-name-main{font-family:var(--titlefont);letter-spacing:.035em;text-align:left;color:var(--white);opacity:0;animation:fadeUp 2s var(--ease) 3s forwards;font-size:clamp(68px,9.5vw,128px);font-weight:500;line-height:1.25;transform:translateY(48px)}.hero-name-main .nm-first{color:var(--accent);letter-spacing:.2rem;line-height:.9}.hero-name-main .nm-last{color:#0000;-webkit-text-stroke:1px var(--muted2);letter-spacing:.2rem;line-height:.9;transition:color .4s,-webkit-text-stroke .4s}.perspective-1000{perspective:1000px}.hero-name-main .nm-accent{color:var(--accent);letter-spacing:.02em;text-transform:none;-webkit-text-stroke:0;margin-top:8px;font-size:.55em;font-style:italic;font-weight:300;display:block}.hero-role-pill{letter-spacing:.12em;text-transform:uppercase;color:#ffffff80;border:1px solid var(--border);opacity:0;animation:fadeUp .7s var(--ease) 3.2s forwards;border-radius:2px;justify-content:center;align-items:center;gap:10px;margin-top:24px;padding:8px 16px;font-size:11px;font-weight:500;display:inline-flex;transform:translateY(16px)}.hero-role-dot{background:var(--accent);border-radius:50%;width:5px;height:5px;animation:2s infinite blink}.hero-sub{z-index:2;opacity:0;width:100%;animation:fadeUp .8s var(--ease) 3.4s forwards;flex-flow:wrap;justify-content:space-between;align-items:flex-end;gap:10px;margin-top:0;padding-inline-end:28px;display:flex;position:relative;transform:translateY(20px)}.hero-desc{color:var(--white);letter-spacing:2px;width:430px;max-width:calc(100% - 100px);font-size:13px;font-weight:400;line-height:1.7}.hero-stats{opacity:0;animation:fadeUp .2s var(--ease) 3.4s forwards;flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:36px;display:flex;transform:translateY(20px)}.st-val{font-family:var(--primaryfont);text-align:center;color:var(--white);font-size:38px;font-weight:800;line-height:1;display:block}.st-label{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-size:9px;display:block}.scroll-hint{z-index:2;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;bottom:64px;right:48px}.scroll-hint span{letter-spacing:.28em;color:var(--muted);text-transform:uppercase;writing-mode:vertical-rl;font-size:9px}.scroll-line{background:linear-gradient(to bottom, var(--accent), transparent);width:1px;height:72px;animation:2.2s ease-in-out infinite spulse}@keyframes spulse{0%,to{opacity:.35}50%{opacity:1}}.hero-aside{flex-direction:column;align-items:center;gap:16px;display:flex;position:absolute;top:110px;right:48px}.hero-aside-line{background:var(--border);width:1px;height:56px}.hero-aside-text{letter-spacing:.3em;color:var(--muted);text-transform:uppercase;writing-mode:vertical-rl;font-size:9px}.avail-pill{letter-spacing:.15em;text-transform:uppercase;color:var(--accent);opacity:0;width:fit-content;animation:fadeUp .2s var(--ease) 3.4s forwards;border:1px solid #2aadac59;border-radius:100px;align-items:center;gap:8px;margin-top:0;margin-bottom:10px;padding:7px 14px;font-size:10px;font-weight:600;display:inline-flex;transform:translateY(20px)}.avail-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2s infinite blink}@media (max-width:768px){#hero{padding:0 20px 52px}.hero-aside,.scroll-hint{display:none}.hero-sub{gap:24px;padding-inline-end:10px}.hero-desc{max-width:100%}.hero-stats{gap:20px}.st-val{font-size:30px}.tool-pill.hide-mobile{display:none}}@media (max-width:480px){.hero-heading{line-height:1}}.tools-canvas{z-index:1;pointer-events:none;opacity:.25;position:absolute;inset:0;overflow:hidden}.ti{will-change:transform;cursor:default;border-radius:16px;justify-content:center;align-items:center;width:52px;height:52px;transition:box-shadow .4s,border-color .4s;display:flex;position:absolute}.ti img{object-fit:contain;width:100%;height:100%}.ti svg{width:28px;height:28px;display:block}.ti.sm{border-radius:12px;width:40px;height:40px}.ti.sm svg{width:22px;height:22px}.ti.lg{border-radius:20px;width:64px;height:64px}.ti.lg svg{width:36px;height:36px}@keyframes f1{0%,to{transform:translate(0)rotate(-1deg)}25%{transform:translate(10px,-16px)rotate(1.5deg)}75%{transform:translate(-8px,-8px)rotate(-2deg)}}@keyframes f2{0%,to{transform:translate(0)rotate(2deg)}30%{transform:translate(-12px,-20px)rotate(-1deg)}70%{transform:translate(8px,-10px)rotate(3deg)}}@keyframes f3{0%,to{transform:translate(0)rotate(-2deg)}40%{transform:translate(14px,-14px)rotate(1deg)}80%{transform:translate(-6px,-22px)rotate(-3deg)}}@keyframes f4{0%,to{transform:translate(0)rotate(1deg)}35%{transform:translate(-10px,-18px)rotate(-2deg)}65%{transform:translate(12px,-6px)rotate(2deg)}}@keyframes f5{0%,to{transform:translate(0)rotate(-1deg)}20%{transform:translate(8px,-24px)rotate(2deg)}60%{transform:translate(-14px,-12px)rotate(-2deg)}}@keyframes f6{0%,to{transform:translate(0)rotate(2deg)}45%{transform:translate(16px,-18px)rotate(-2deg)}80%{transform:translate(-4px,-8px)rotate(1deg)}}@keyframes f7{0%,to{transform:translate(0)rotate(-2deg)}30%{transform:translate(-16px,-10px)rotate(2deg)}70%{transform:translate(10px,-20px)rotate(-1deg)}}@keyframes f8{0%,to{transform:translate(0)rotate(1deg)}50%{transform:translate(-14px,-18px)rotate(-3deg)}}@keyframes f9{0%,to{transform:translate(0)rotate(-1deg)}33%{transform:translate(12px,-22px)rotate(2deg)}66%{transform:translate(-8px,-12px)rotate(-2deg)}}@keyframes f10{0%,to{transform:translate(0)rotate(2deg)}40%{transform:translate(-10px,-16px)rotate(-1deg)}75%{transform:translate(14px,-8px)rotate(3deg)}}@keyframes f11{0%,to{transform:translate(0)rotate(-1deg)}25%{transform:translate(6px,-20px)rotate(1deg)}70%{transform:translate(-12px,-14px)rotate(-3deg)}}@keyframes f12{0%,to{transform:translate(0)rotate(2deg)}55%{transform:translate(18px,-12px)rotate(-2deg)}}.ti{transform:translate(calc(var(--px,0)*1px), calc(var(--py,0)*1px))}.o-ring{pointer-events:none;border:1px solid #2aadac12;border-radius:50%;position:absolute;top:50%;left:60%}.o-ring-1{width:600px;height:600px;margin:-300px 0 0 -300px;animation:50s linear infinite oSpin}.o-ring-2{opacity:.5;width:900px;height:900px;margin:-450px 0 0 -450px;animation:80s linear infinite reverse oSpin}.o-ring-3{border-color:#2aadac0d;width:380px;height:380px;margin:-190px 0 0 -190px;animation:35s linear infinite oSpin}@keyframes oSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hero-cursor-glow{z-index:0;pointer-events:none;will-change:left, top;background:radial-gradient(circle,#2aadac1f 0%,#0000 70%);border-radius:50%;width:400px;height:400px;transition:left 80ms,top 80ms;position:absolute;transform:translate(-50%,-50%)}
#cs-page{z-index:3000;background:var(--bg);overscroll-behavior:contain;transition:transform .7s cubic-bezier(.76,0,.24,1);position:fixed;inset:0;overflow:hidden auto;transform:translateY(100%)}#cs-page.open{transform:translateY(0)}#cs-page.close{transition:transform .5s cubic-bezier(.76,0,.24,1);transform:translateY(-100%)}#cs-back{z-index:3100;letter-spacing:.18em;text-transform:uppercase;color:var(--white);border:1px solid var(--border);cursor:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0f;border-radius:2px;align-items:center;gap:10px;padding:10px 20px;font-size:11px;font-weight:700;text-decoration:none;transition:background .3s,border-color .3s;display:none;position:fixed;top:24px;left:32px}#cs-back.visible{display:flex}#cs-back:hover{background:var(--accent);border-color:var(--accent);color:#000}#cs-back .back-arrow{font-size:14px;transition:transform .3s}#cs-back:hover .back-arrow{transform:translate(-4px)}.csp-inner{max-width:960px;margin:0 auto;padding:100px 48px}.csp-hero-img{object-fit:cover;border:1px solid var(--border);border-radius:8px;width:100%;height:520px;margin-bottom:56px;display:block}.csp-eyebrow{letter-spacing:.35em;text-transform:uppercase;color:var(--accent);align-items:center;gap:10px;margin-bottom:14px;font-size:10px;font-weight:700;display:flex}.csp-eyebrow:before{content:"";background:var(--accent);width:24px;height:1px}.csp-title{font-family:var(--primaryfont);letter-spacing:-.03em;text-transform:uppercase;margin-bottom:24px;font-size:clamp(40px,6vw,88px);font-weight:900;line-height:.9}.csp-lead{color:var(--muted2);max-width:640px;font-size:16px;line-height:1.85}.csp-meta-row{border:1px solid var(--border);grid-template-columns:repeat(4,1fr);gap:2px;margin:48px 0;display:grid}.csp-meta-cell{border-right:1px solid var(--border);background:#ffffff04;padding:20px 24px}.csp-meta-cell:last-child{border-right:none}.csp-meta-label{letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:9px}.csp-meta-val{font-size:13px;font-weight:600;line-height:1.4}.csp-meta-val.sm{color:var(--muted2);font-size:11px;font-weight:400}.csp-section{margin-bottom:64px}.csp-section-tag{letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;font-size:9px;font-weight:700}.csp-section-h{font-family:var(--primaryfont);letter-spacing:-.02em;margin-bottom:18px;font-size:clamp(24px,3vw,36px);font-weight:800}.csp-body{color:var(--muted2);font-size:14px;line-height:1.95}.csp-2col{grid-template-columns:1fr 1fr;gap:40px;margin-bottom:64px;display:grid}.csp-steps{grid-template-columns:repeat(4,1fr);gap:2px;margin-top:24px;display:grid}.csp-step{border:1px solid var(--border);background:#ffffff05;padding:24px;transition:border-color .3s,background .3s}.csp-step:hover{background:#2aadac08;border-color:#2aadac4d}.csp-step-n{font-family:var(--primaryfont);color:#2aadac2e;margin-bottom:10px;font-size:40px;font-weight:800;line-height:1}.csp-step-title{letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700}.csp-step-desc{color:var(--muted);font-size:12px;line-height:1.8}.csp-outcomes{grid-template-columns:repeat(3,1fr);gap:2px;margin-top:24px;display:grid}.csp-outcome{background:#2aadac0a;border:1px solid #2aadac1f;padding:32px 24px;transition:border-color .3s}.csp-outcome:hover{border-color:#2aadac4d}.csp-out-val{font-family:var(--primaryfont);color:var(--accent);margin-bottom:10px;font-size:48px;font-weight:800;line-height:1}.csp-out-label{color:var(--muted2);font-size:13px;line-height:1.5}.csp-list{margin-top:20px;list-style:none}.csp-list li{color:var(--muted2);border-bottom:1px solid var(--border);align-items:flex-start;gap:14px;padding:12px 0;font-size:14px;line-height:1.8;display:flex}.csp-list li:before{content:"→";color:var(--accent);flex-shrink:0;margin-top:2px}.csp-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:14px;margin-top:48px;padding-top:48px;display:flex}.csp-btn{letter-spacing:.2em;text-transform:uppercase;cursor:none;border:none;border-radius:2px;align-items:center;gap:10px;padding:16px 32px;font-size:11px;font-weight:700;text-decoration:none;transition:transform .3s,box-shadow .3s,background .3s,color .3s,border-color .3s;display:inline-flex}.csp-btn-p{background:var(--accent);color:#000}.csp-btn-p:hover{transform:translateY(-2px);box-shadow:0 16px 40px #2aadac59}.csp-btn-s{border:1px solid var(--border);color:var(--white);background:0 0}.csp-btn-s:hover{border-color:var(--accent)}.csp-btn-ghost{border:1px solid var(--border);color:var(--muted);opacity:.5;cursor:default}.csp-reveal{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(28px)}.csp-reveal.vis{opacity:1;transform:none}@media (max-width:768px){.csp-inner{padding:80px 20px}.csp-hero-img{height:260px}.csp-meta-row{grid-template-columns:1fr 1fr}.csp-meta-cell{border-bottom:1px solid var(--border)}.csp-2col{grid-template-columns:1fr;gap:28px}.csp-steps,.csp-outcomes{grid-template-columns:1fr 1fr}.csp-title{font-size:clamp(32px,9vw,56px)}.csp-btn,#cs-back{cursor:pointer}}@media (max-width:480px){.csp-steps,.csp-outcomes,.csp-meta-row{grid-template-columns:1fr}}
.page-header{flex-direction:column;justify-content:center;align-items:stretch;margin-bottom:52px;padding:0 48px;display:flex}.page-title{font-family:var(--secondaryfont);text-transform:uppercase;text-align:center;justify-content:space-between;align-items:center;font-size:clamp(60px,10vw,154px);font-weight:700;line-height:1;display:flex}.page-title div.italic{color:var(--muted2);font-style:italic;font-weight:200}.flip-text{perspective:1000px;display:inline-flex}.flip-text span{opacity:0;transform-origin:bottom;transition:transform .7s cubic-bezier(.22,1,.36,1),opacity .7s;display:inline-block;transform:rotateX(90deg)translateY(20px)}.flip-text.active span{opacity:1;transform:rotateX(0)translateY(0)}.page-star{color:var(--accent);justify-content:center;align-items:center;font-size:.6em;animation:10s linear infinite rotate;display:flex}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page-sub{font-family:var(--primaryfont);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:10px;padding:0 10px;font-size:12px;display:flex}.page-divider-line{background-color:var(--border);opacity:1;border-radius:4px;width:100%;height:1px;position:relative;overflow:hidden}.page-divider-line:before{content:"";background:linear-gradient(#fff0 0%, var(--accent) 48.3231%, #fff0 100%);width:140px;height:10px;transform-origin:50% 50% 0px;margin:auto;animation:3s ease-in-out infinite alternate moveleftright;position:absolute;top:50%;bottom:0;left:-140px;transform:rotate(9deg)}@keyframes moveleftright{0%{left:-140px}to{left:100%}}@media (max-width:767px){.page-header{margin-bottom:32px;padding:0 24px}.page-title{flex-wrap:wrap;justify-content:flex-start;gap:1rem;font-size:clamp(40px,10vw,80px)}.page-sub{flex-flow:column wrap;align-items:flex-start;gap:.25rem;padding-inline-start:0}.page-divider-line{width:2px;height:20px}}#about{background:var(--bg);padding:72px 0 140px}.bento-grid{grid-template-columns:repeat(3,1fr);gap:20px;padding:0 48px;display:grid}.bento-col{flex-direction:column;gap:20px;display:flex}.bento-card{background:var(--bg2);border:1px solid var(--border);font-family:var(--secondaryfont);border-radius:20px;position:relative;overflow:hidden}.bento-card.p-6{padding:32px}.bento-title-large{color:#fff;margin-bottom:40px;font-size:clamp(18px,2vw,24px);font-weight:500;line-height:1.5}.pic-card{height:500px;padding:0}.pic-card img{object-fit:cover;object-position:top;mix-blend-mode:luminosity;width:100%;height:100%}.bento-socials{justify-content:space-between;align-items:center;gap:12px;display:flex}.bento-social-icons{gap:10px;display:flex}.social-icon{color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background .3s;display:flex}.social-icon:hover{background:#ffffff1a}.btn-resume{color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;text-decoration:none;transition:background .3s;display:flex}.btn-resume:hover{background:#ffffff1a}.bento-card-title{font-family:var(--primaryfont);letter-spacing:.05em;color:var(--white);text-transform:uppercase;margin-bottom:24px;font-size:16px}.bento-text{color:#a1a1aa;letter-spacing:.03rem;margin-bottom:16px;font-size:14px;line-height:1.8}.bento-link{letter-spacing:.03rem;font-weight:500;text-decoration:none}.bento-link:hover{color:var(--accent);text-decoration:underline}.bento-text .text-highlight{color:#fff;border-bottom:1px solid #ffffff4d;font-weight:700}.bento-text:last-of-type{margin-bottom:30px}.signature{width:240px;max-width:100%}.signature img{object-fit:contain;width:100%;height:100%}.tool-category-label{font-family:var(--primaryfont);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);margin-bottom:10px;padding-bottom:4px;font-size:10px;font-weight:600}.bento-tools{flex-wrap:wrap;gap:10px;margin-bottom:4px;display:flex}.tool-icon{cursor:default;width:44px;height:44px;transition:background .25s, border-color .25s, transform .2s var(--ease);background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;justify-content:center;align-items:center;display:flex;position:relative}.tool-icon:hover{background:#ffffff1a;border-color:#ffffff2e;transform:translateY(-3px)}.tool-icon img{object-fit:contain;width:22px;height:22px;display:block}.tool-icon[style*=background-color]>img{object-fit:contain;width:32px;height:32px}.tool-icon[data-label]:after{content:attr(data-label);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--white);font-family:var(--secondaryfont);letter-spacing:.04em;white-space:nowrap;pointer-events:none;opacity:0;z-index:100;background:#12111cf2;border:1px solid #ffffff1a;border-radius:6px;padding:5px 10px;font-size:11px;font-weight:500;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.tool-icon[data-label]:before{content:"";pointer-events:none;opacity:0;z-index:100;border:5px solid #0000;border-top-color:#ffffff1a;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%)translateY(4px)}.tool-icon[data-label]:hover:after,.tool-icon[data-label]:hover:before{opacity:1;transform:translate(-50%)translateY(0)}.bento-list{flex-direction:column;gap:24px;display:flex}.bento-list-item{align-items:flex-start;gap:16px;display:flex}.bento-list-date{color:#71717a;flex-shrink:0;width:80px;font-size:12px;line-height:1.4}.bento-list-content .bento-list-title{font-family:var(--primaryfont);color:#fff;letter-spacing:.03rem;margin-bottom:1px;font-size:14px;font-weight:600;line-height:normal}.bento-list-content .bento-list-text{color:#a1a1aa;font-size:13px;line-height:normal}.bento-list-content .bento-link-text{letter-spacing:.03rem;color:var(--muted);font-size:12px;font-weight:500;line-height:normal;text-decoration:none}.bento-list-content .bento-link-text:hover{color:var(--accent);text-decoration:underline}.bento-award-icon{background:#ffffff1a;border-radius:8px;flex-shrink:0;width:36px;height:36px}.bento-badge{background:#ffffff1a;border-radius:4px;margin-left:4px;padding:2px 6px;font-size:10px}@media (max-width:1024px){.bento-grid{grid-template-columns:1fr}}@media (max-width:768px){.bento-grid{padding:0 20px}.bento-list-item:not(:has(.bento-award-icon)){flex-direction:column;gap:5px}.pic-card{height:400px;min-height:350px}}.nav-links a.active{color:var(--white)}.nav-links a.active:after{width:100%}.exp-timeline{flex-direction:column;align-items:flex-start;padding-left:4px;display:flex}.exp-item{gap:0 16px;display:flex;position:relative}.exp-item.last{grid-template-columns:16px 1fr}.exp-dot{z-index:1;background:#14131d;border:2px solid #656469;border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:4px;transition:background .3s;position:relative}.exp-dot.current{background:var(--accent);border-color:var(--accent);animation:2.5s ease-in-out infinite dotPulse;box-shadow:0 0 0 4px #2aadac33,0 0 12px #2aadac66}@keyframes dotPulse{0%,to{box-shadow:0 0 0 4px #2aadac33,0 0 12px #2aadac66}50%{box-shadow:0 0 0 8px #2aadac14,0 0 20px #2aadac80}}.exp-line{z-index:-999;background:linear-gradient(#ffffff0f 0%,#2aadac66 50%,#ffffff0f 100%);align-self:stretch;width:1px;min-height:100%;position:absolute;left:5px}.exp-body{width:100%;padding-bottom:28px;padding-left:4px}.exp-item.last .exp-body{grid-column:2;padding-bottom:0}.exp-date{letter-spacing:.08em;color:var(--accent);text-transform:uppercase;font-size:11px;font-weight:600;font-family:var(--secondaryfont);margin-bottom:4px}.exp-role{font-family:var(--primaryfont);color:var(--white);letter-spacing:.01em;margin-bottom:3px;font-size:14px;font-weight:600;line-height:1.3}.exp-company{color:var(--muted);letter-spacing:.03rem;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.exp-more-wrap{opacity:0;max-height:0;transition:max-height .6s cubic-bezier(.25,1,.5,1),opacity .5s;overflow:hidden}.exp-more-wrap.expanded{opacity:1;max-height:1400px}.exp-toggle-btn{border:1px solid var(--border);color:var(--muted);font-family:var(--primaryfont);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:100px;align-items:center;gap:8px;margin-top:8px;padding:12px 28px;font-size:11px;font-weight:700;transition:all .3s;display:inline-flex}.exp-toggle-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.exp-toggle-icon{font-size:14px;transition:transform .3s;display:inline-block}.exp-toggle-btn[aria-expanded=true] .exp-toggle-icon{transform:rotate(180deg)}.skill-stack{flex-direction:column;gap:18px;display:flex}.skill-group{flex-direction:column;gap:8px;display:flex}.skill-group-label{font-family:var(--primaryfont);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:4px;font-size:10px;font-weight:600}.skill-tags{flex-wrap:wrap;gap:6px;display:flex}.skill-tag{font-size:11px;font-family:var(--secondaryfont);letter-spacing:.03em;color:#f5f5f0b3;white-space:nowrap;cursor:default;background:#ffffff0d;border:1px solid #ffffff17;border-radius:100px;padding:4px 10px;font-weight:500;transition:background .25s,color .25s,border-color .25s}.skill-tag:hover{color:var(--white);background:#ffffff1a;border-color:#fff3}.skill-tag.accent{color:var(--accent);background:#2aadac1a;border-color:#2aadac4d}.skill-tag.accent:hover{border-color:var(--accent);background:#2aadac2e}.skill-tag.ai{color:#b48cffe6;background:#8250ff1a;border-color:#8250ff40}.skill-tag.ai:hover{background:#8250ff2e;border-color:#8250ff80}.skill-tag.dev{color:#82c8ffe6;background:#31a8ff14;border-color:#31a8ff33}.skill-tag.dev:hover{background:#31a8ff26;border-color:#31a8ff66}
.work-scroll-track-height{width:100%;position:relative}.work-sticky-viewport{flex-direction:column;width:100%;display:flex;overflow:hidden}.work-cards-slider-wrap{width:100%;position:relative}.work-cards-slider-track{will-change:transform;backface-visibility:hidden;flex-wrap:nowrap;gap:20px;width:max-content;display:flex;transform:translate(0,0)}.project-item{opacity:.8;will-change:transform, opacity;flex:0 0 400px;width:400px;min-height:380px;text-decoration:none;transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .8s cubic-bezier(.16,1,.3,1),all .1s linear;position:relative;transform:scale(.9)translateY(40px)}.project-item.is-revealed{opacity:1;transform:scale(1)translateY(0)}.project-card{--spacing:.5rem;--rounded:24px;width:100%;height:100%;padding:var(--spacing);gap:var(--spacing);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--bg2);border:1px solid var(--border);border-radius:var(--rounded);flex-direction:column;transition:background .4s,border-color .4s,transform .4s,box-shadow .4s;display:flex;overflow:hidden;box-shadow:0 10px 40px #0003}.project-card-header{border-radius:calc(var(--rounded) - var(--spacing));background:var(--bg);border:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem;display:flex}.project-card:hover{border-color:var(--bg-color);background:color-mix(in srgb, var(--bg-color) 20%, white 3%)}.project-card:hover .project-card-header{background:var(--bg-color)}.project-card-body{border-radius:calc(var(--rounded) - var(--spacing));width:100%;height:100%;position:relative;overflow:hidden}.project-card-body:before{content:"";z-index:1;background:linear-gradient(#00000026 0%,#0000004d 50%,#000000eb 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.project-card:hover .project-card-body:before{opacity:.8}.project-card-image-wrap{border-radius:calc(var(--rounded) - var(--spacing));flex:1;width:100%;height:100%;position:relative;overflow:hidden}.project-card .card-img{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease);filter:grayscale();position:absolute;inset:0}.project-card:hover .card-img{filter:grayscale(0);transform:scale(1.05)}.project-title{font-family:var(--primaryfont);color:var(--white);font-size:clamp(20px,1.5vw,24px);font-weight:700;line-height:1.2}.project-subtitle{color:var(--muted2);letter-spacing:.25em;font-size:.7rem;line-height:1.5}.card-info{z-index:99;transition:transform .5s var(--ease);flex-direction:column;padding:1rem;display:flex;position:absolute;bottom:0;left:0;right:0}.card-tag-label{letter-spacing:.25em;text-transform:uppercase;color:#ffffff73;margin-bottom:8px;font-size:9px}.card-num{letter-spacing:.25em;z-index:99;color:#ffffffb3;text-transform:uppercase;font-size:12px;font-weight:600;position:absolute;top:20px;left:20px}.card-title{font-family:var(--primaryfont);color:var(--white);letter-spacing:1px;font-size:clamp(16px,1vw,24px);font-weight:300;line-height:1.1}.card-title strong{font-weight:700}.card-desc{color:#ffffff80;margin-bottom:auto;font-size:.95rem;line-height:1.5}.card-tags{gap:8px;margin-top:12px}.card-tags span{color:#fff9;background:#ffffff0a;border-radius:100px;padding:4px 10px;font-size:.7rem}.project-sticker{z-index:10;pointer-events:none;width:108px;height:108px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)rotate(-20deg)}.project-card:hover .project-sticker{transition:transform .5s cubic-bezier(.34,1.56,.64,1);transform:translate(-50%,-50%)scale(1)rotate(8deg)}.sticker-bg{background:var(--white);border-radius:50%;justify-content:center;align-items:center;width:108px;height:108px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 28px #0000002e}.sticker-svg-ring{width:108px;height:108px;animation:5s linear infinite spinRing;position:absolute;inset:0}@keyframes spinRing{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sticker-center{font-family:var(--secondaryfont);letter-spacing:1.5px;text-transform:uppercase;text-align:center;color:#0a0a0a;background-color:var(--accent-dim);border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;font-size:9px;font-weight:600;line-height:1.3;display:flex;position:absolute}@media (min-width:991px){.work-scroll-track-height{height:300dvh}.work-sticky-viewport{position:sticky;top:72px}.work-cards-slider-wrap{padding-left:10vw}}@media (max-width:990px){.work-cards-slider-track{flex-wrap:wrap;width:100%;transform:none!important}.work-cards-slider-wrap{padding-inline:20px}.project-item{flex:0 0 calc(50% - .63rem);width:100%}}@media (max-width:768px){.project-item{flex:0 0 100%;width:100%}}
.pg-modal.active .pg-modal-content{animation:.7s cubic-bezier(.34,1.56,.64,1) zoomIn}@keyframes zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}.pg-modal{z-index:9999;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;pointer-events:none;overscroll-behavior:contain;background:#0009;justify-content:center;align-items:center;padding:2rem;transition:opacity .4s;display:flex;position:fixed;inset:0}.pg-modal.active{opacity:1;pointer-events:all}.pg-modal-content{clip-path:inset(15% round 30px);gap:1rem;width:100%;max-width:100%;height:100%;transition:transform .7s cubic-bezier(.16,1,.3,1),clip-path .7s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;transform:translateY(40px)scale(.95)}.pg-modal.active .pg-modal-content{clip-path:inset(0%);transform:translateY(0)scale(1)}.pg-modal-left{background:var(--bg2);border:1px solid var(--border);border-radius:15px;flex-direction:column;flex:1;gap:10px;display:flex;overflow:hidden;box-shadow:0 25px 60px #00000080}.pg-carousel{background:#0a0a0a;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.pg-main-img{object-fit:cover;pointer-events:none;flex:0 0 100%;width:100%;height:100%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pg-carousel-btn{z-index:999;background:var(--bg2);border:1px solid var(--border2);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:24px;transition:background .3s,transform .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.pg-carousel-btn:hover{background:var(--accent);transform:translateY(-50%)scale(1.1)}.pg-carousel-btn.prev{left:16px}.pg-carousel-btn.next{right:16px}.pg-thumbs{gap:10px;padding:10px;display:flex;overflow-x:auto}.pg-thumbs::-webkit-scrollbar{height:6px}.pg-thumbs::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px}.pg-thumb{cursor:pointer;opacity:.6;background:0 0;border:2px solid #0000;border-radius:8px;flex-shrink:0;width:80px;height:60px;padding:0;transition:border-color .3s,transform .3s;overflow:hidden}.pg-thumb img{object-fit:cover;width:100%;height:100%}.pg-thumb:hover{opacity:.9}.pg-thumb.active{border-color:var(--accent);opacity:1;transform:translateY(-2px)}.pg-modal-right{background:var(--bg2);border:1px solid var(--border);border-radius:15px;flex-direction:column;width:35%;display:flex;overflow-y:auto;box-shadow:0 25px 60px #00000080}.pg-modal-right::-webkit-scrollbar{width:6px}.pg-modal-right::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.pg-modal-header{z-index:10;background:var(--bg2);justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex;position:sticky;top:0;left:0;right:0}.pg-modal-header .pg-modal-header-title{height:54px;color:var(--white);letter-spacing:-.02em;background:var(--bg);border:1px solid var(--border);border-radius:10px;flex:1;justify-content:flex-start;align-items:center;padding:10px 15px;font-size:18px;font-weight:600;line-height:1.1;display:flex}.pg-modal-header .pg-modal-header-action{gap:10px;display:flex}.pg-modal-close{background:var(--bg);border:1px solid var(--border);color:#fff;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:54px;height:54px;font-size:20px;transition:background .3s,transform .3s;display:flex}.pg-modal-close:hover{background:#ffffff1a}.pg-ext-link{background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:54px;height:54px;font-size:20px;transition:background .3s,color .3s,transform .3s;display:flex}.pg-ext-link:hover{background:var(--accent-dim);border-color:var(--accent-glow)}.pg-modal-body{flex-direction:column;gap:10px;padding:0 10px 10px;display:flex}.pg-modal-section{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:10px}.pg-modal-section .pg-section-label{text-transform:uppercase;letter-spacing:.15em;color:var(--muted);margin-bottom:.15rem;font-size:10px;display:block}.pg-modal-section .pg-section-value{color:var(--white);font-size:14px;font-weight:500}.pg-modal-meta{background:var(--bg);border:1px solid var(--border);border-radius:10px;gap:10px;padding:10px 15px;display:flex}.pg-modal-meta .pg-meta-item{flex:1}.pg-meta-item .pg-meta-label{text-transform:uppercase;letter-spacing:.15em;color:var(--muted);margin-bottom:.15rem;font-size:10px;display:block}.pg-meta-item .pg-meta-value{color:var(--white);font-size:14px;font-weight:500}.pg-tags-container{flex-wrap:wrap;gap:10px;display:flex}.pg-tag{background:var(--accent-dim);border:1px solid var(--border);color:var(--accent);letter-spacing:.05rem;border-radius:50px;padding:4px 15px;font-size:11px;font-weight:500;transition:background .3s,color .3s}.pg-tag:hover{color:var(--white);background:#ffffff1a}.pg-colors-container{gap:10px;display:flex}.color-swatch{border:1px solid var(--border);border-radius:10px;width:36px;height:36px;transition:transform .3s,border-color .3s}.color-swatch:hover{border-color:#fff;transform:scale(1.05)translateY(-2px)}@media (max-width:992px){.pg-modal{padding:1rem}.pg-modal-content{flex-direction:column}.pg-modal-left{flex:none;height:40vh}.pg-modal-right{flex:1;width:100%}}.pg-modal{transition:opacity .42s cubic-bezier(.16,1,.3,1),-webkit-backdrop-filter .42s,backdrop-filter .42s}.pg-modal-entering .pg-modal-content{opacity:0;clip-path:inset(8% round 40px);transition:none;transform:scale(.88)translateY(32px)}.pg-modal-entered .pg-modal-content{opacity:1;clip-path:inset(0% round 16px);transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1),clip-path .55s cubic-bezier(.16,1,.3,1);transform:scale(1)translateY(0)}.pg-modal-leaving{pointer-events:none;opacity:0!important}.pg-modal-leaving .pg-modal-content{opacity:0;clip-path:inset(6% round 32px);transition:opacity .38s cubic-bezier(.4,0,1,1),transform .38s cubic-bezier(.4,0,1,1),clip-path .38s cubic-bezier(.4,0,1,1);transform:scale(.9)translateY(20px)}.pg-modal-entered .pg-modal-left{animation:.6s cubic-bezier(.16,1,.3,1) 50ms both pgPanelIn}.pg-modal-entered .pg-modal-right{animation:.6s cubic-bezier(.16,1,.3,1) .14s both pgPanelIn}@keyframes pgPanelIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.proj-page-body{cursor:auto;background:var(--bg)}.proj-nav{justify-content:space-between;align-items:center;gap:16px;padding-inline:15px;display:flex;left:0;right:0}.navCta{border-radius:100px;padding:12px 22px}.herosection{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:80vh;padding:84px 48px 0;display:flex;position:relative}.herosection .inner{flex:none;width:80%;max-width:100%;margin:0 auto}.herosection .inner .proj-hero-eyebrow{justify-content:center}.herosection.inner .proj-hero-title{margin-left:auto;margin-right:auto;font-size:clamp(32px,5vw,68px)}.herosection .inner .proj-hero-lead{max-width:640px;margin-bottom:0;margin-left:auto;margin-right:auto}.herosection .mock{z-index:1;flex:auto;justify-content:center;align-items:center;width:80%;height:70vh;min-height:0;margin:10px auto 0;display:flex;position:relative}.mock-frame{border-radius:calc(var(--border-radius) * 2) calc(var(--border-radius) * 2) 0 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0a;border:1px solid #ffffff1f;align-self:flex-end;width:100%;height:100%;overflow:hidden;box-shadow:0 50px 100px -20px #0000008c}.mock-frame img{object-fit:cover;object-position:top;width:100%;height:100%;display:block}@media (max-width:768px){.proj-nav{padding-inline:10px;left:0;right:0}.navCta{padding:10px 16px}.herosection{min-height:auto;padding:120px 20px 0}.herosection .mock{width:100%;height:auto}.proj-article{width:100%}.mock-frame{height:40vh}.proj-section{padding:44px 0}}.proj-back-btn{letter-spacing:.18em;text-transform:uppercase;color:var(--white);border:1px solid var(--border2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#111019d9;border-radius:100px;align-items:center;gap:10px;padding:12px 22px;font-size:11px;font-weight:700;text-decoration:none;transition:background .3s,border-color .3s,color .3s,transform .3s;display:inline-flex}.proj-back-btn:hover{background:var(--accent);border-color:var(--accent);color:#000;transform:translate(-3px)}.proj-back-btn .back-arrow{transition:transform .3s;display:flex}.proj-back-btn:hover .back-arrow{transform:translate(-4px)}.proj-next-btn{letter-spacing:.18em;text-transform:uppercase;color:var(--white);border:1px solid var(--border2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#111019d9;border-radius:100px;align-items:center;gap:10px;padding:12px 22px;font-size:11px;font-weight:700;text-decoration:none;transition:background .3s,border-color .3s,color .3s,transform .3s;display:inline-flex}.proj-next-btn:hover{background:var(--accent);border-color:var(--accent);color:#000;transform:translate(3px)}.proj-next-btn .next-arrow{transition:transform .3s;display:flex}.proj-next-btn:hover .next-arrow{transform:translate(4px)}.proj-page-main{min-height:100vh}.proj-hero-img-wrap{width:100%;height:70vh;min-height:400px;max-height:700px;position:relative;overflow:hidden}.proj-hero-img{object-fit:cover;filter:brightness(.75);width:100%;height:100%;display:block}.proj-hero-overlay{background:linear-gradient(to bottom, transparent 40%, var(--bg) 100%);position:absolute;inset:0}.proj-content-wrap{grid-template-columns:1fr;align-items:start;gap:48px;width:100%;max-width:1536px;margin:0 auto;padding:0 48px 120px;display:grid}.proj-sidebar{z-index:999;background:rgba(var(--nav-bg), .65);border:1px solid var(--border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:10px;width:180px;padding:15px 20px;text-decoration:none;transition:background .3s,border-color .3s,color .3s,transform .3s;position:fixed;bottom:1.5rem;right:1.5rem;overflow-y:auto;box-shadow:0 0 5px 1px #11101980}.proj-sidebar-inner{padding-top:8px}.proj-sidebar-label{letter-spacing:.3em;text-transform:uppercase;color:var(--white);margin-bottom:10px;font-size:9px;font-weight:600}.proj-index{flex-direction:column;gap:4px;list-style:none;display:flex}.proj-index-link{letter-spacing:.18em;color:var(--muted2);padding:2px 5px;font-size:11px;font-weight:500;text-decoration:none;transition:color .3s,border-color .3s,padding-left .3s;display:block}.proj-index-link:hover{color:var(--accent);border-color:var(--accent);padding-left:10px}.proj-index-link.active{color:var(--accent);border-color:var(--accent)}.proj-article{margin:0 auto}.proj-eyebrow{letter-spacing:.35em;text-transform:uppercase;color:var(--accent);align-items:center;gap:12px;margin-bottom:16px;font-size:10px;font-weight:700;display:flex}.proj-eyebrow:before{content:"";background:var(--accent);flex-shrink:0;width:28px;height:1px}.proj-title{font-family:var(--primaryfont);letter-spacing:-.03em;text-transform:uppercase;margin-bottom:28px;font-size:clamp(40px,6vw,88px);font-weight:900;line-height:.9}.proj-lead{color:var(--muted2);max-width:660px;margin-bottom:0;font-size:17px;line-height:1.85}.proj-meta-row{border:1px solid var(--border);border-radius:var(--border-radius);grid-template-columns:repeat(4,1fr);gap:2px;margin:0;display:grid;overflow:hidden}.proj-meta-cell{border-right:1px solid var(--border);background:#ffffff04;padding:22px 24px}.proj-meta-cell:last-child{border-right:none}.proj-meta-label{letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-bottom:7px;font-size:9px}.proj-meta-val{color:var(--white);font-size:14px;font-weight:600;line-height:1.4}.proj-meta-val.sm{color:var(--muted2);font-size:11px;font-weight:400}.proj-divider{border:none;border-top:1px solid var(--border);margin:56px 0}.proj-2col{grid-template-columns:1fr 1fr;gap:15px;margin-block:30px;display:grid}@media (min-width:768px){.proj-section{padding:74px 0}}.proj-section-tag{letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-size:9px;font-weight:700}.proj-section-h{font-family:var(--primaryfont);letter-spacing:-.02em;margin-bottom:20px;font-size:clamp(26px,3vw,36px);font-weight:800;line-height:1.1}.proj-body{color:var(--muted2);letter-spacing:1px;line-height:1.75}.proj-outcomes{grid-template-columns:repeat(4,1fr);gap:20px;margin-top:28px;display:grid}.proj-outcome{background:#2aadac0a;border:1px solid #2aadac1f;padding:36px 28px;transition:border-color .3s,background .3s}.proj-outcome:hover{background:#2aadac12;border-color:#2aadac59}.proj-out-val{font-family:var(--primaryfont);color:var(--accent);margin-bottom:12px;font-size:36px;font-weight:800;line-height:1}.proj-out-label{color:var(--muted2);font-size:13px;line-height:1.5}.proj-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:14px;margin-top:52px;padding-top:52px;display:flex}.proj-btn{letter-spacing:.2em;text-transform:uppercase;border-radius:3px;align-items:center;gap:10px;padding:18px 36px;font-size:11px;font-weight:700;text-decoration:none;transition:transform .3s,box-shadow .3s,background .3s,color .3s,border-color .3s;display:inline-flex}.proj-btn-p{background:var(--accent);color:#000;border:1px solid var(--accent)}.proj-btn-p:hover{transform:translateY(-2px);box-shadow:0 16px 40px #2aadac59}.proj-btn-s{border:1px solid var(--border2);color:var(--white);background:0 0}.proj-btn-s:hover{border-color:var(--accent);color:var(--accent)}.proj-reveal{opacity:0;transition:opacity .8s,transform .9s cubic-bezier(.22,1,.36,1);transform:translateY(40px)}.proj-reveal.visible{opacity:1;transform:translateY(0)}.proj-pg-badge{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);border:1px solid #2aadac4d;border-radius:100px;align-items:center;gap:8px;margin-bottom:20px;padding:6px 14px;font-size:10px;font-weight:700;display:inline-flex}@media (max-width:990px){.proj-content-wrap{grid-template-columns:1fr;gap:0;padding:0 36px 100px}.proj-sidebar{display:none}}@media (max-width:768px){.proj-hero-img-wrap{height:50vh;min-height:280px}.proj-content-wrap{justify-content:center;padding:0 20px 80px}.proj-meta-row{grid-template-columns:1fr}.proj-meta-cell{border-bottom:1px solid var(--border);padding:14px}.proj-2col{grid-template-columns:1fr;gap:24px}.proj-steps,.proj-outcomes{grid-template-columns:1fr 1fr}.proj-title{font-size:clamp(32px,9vw,56px)}.proj-back-btn{padding:10px 16px;font-size:10px;top:16px;left:16px}.proj-next-btn{padding:10px 16px;font-size:10px;top:16px;right:16px}}.proj-hero-content{z-index:2;max-width:1536px;margin:0 auto;padding:0 48px;position:absolute;bottom:64px;left:0;right:0}.proj-hero-eyebrow{align-items:center;gap:16px;margin-bottom:20px;display:flex}.proj-hero-num{font-family:var(--primaryfont);letter-spacing:.2em;color:var(--accent);font-size:13px;font-weight:700}.proj-hero-badge{letter-spacing:.22em;text-transform:uppercase;color:var(--white);border:1px solid var(--border2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#11101966;border-radius:100px;padding:6px 16px;font-size:10px;font-weight:700}.proj-hero-title{font-family:var(--primaryfont);letter-spacing:-.03em;text-transform:uppercase;max-width:1100px;margin-bottom:0;font-size:clamp(44px,7vw,96px);font-weight:900;line-height:.92}.proj-hero-lead{color:var(--muted2);max-width:620px;margin-bottom:28px;font-size:16px;font-weight:500;line-height:1.4}.proj-hero-cta{display:inline-flex}.proj-scroll-indicator{z-index:2;color:var(--muted2);flex-direction:column;align-items:center;gap:10px;text-decoration:none;display:flex;position:absolute;bottom:32px;right:48px}.proj-scroll-indicator-line{background:linear-gradient(to bottom, var(--accent), transparent);width:1px;height:40px;animation:proj-scroll-bounce 1.8s var(--ease) infinite}.proj-scroll-indicator-text{letter-spacing:.28em;text-transform:uppercase;writing-mode:vertical-rl;font-size:9px}@keyframes proj-scroll-bounce{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(8px)}}.proj-gallery{gap:28px;margin-top:32px;display:grid}.proj-gallery-2{grid-template-columns:repeat(2,1fr)}.proj-gallery-3{grid-template-columns:repeat(3,1fr)}.proj-gallery-item{border-radius:var(--border-radius);border:1px solid var(--border);background:#ffffff05;height:450px;overflow:hidden;box-shadow:0 20px 44px #00000052}.proj-gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease);display:block}.proj-gallery-item:hover img{transform:scale(1.03)}.proj-gallery-feature{border-radius:var(--border-radius);border:1px solid var(--border);margin-top:32px;overflow:hidden;box-shadow:0 32px 64px #0006}.proj-gallery-feature img{width:100%;display:block}.proj-feature-grid{background:var(--border);border:1px solid var(--border);border-radius:var(--border-radius);grid-template-columns:repeat(3,1fr);gap:2px;margin-top:32px;display:grid;overflow:hidden}.proj-feature-card{background:var(--bg);padding:32px 28px;transition:background .3s,transform .3s}.proj-feature-card:hover{background:#ffffff05;transform:translateY(-3px)}.proj-feature-num{font-family:var(--primaryfont);color:var(--accent);letter-spacing:.1em;margin-bottom:14px;font-size:13px;font-weight:700;display:block}.proj-feature-title{color:var(--white);margin-bottom:10px;font-size:15px;font-weight:700;line-height:1.35}.proj-feature-desc{color:var(--muted2);font-size:13px;line-height:1.7}.proj-related-grid{grid-template-columns:repeat(3,1fr);gap:28px;margin-top:32px;display:grid}.proj-related-card{color:inherit;border-radius:var(--border-radius);border:1px solid var(--border);transition:transform .35s var(--ease), border-color .35s;background:#ffffff05;text-decoration:none;display:block;overflow:hidden}.proj-related-card:hover{border-color:var(--accent);transform:translateY(-6px)}.proj-related-img-wrap{aspect-ratio:4/3;overflow:hidden}.proj-related-img-wrap img{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease);display:block}.proj-related-card:hover .proj-related-img-wrap img{transform:scale(1.06)}.proj-related-meta{padding:20px 22px}.proj-related-num{color:var(--accent);letter-spacing:.2em;margin-bottom:8px;font-size:11px;display:block}.proj-related-name{color:var(--white);font-size:17px;font-weight:700}.proj-final-cta{border-top:1px solid var(--border);text-align:center;margin-top:100px;padding-top:72px}.proj-next-label{text-transform:uppercase;letter-spacing:.3em;color:var(--muted);margin-bottom:20px;font-size:12px;display:block}.proj-next-project-btn{font-family:var(--primaryfont);color:var(--white);text-transform:uppercase;cursor:pointer;background:0 0;border:none;font-size:clamp(36px,7vw,76px);font-weight:900;text-decoration:none;transition:color .4s,transform .4s;display:inline-block}.proj-next-project-btn:hover{color:var(--accent);transform:scale(1.04)}.proj-final-actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:48px;display:flex}.proj-sidebar-mobile{display:none}@media (max-width:990px){.proj-sidebar-mobile{z-index:900;display:block;position:fixed;bottom:1.25rem;left:1.25rem;right:1.25rem}.proj-sidebar-mobile-toggle{letter-spacing:.12em;text-transform:uppercase;width:250px;color:var(--white);background:rgba(var(--nav-bg), .85);border:1px solid var(--border2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);cursor:pointer;border-radius:100px;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;margin-left:auto;padding:14px 20px;font-size:11px;font-weight:700;display:flex}.proj-sidebar-icon{flex-direction:column;align-items:center;gap:4px;display:flex}.proj-sidebar-mobile-toggle .proj-sidebar-icon span{background:var(--white);border-radius:50px;width:22px;height:2px;transition:transform .3s,opacity .3s;display:block}.proj-sidebar-mobile-toggle[aria-expanded=false] span:first-child{opacity:1;width:22px}.proj-sidebar-mobile-toggle[aria-expanded=false] span:nth-child(2){opacity:.6;width:16px}.proj-sidebar-mobile-toggle[aria-expanded=false] span:nth-child(3){opacity:.4;width:12px}.proj-sidebar-mobile-toggle[aria-expanded=true] span:first-child{width:18px;transform:translateY(6.5px)rotate(45deg)}.proj-sidebar-mobile-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.proj-sidebar-mobile-toggle[aria-expanded=true] span:nth-child(3){opacity:.6;width:18px;transform:translateY(-6.5px)rotate(-45deg)}.proj-sidebar-mobile-panel{background:rgba(var(--nav-bg), .92);border:1px solid var(--border);border-radius:var(--border-radius);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);width:200px;max-width:420px;max-height:60vh;margin:10px 0 0 auto;padding:18px 20px;overflow-y:auto}.proj-hero-content{padding:0 24px;bottom:40px}.proj-scroll-indicator{display:none}.proj-feature-grid{grid-template-columns:repeat(2,1fr)}.proj-related-grid{grid-template-columns:1fr}}@media (max-width:640px){.proj-gallery-2,.proj-gallery-3,.proj-feature-grid{grid-template-columns:1fr}.proj-hero-title{font-size:clamp(32px,10vw,56px)}}@media (prefers-reduced-motion:reduce){.proj-reveal{opacity:1;transition:none;transform:none}.proj-scroll-indicator-line{animation:none}.proj-gallery-item img,.proj-related-img-wrap img{transition:none}}.proj-personality-tag{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;font-size:12px;font-weight:700}.proj-body-wide{max-width:760px;font-size:15px}.proj-pillars{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px;display:grid}.proj-pillar{border-radius:var(--border-radius);border:1px solid #2aadac1f;border-top:2px solid var(--accent);background:#2aadac08;padding:28px 24px;transition:border-color .3s,background .3s,transform .3s;position:relative}.proj-pillar:hover{background:#2aadac0f;border-color:#2aadac59;transform:translateY(-3px)}.proj-pillar-num{font-family:var(--primaryfont);letter-spacing:.2em;color:var(--accent);margin-bottom:14px;font-size:12px;font-weight:800}.proj-pillar-title{font-family:var(--primaryfont);letter-spacing:-.01em;margin-bottom:10px;font-size:17px;font-weight:700}.proj-pillar-body{color:var(--muted2);margin-bottom:0;font-size:13px;line-height:1.8}.proj-decisions{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:28px;display:grid}.proj-decision{border-radius:var(--border-radius);border-left:2px solid var(--accent);background:#2aadac08;border:1px solid #2aadac1a;grid-template-columns:1fr;gap:20px;padding:22px 24px;transition:border-color .3s,background .3s;display:grid}.proj-decision:hover{background:#2aadac0f;border-color:#2aadac59}.proj-decision-num{font-family:var(--primaryfont);color:var(--accent);font-size:20px;font-weight:800;line-height:1.2}.proj-decision-title{font-family:var(--primaryfont);margin-bottom:8px;font-size:16px;font-weight:700}.proj-decision-body{color:var(--muted2);margin-bottom:0;font-size:13px;line-height:1.85}.proj-validation{grid-template-columns:1fr;gap:10px;margin:28px 0 0;padding:0;list-style:none;display:grid}.proj-validation-item{color:var(--muted2);border-radius:var(--border-radius);background:#2aadac08;border:1px solid #2aadac1a;align-items:flex-start;gap:14px;padding:14px 18px;font-size:14px;line-height:1.8;display:flex}.proj-validation-mark{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;font-size:11px;font-weight:800;display:inline-flex}@media (max-width:900px){.proj-pillars{grid-template-columns:1fr}.proj-decision{grid-template-columns:1fr;gap:12px;padding:18px}.proj-decisions{grid-template-columns:repeat(1,1fr)}}.proj-content-wrap{min-width:0}.proj-article{min-width:0;max-width:100%}.proj-article *{min-width:0}.proj-article img{max-width:100%}.carousel{margin-top:44px;position:relative}.stage{height:clamp(500px,52vh,560px);position:relative;overflow:hidden}.track{width:max-content;height:100%;animation:marquee var(--r-duration,32s) linear infinite;will-change:transform;gap:20px;display:flex}.slide{cursor:zoom-in;background:0 0;border:none;border-radius:10px;height:100%;padding:0;display:block;overflow:hidden}.slide img{object-fit:contain;object-position:center;width:100%;height:100%;display:block}@keyframes marquee{0%{transform:translate(0,0)}to{transform:translate(-50%)}}.lightbox{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#08070ef2;justify-content:center;align-items:center;animation:.3s lightboxFade;display:flex;position:fixed;inset:0}@keyframes lightboxFade{0%{opacity:0}to{opacity:1}}.lightboxStage{max-width:min(92vw,1280px);max-height:86vh}.lightboxImgBtn{cursor:zoom-in;background:0 0;border:none;padding:0;display:block}.lightboxImgBtn img{object-fit:contain;transform-origin:50%;border-radius:10px;width:auto;max-width:min(92vw,1280px);height:auto;max-height:82vh;transition:transform .45s cubic-bezier(.22,1,.36,1);display:block;box-shadow:0 24px 80px #0009}.lightboxImgBtn.zoomed img{cursor:zoom-out;transform:scale(1.75)}.lightboxClose,.lightboxPrev,.lightboxNext{z-index:2;border:1px solid var(--border2);color:var(--white);cursor:pointer;background:#111019a6;border-radius:100px;justify-content:center;align-items:center;transition:border-color .3s,color .3s,background .3s;display:flex;position:absolute}.lightboxClose{width:46px;height:46px;font-size:15px;top:24px;right:24px}.lightboxPrev,.lightboxNext{width:54px;height:54px;font-size:30px;top:50%;transform:translateY(-50%)}.lightboxPrev{left:24px}.lightboxNext{right:24px}.lightboxClose:hover{background:var(--accent);border-color:var(--accent);color:#000}.lightboxPrev:hover,.lightboxNext:hover{border-color:var(--accent);color:var(--accent)}.lightboxHint{letter-spacing:.24em;text-transform:uppercase;color:#ffffff73;pointer-events:none;white-space:nowrap;font-size:10px;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.lightboxCounter{letter-spacing:.2em;color:#ffffff8c;font-variant-numeric:tabular-nums;pointer-events:none;font-size:11px;position:absolute;top:20px;left:50%;transform:translate(-50%)}@media (max-width:768px){.slide{width:74vw}.lightboxClose{width:42px;height:42px;top:16px;right:16px}.lightboxPrev{left:12px}.lightboxNext{right:12px}}@media (prefers-reduced-motion:reduce){.track{animation:none;overflow-x:auto}}.proj-challenges{grid-template-columns:repeat(3,1fr)}.proj-empathy-map{grid-template-columns:repeat(4,1fr)}.proj-journey{grid-template-columns:repeat(3,1fr)}.journeyemotion{color:var(--muted);letter-spacing:1px;align-items:center;gap:.5rem;font-size:14px;font-weight:500;display:flex}.proj-strategy{grid-template-columns:repeat(3,1fr)}.proj-decisions{grid-template-columns:repeat(2,1fr)}.proj-features{grid-template-columns:repeat(3,1fr)}.proj-outcomes{grid-template-columns:repeat(4,1fr)}@media (max-width:768px){.proj-challenges{grid-template-columns:repeat(1,1fr)}.proj-empathy-map{grid-template-columns:repeat(1,1fr);gap:26px 16px!important}.proj-journey,.proj-strategy,.proj-decisions,.proj-features,.proj-outcomes,.proj-meta-row{grid-template-columns:repeat(1,1fr)}}.proj-cards{gap:16px;margin-block:30px;display:grid}.proj-card{border-radius:var(--border-radius);background:var(--bg2);border:1px solid var(--border);grid-template-columns:1fr;padding:1rem 1.25rem;transition:all .2s ease-in-out;position:relative}.proj-card:hover{background:color-mix(in srgb, var(--accent) 5%, transparent);border-color:color-mix(in srgb, var(--accent) 30%, transparent);transform:scale(.98)}.proj-card.overlap-title .proj-card-title{background:var(--bg2);margin-bottom:0;position:absolute;top:-.75rem;left:1.25rem}.proj-card.overlap-title:hover .proj-card-title{color:var(--accent)}.proj-card .proj-card-num{font-size:42px;font-weight:900;font-family:var(--primaryfont);color:color-mix(in srgb, var(--accent) 35%, transparent)}.proj-card .proj-card-icon{background:var(--bg2);border:1px solid var(--border);border-radius:var(--border-radius);justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:1rem;display:flex}.proj-card .proj-card-title{color:var(--white);font-size:16px;font-family:var(--primaryfont);letter-spacing:1px;margin-bottom:.5rem;font-weight:700}.proj-card .proj-card-body{color:var(--muted);letter-spacing:1px;font-size:14px;line-height:1.5}.proj-card .proj-card-body .label{color:var(--muted2);text-transform:uppercase;font-size:12px}.proj-card .proj-card-foot{margin-top:10px;padding-top:10px}.proj-list{grid-template-columns:1fr;gap:10px;padding:0;list-style:none;display:grid}.proj-list li{letter-spacing:1px;color:var(--muted2);border-radius:var(--border-radius);background:var(--bg2);border:1px solid var(--border);align-items:flex-start;gap:14px;padding:14px 18px;font-size:14px;line-height:1.8;transition:all .2s ease-in-out;display:flex}.proj-list li:hover{background:color-mix(in srgb, var(--accent) 5%, transparent);border-color:color-mix(in srgb, var(--accent) 30%, transparent);transform:scale(.98)}.proj-list li:before{content:"→"}.proj-list.proj-validation li:before{content:"✓"}.proj-list li:before{color:var(--white);background:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;font-size:11px;font-weight:800;display:inline-flex}
.r-reveal{opacity:0;transition:opacity var(--r-dur,.9s) var(--ease), transform var(--r-dur,.9s) var(--ease), filter var(--r-dur,.9s) var(--ease);transition-delay:var(--r-delay,0s);will-change:opacity, transform, filter}.r-reveal.is-in{opacity:1;filter:none;transform:none}.r-reveal[data-variant=fade-up]{transform:translateY(52px)}.r-reveal[data-variant=fade-in]{transform:translate(0,0)}.r-reveal[data-variant=scale-in]{transform:scale(.9)}.r-reveal[data-variant=blur-in]{filter:blur(12px);transform:translateY(14px)}.r-reveal[data-variant=slide-left]{transform:translate(-56px)}.r-reveal[data-variant=slide-right]{transform:translate(56px)}.r-parallax{will-change:transform;transform:translate(0,0)}.r-magnetic{will-change:transform;display:inline-block}.r-counter{font-variant-numeric:tabular-nums}.r-img-reveal{position:relative;overflow:hidden}.r-img-reveal:before{content:"";z-index:2;background:var(--accent,#2aadac);transition:transform 1.1s var(--ease);position:absolute;inset:0;transform:translate(0,0)}.r-img-reveal.is-in:before{transform:translateY(-101%)}.r-img-reveal>img{object-fit:cover;width:100%;height:100%;transition:transform 1.5s var(--ease);display:block;transform:scale(1.18)}.r-img-reveal.is-in>img{transform:scale(1)}.r-marquee{white-space:nowrap;overflow:hidden}.r-marquee__track{width:max-content;animation:r-marquee var(--r-speed,30s) linear infinite;display:inline-flex}.r-marquee:hover .r-marquee__track,.r-marquee:focus-within .r-marquee__track{animation-play-state:paused}.r-marquee__group{flex:none;align-items:center;display:inline-flex}@keyframes r-marquee{0%{transform:translate(0,0)}to{transform:translate(-50%)}}.r-gradient-text{background:linear-gradient(100deg, var(--white) 20%, var(--accent) 45%, #7dd8d7 55%, var(--white) 80%);color:#0000;background-size:220%;-webkit-background-clip:text;background-clip:text;animation:7s linear infinite r-gradient-move}@keyframes r-gradient-move{to{background-position:-220%}}.r-gradient-bg{background:linear-gradient(120deg,#2aadac29,#2aadac05,#2aadac24) 0 0/300% 300%;animation:10s ease-in-out infinite r-gradient-bg-move}@keyframes r-gradient-bg-move{0%,to{background-position:0%}50%{background-position:100%}}.r-hover-lift{transition:transform .55s var(--ease), box-shadow .55s var(--ease)}.r-hover-lift:hover{transform:translateY(-10px);box-shadow:0 24px 48px -18px #0000008c}@media (prefers-reduced-motion:reduce){.r-reveal,.r-img-reveal:before,.r-img-reveal>img,.r-hover-lift{transition:none}.r-marquee__track,.r-gradient-text,.r-gradient-bg{animation:none}}
:root{--bg:var(--color-bg);--bg2:var(--color-bg-elevated);--surface:var(--color-surface);--border:var(--color-border);--border2:var(--color-border-strong);--white:var(--color-text);--muted:var(--color-text-muted);--muted2:var(--color-text-secondary);--accent:var(--color-primary);--accent-dim:var(--color-primary-dim);--accent-glow:var(--color-primary-glow);--nav-bg:var(--color-nav-bg-raw)}.c-ring{border-color:var(--color-glass-border)}.mobile-menu{background:var(--color-mobile-menu)}nav.scrolled .nav-logo,nav.scrolled .nav-theme,.nav-burger{background:var(--color-backdrop-btn)}.ticker-wrap{background:var(--color-bg-elevated)}::selection{color:var(--color-text-inverse);background:var(--color-primary)}.logo-name{color:var(--color-ui-dim)}.logo-name:hover{color:var(--color-ui-dim-hover)}.play-overlay,.project-card-body:before{background:var(--gradient-img-overlay)}.social-icon,.btn-resume,.tool-icon{background:var(--color-glass);border-color:var(--color-glass-border)}.bento-text{color:var(--color-text-secondary)}.bento-title-large,.bento-list-title{color:var(--color-text)}.bento-list-text{color:var(--color-text-secondary)}.bento-list-date{color:var(--color-text-muted)}.bento-text .text-highlight{color:var(--color-text);border-color:var(--color-glass-border)}.tool-icon[data-label]:after{background:var(--color-surface);border-color:var(--color-border)}.exp-dot{background:var(--color-bg);border-color:var(--color-border-strong)}.exp-line{background:linear-gradient(to bottom, var(--color-border-subtle) 0%, var(--color-primary) 50%, var(--color-border-subtle) 100%)}.skill-tag{background:var(--color-glass);border-color:var(--color-glass-border);color:var(--color-text-secondary)}.skill-tag:hover{background:var(--color-glass-border);border-color:var(--color-border-strong)}.sticker-center,.play-item:hover .play-arrow,.btn-p,.cs-btn-primary,.csp-btn-p,.proj-btn-p{color:var(--color-text-inverse)}.play-arrow{border-color:var(--color-border-strong)}.card-tag-label,.play-tag-label,.play-num,.play-sub{color:var(--color-ui-label)}.card-num{color:var(--color-ui-num)}.card-desc{color:var(--color-ui-label)}.card-tags span{background:var(--color-glass);color:var(--color-text-secondary)}.project-card{box-shadow:var(--shadow-md)}.r-hover-lift:hover{box-shadow:0 24px 48px -18px var(--shadow-color)}.modal-overlay{background:var(--color-modal-bg)}.modal-close,.pg-modal-close{background:var(--color-glass)}.modal-close:hover,.pg-modal-close:hover{color:var(--color-text-inverse);background:var(--color-primary)}.pg-modal-left,.pg-modal-right,.pg-modal-header,.pg-modal-header .pg-modal-header-title{background:var(--color-surface)}.pg-carousel{background:var(--color-bg)}.pg-thumbs::-webkit-scrollbar-thumb{background:var(--color-border-strong)}.pg-modal-right::-webkit-scrollbar-thumb{background:var(--color-border)}.r-gradient-text{background-image:var(--gradient-primary)}.proj-back-btn,.proj-next-btn{background:var(--color-backdrop-btn)}.proj-meta-cell,.csp-meta-cell,.csp-step,.proj-gallery-item,.proj-related-card{background:var(--color-bg-subtle)}.rad-body,.rad-meta-label{color:var(--color-text-secondary)}.rad-card{background:var(--color-bg-subtle)}.mock-frame{background:var(--color-glass);border-color:var(--color-border-strong);box-shadow:var(--shadow-color)}.tool-pill{background:var(--color-glass);border-color:var(--color-glass-border);color:var(--color-text-secondary)}.proj-related-card:hover .rad-card{color:var(--color-text-inverse)}.proj-out-val{color:var(--color-ui-num)}.proj-sidebar-mobile-panel{background:var(--color-surface);box-shadow:var(--shadow-md)}.proj-sidebar-index a:hover{background:var(--color-glass)}.proj-sidebar-index a.active{color:var(--color-text)}.proj-zoom-modal{background:var(--color-modal-bg)}.proj-zoom-modal-img-wrap img{box-shadow:var(--shadow-lg)}.proj-zoom-close{background:var(--color-glass)}.proj-zoom-close:hover{color:var(--color-text-inverse)}.proj-zoom-caption{color:var(--color-text-muted)}.proj-zoom-counter{color:var(--color-text-secondary)}[data-theme=light] .hero-grid{opacity:.15}[data-theme=light] .tools-canvas{opacity:.18}[data-theme=light] .o-ring{border-color:#1f98971a}[data-theme=light] .play-overlay,[data-theme=light] .project-card-body:before{background:linear-gradient(#00000026 0%,#0000004d 50%,#000000eb 100%)}[data-theme=light] .play-num,[data-theme=light] .play-tag-label,[data-theme=light] .play-sub,[data-theme=light] .card-num,[data-theme=light] .card-tag-label,[data-theme=light] .card-desc{color:#ffffffb3}[data-theme=light] .card-tags span{color:#ffffffe6;background:#ffffff1a}[data-theme=light] .play-arrow{color:#ffffffe6;border-color:#ffffff4d}[data-theme=light] .play-item:hover .play-arrow{color:#000;background:#fff}.play-item--coming-soon{cursor:default!important}.play-item--coming-soon:hover .play-real-img{transform:scale(1.04)}.play-coming-soon-badge{letter-spacing:.12em;text-transform:uppercase;background:var(--accent-glow);color:var(--accent);z-index:2;transition:all .3s var(--ease);pointer-events:none;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:600;position:absolute;top:20px;right:20px;box-shadow:0 4px 16px #00000040}.play-tag-soon-pill{color:var(--accent);font-weight:600}[data-theme=light] .play-coming-soon-badge{color:#000000c7;background:#0000000f;border-color:#00000029;box-shadow:0 4px 16px #0000000f}[data-theme=light] .play-item--coming-soon:hover .play-coming-soon-badge{color:#000;background:#0000001f;border-color:#0000004d}

