:root{--font-body:Archivo, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading:"Space Grotesk", Archivo, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--font-body);color:#111827;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fafc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100svh;margin:0}button,a{font:inherit}button{border:0}img{max-width:100%;display:block}#root{min-height:100svh}.portfolio-app{--bg:#f8fafc;--surface:#ffffff94;--surface-strong:#ffffffc7;--glass:linear-gradient(135deg, #ffffffbd, #ffffff47);--glass-soft:linear-gradient(145deg, #ffffff8a, #ffffff2e);--glass-border:#ffffffa8;--glass-inset:#ffffffd1;--text:#0f172a;--muted:#475569;--subtle:#64748b;--border:#0f172a1f;--accent:#2563eb;--accent-2:#14b8a6;--accent-3:#f97316;--shadow:0 28px 90px #0f172a2e;--soft-shadow:0 18px 55px #0f172a1f;--glass-shadow:inset 0 1px 0 var(--glass-inset), inset 0 -18px 44px #fff3, 0 22px 70px #0f172a24;min-height:100svh;color:var(--text);background:radial-gradient(circle at 14% 8%,#14b8a633,#0000 28rem),radial-gradient(circle at 88% 4%,#f9731629,#0000 24rem),linear-gradient(135deg,#f8fafc 0%,#eef2ff 48%,#fdf2f8 100%);transition:color .24s,background .24s;overflow-x:hidden}.skip-link{z-index:20;color:#fff;background:#0f172a;border-radius:8px;padding:10px 14px;text-decoration:none;transition:transform .18s;position:fixed;top:12px;left:12px;transform:translateY(-140%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.portfolio-app[data-theme=dark]{--bg:#09090f;--surface:#1218268a;--surface-strong:#161e2ec2;--glass:linear-gradient(135deg, #ffffff29, #ffffff0f);--glass-soft:linear-gradient(145deg, #ffffff1f, #ffffff0a);--glass-border:#fff3;--glass-inset:#ffffff3d;--text:#f8fafc;--muted:#cbd5e1;--subtle:#94a3b8;--border:#e2e8f029;--accent:#7dd3fc;--accent-2:#5eead4;--accent-3:#fb923c;--shadow:0 30px 100px #0000007a;--soft-shadow:0 18px 60px #0000005c;--glass-shadow:inset 0 1px 0 var(--glass-inset), inset 0 -18px 44px #ffffff0a, 0 24px 80px #0006;background:radial-gradient(circle at 10% 10%,#0ea5e938,#0000 28rem),radial-gradient(circle at 90% 0,#14b8a626,#0000 26rem),linear-gradient(135deg,#09090f 0%,#111827 55%,#18181b 100%)}.site-nav{z-index:10;border:1px solid var(--glass-border);background:var(--glass);width:min(1060px,100% - 32px);min-height:68px;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(28px)saturate(180%);isolation:isolate;border-radius:999px;grid-template-columns:minmax(180px,1fr) auto minmax(44px,1fr);align-items:center;gap:14px;margin:0 auto;padding:10px;display:grid;position:sticky;top:18px;overflow:hidden}.site-nav:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 12% 0,#ffffffad,#0000 34%),radial-gradient(circle at 92% 20%,#7dd3fc38,#0000 36%);position:absolute;inset:1px}.brand,.site-nav nav,.theme-toggle,.hero-actions button,.hero-actions a,.back-button,.next-projects button{align-items:center;display:inline-flex}.brand{min-height:48px;color:var(--text);cursor:pointer;background:#ffffff2e;border-radius:999px;justify-self:start;gap:10px;padding:4px 12px 4px 5px;transition:background .22s,transform .22s}.brand span{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:50%;place-items:center;width:40px;height:40px;font-size:.82rem;font-weight:800;display:grid;box-shadow:inset 0 1px #ffffff6b,0 12px 26px #2563eb42}.brand strong{letter-spacing:0;font-size:.96rem}.brand:hover{background:#ffffff47;transform:translateY(-1px)}.site-nav nav{border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-inset);-webkit-backdrop-filter:blur(18px)saturate(160%);background:#fff3;border-radius:999px;justify-content:center;gap:3px;padding:5px}.site-nav nav button,.site-nav nav a{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:0 15px;font-size:.88rem;font-weight:700;text-decoration:none;transition:background .18s,color .18s}.site-nav nav button:hover,.site-nav nav a:hover,.site-nav nav .active{color:var(--text);background:var(--surface-strong);box-shadow:inset 0 1px #ffffff8c,0 10px 24px #0f172a1a}.theme-toggle{border:1px solid var(--glass-border);width:48px;height:48px;color:var(--text);background:var(--glass-soft);box-shadow:inset 0 1px 0 var(--glass-inset);cursor:pointer;border-radius:50%;justify-content:center;justify-self:end;transition:transform .22s,border-color .22s,box-shadow .22s}.theme-toggle:hover{border-color:var(--accent);box-shadow:var(--glass-shadow);transform:translateY(-2px)scale(1.02)}svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}main{width:min(1180px,100% - 32px);margin:0 auto}.hero-section{grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);align-items:center;gap:56px;min-height:calc(100svh - 94px);padding:104px 0 56px;display:grid}.kicker{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px;font-size:.78rem;font-weight:800}h2,h3,p{margin-top:0}h2,h3,.brand strong,.signal-strip strong,.impact-panel strong{font-family:var(--font-heading)}.hero-title,.case-title{max-width:720px;color:var(--text);letter-spacing:0;margin-bottom:24px;font-size:clamp(2rem,3.45vw,3.45rem);line-height:1.06}.case-title{max-width:620px;font-size:clamp(1.9rem,3vw,3.1rem)}h2{letter-spacing:0;margin-bottom:0;font-size:clamp(1.9rem,3vw,3.25rem);line-height:1.05}h3{margin:8px 0 12px;font-size:1.35rem;line-height:1.18}.hero-text{max-width:640px;color:var(--muted);font-size:1.06rem;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.hero-actions button,.hero-actions a,.back-button,.next-projects button{cursor:pointer;border-radius:999px;gap:10px;min-height:48px;padding:0 18px;text-decoration:none;transition:transform .22s,box-shadow .22s,border-color .22s,background .22s}.hero-actions button{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-2));box-shadow:0 18px 40px #2563eb3d}.hero-actions a,.back-button,.next-projects button{border:1px solid var(--glass-border);color:var(--text);background:var(--glass-soft);box-shadow:inset 0 1px 0 var(--glass-inset), 0 14px 36px #0f172a14;-webkit-backdrop-filter:blur(18px)saturate(160%)}.hero-actions button:hover,.hero-actions a:hover,.back-button:hover,.next-projects button:hover{transform:translateY(-2px)}.hero-visual{min-height:640px;position:relative}.snapshot{border:1px solid var(--glass-border);background:var(--glass);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(18px)saturate(165%);cursor:pointer;isolation:isolate;border-radius:28px;padding:0;position:absolute;overflow:hidden}.snapshot:after,.project-card:before,.signal-strip:before,.capabilities:before,.case-details:before,.impact-panel:before,.palette-panel:before{content:"";z-index:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff57,#0000 38%),radial-gradient(circle at 100% 0,#7dd3fc24,#0000 34%);position:absolute;inset:1px}.snapshot>*,.project-card>*,.signal-strip>*,.capabilities>*,.case-details>*,.impact-panel>*,.palette-panel>*{z-index:1;position:relative}.snapshot img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.snapshot span{z-index:1;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a94;border:1px solid #ffffff38;border-radius:999px;padding:7px 10px;font-size:.8rem;font-weight:700;position:absolute;bottom:14px;left:14px}.snapshot:hover img{transform:scale(1.05)}.snapshot-1{width:62%;height:360px;animation:.56s both reveal-card;top:0;right:10%}.snapshot-2{width:56%;height:300px;animation:.64s .1s both reveal-card;bottom:68px;left:0}.snapshot-3{width:44%;height:260px;animation:.72s .18s both reveal-card;bottom:0;right:0}.signal-strip,.capabilities,.case-details,.impact-panel,.palette-panel{border:1px solid var(--glass-border);background:var(--glass);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(24px)saturate(170%);isolation:isolate;border-radius:28px;display:grid;position:relative}.signal-strip{grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:96px;overflow:hidden}.signal-strip div{background:#ffffff0d;padding:28px}.signal-strip strong{margin-bottom:8px;font-size:1.75rem;line-height:1;display:block}.signal-strip span,.project-card span,.case-details p,.case-story p,.impact-panel span{color:var(--muted);line-height:1.65}.work-section{padding:12px 0 70px}.section-heading{grid-template-columns:.6fr 1fr;align-items:end;gap:44px;margin-bottom:34px;display:grid}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.project-card{border:1px solid var(--glass-border);background:var(--glass);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(24px)saturate(170%);isolation:isolate;border-radius:28px;padding:12px;transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s,border-color .32s;position:relative;overflow:hidden}.project-card:hover{border-color:color-mix(in srgb, var(--accent) 34%, var(--glass-border));box-shadow:inset 0 1px 0 var(--glass-inset), 0 30px 90px #0f172a2e;transform:translateY(-6px)}.project-card button{aspect-ratio:1.08;cursor:pointer;background:#0f172a;border-radius:22px;width:100%;padding:0;position:relative;overflow:hidden}.project-card img{object-fit:cover;width:100%;height:100%;transition:transform .5s,filter .5s}.project-card:hover img{filter:saturate(1.08);transform:scale(1.04)}.project-year{color:#fff;background:#0f172ab8;border:1px solid #ffffff38;border-radius:999px;padding:6px 9px;font-size:.78rem;font-weight:800;position:absolute;top:12px;right:12px}.project-card div{padding:20px 6px 8px}.project-card p{color:var(--accent);text-transform:uppercase;margin-bottom:0;font-size:.78rem;font-weight:800}.capabilities{grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:64px;overflow:hidden}.capabilities span{min-height:96px;color:var(--text);background:#ffffff0a;padding:28px;font-size:1.15rem;font-weight:800}.project-page{padding:70px 0}.back-button{margin:24px 0 34px}.back-button svg{transform:rotate(180deg)}.case-hero{grid-template-columns:minmax(0,.85fr) minmax(420px,1fr);align-items:stretch;gap:40px;display:grid}.case-hero>div{align-self:center}.case-hero p:not(.kicker){color:var(--muted);font-size:1.06rem;line-height:1.7}.case-hero img{border:1px solid var(--glass-border);object-fit:cover;width:100%;min-height:520px;box-shadow:var(--glass-shadow);border-radius:30px}.case-details{grid-template-columns:repeat(3,1fr);gap:1px;margin:28px 0;overflow:hidden}.case-details div,.impact-panel div{background:#ffffff0a;padding:28px}.case-details span{color:var(--accent);text-transform:uppercase;margin-bottom:10px;font-size:.76rem;font-weight:800;display:block}.case-details p{margin-bottom:0}.case-story{grid-template-columns:.8fr 1fr;gap:48px;padding:76px 0;display:grid}.case-story>p{align-self:end;margin-bottom:0;font-size:1.02rem}.impact-panel{grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden}.impact-panel strong{color:var(--text);margin-bottom:8px;font-size:2rem;line-height:1;display:block}.impact-panel span{display:block}.palette-panel{grid-template-columns:repeat(3,1fr);height:80px;margin:28px 0 64px;overflow:hidden}.next-projects{padding-bottom:24px}.next-projects>div{flex-wrap:wrap;gap:12px;display:flex}button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 72%, white);outline-offset:3px}@keyframes reveal-card{0%{opacity:0;filter:blur(10px);transform:translateY(18px)scale(.97)}to{opacity:1;filter:blur();transform:translate(0,0)scale(1)}}@media (width<=980px){.site-nav{border-radius:26px;grid-template-columns:1fr auto;gap:12px;width:min(100% - 24px,1060px);padding:10px}.site-nav nav{grid-area:2/1/auto/-1;justify-content:flex-start;overflow-x:auto}.hero-section,.case-hero,.case-story,.section-heading{grid-template-columns:1fr}.hero-section{gap:30px;min-height:auto;padding-top:68px}.hero-visual{min-height:520px}.project-grid,.signal-strip,.case-details,.impact-panel,.capabilities{grid-template-columns:1fr}.case-hero img{min-height:360px}}@media (width<=640px){main{width:min(100% - 24px,1180px)}.brand strong{display:none}.site-nav nav button,.site-nav nav a{padding:0 11px}.hero-title,.case-title{font-size:clamp(1.85rem,9vw,2.7rem)}.hero-visual{min-height:430px}.snapshot-1{width:76%;height:250px;right:0}.snapshot-2{width:70%;height:220px;bottom:58px}.snapshot-3{width:52%;height:180px}.signal-strip{margin-bottom:58px}.case-story{padding:48px 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
