:root{--bg:#0a0a0a;--bg-alt:#0e0e0e;--surface:#141414;--surface-2:#1c1c1c;--paper:#f2f0eb;--ink:#0a0a0a;--fg:#f2f0eb;--fg-dim:#9e9c94;--fg-muted:#56544e;--label:#f2f0eb6b;--border:#f2f0eb21;--border-dim:#f2f0eb12;--accent:#f2f0eb;--accent-dim:#f2f0eb1a;--font-display:"Fraunces", "Times New Roman", Georgia, serif;--font-serif:"Fraunces", Georgia, serif;--font-body:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Space Mono", "JetBrains Mono", monospace;--nav-h:74px;--maxw:1280px;--gutter:2.5rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--transition:.25s var(--ease-out)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-optical-sizing:auto;scrollbar-width:thin;scrollbar-color:var(--fg-muted) transparent;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background:var(--bg);color:var(--fg);font-optical-sizing:auto;font-weight:400;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--fg-muted);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--fg-dim)}::selection{background:var(--paper);color:var(--ink)}body:after{content:"";pointer-events:none;z-index:9000;opacity:.022;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");position:fixed;inset:0}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}:focus:not(:focus-visible){outline:none}:focus-visible{outline:1px solid var(--fg);outline-offset:3px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.container{max-width:var(--maxw);padding:0 var(--gutter);margin:0 auto}@media (width<=640px){:root{--gutter:1.25rem}}.kicker,.label{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--label);font-size:.62rem;font-weight:400;display:block}.kicker{align-items:center;gap:.7rem;display:inline-flex}.kicker:before{content:"";opacity:.6;background:currentColor;width:1.6rem;height:1px}.serif{font-family:var(--font-display)}.italic{font-style:italic}.btn{font-family:var(--font-body);letter-spacing:.01em;cursor:pointer;white-space:nowrap;transition:background .3s var(--ease-out), color .3s var(--ease-out), border-color .3s var(--ease-out), transform .3s var(--ease-out);background:0 0;border:none;border-radius:0;align-items:center;gap:.55rem;padding:.85rem 1.6rem;font-size:.82rem;font-weight:500;text-decoration:none;display:inline-flex}.btn svg{transition:transform .3s var(--ease-out)}.btn:hover svg{transform:translate(2px,-2px)}.btn--light,.btn--dark,.btn--accent{background:var(--paper);color:var(--ink)}.btn--light:hover,.btn--dark:hover,.btn--accent:hover{background:#fff;transform:translateY(-1px)}.btn--ghost,.btn--outline{border:1px solid var(--border);color:var(--fg)}.btn--ghost:hover{border-color:var(--fg);background:#f2f0eb0a}.btn--outline:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}.link-underline{display:inline-block;position:relative}.link-underline:after{content:"";transform-origin:100%;width:100%;height:1px;transition:transform .4s var(--ease-out);background:currentColor;position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.link-underline:hover:after{transform-origin:0;transform:scaleX(1)}.page{background:var(--bg);min-height:100vh;padding-top:var(--nav-h)}.scroll-progress{transform-origin:0%;background:var(--fg);z-index:250;mix-blend-mode:difference;width:100%;height:2px;position:fixed;top:0;left:0}.page-header{padding:clamp(3.5rem,8vw,7rem) 0 0;overflow:hidden}.page-header__inner{max-width:var(--maxw);padding:0 var(--gutter);margin:0 auto}.page-header__label{margin-bottom:1.8rem}.page-title-clip{padding-bottom:.12em;overflow:hidden}.page-title{font-family:var(--font-display);letter-spacing:-.025em;color:var(--fg);font-size:clamp(3.2rem,9.5vw,9.5rem);font-weight:360;line-height:.94;display:block}.page-title em{font-style:italic;font-weight:360}.page-rule{border:none;border-top:1px solid var(--border-dim);margin-top:clamp(2.5rem,5vw,4rem)}.section-heading{font-family:var(--font-display);letter-spacing:-.02em;color:var(--fg);font-size:clamp(1.9rem,4vw,3.4rem);font-weight:360;line-height:1}.typewriter{font-family:var(--font-display);color:var(--fg-dim);letter-spacing:0;font-size:1.05rem;font-style:italic;font-weight:380}.typewriter-cursor{color:var(--fg-muted);margin-left:1px;font-style:normal;animation:1.1s step-end infinite cursor-blink;display:inline-block}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.nav{z-index:200;height:var(--nav-h);-webkit-backdrop-filter:blur(18px)saturate(1.3);border-bottom:1px solid var(--border-dim);background:#0a0a0ab3;transition:background .4s,border-color .4s;position:fixed;top:0;left:0;right:0}.nav--hero{background:0 0;border-bottom-color:#0000}.nav--hero.nav--scrolled{border-bottom-color:var(--border-dim);background:#0a0a0acc}.nav-inner{height:100%;max-width:var(--maxw);padding:0 var(--gutter);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.nav-logo{font-family:var(--font-display);letter-spacing:.01em;color:var(--fg);flex-shrink:0;font-size:1.45rem;font-weight:500;line-height:1;transition:opacity .25s}.nav-logo:hover{opacity:.5}.nav-links{align-items:center;gap:2.6rem;list-style:none;display:flex}.nav-link{font-family:var(--font-body);letter-spacing:.005em;color:var(--fg-dim);padding:.2rem 0;font-size:.82rem;font-weight:400;transition:color .25s;position:relative}.nav-link:after{content:"";background:var(--fg);transform-origin:100%;width:100%;height:1px;transition:transform .35s var(--ease-out);position:absolute;bottom:-1px;left:0;transform:scaleX(0)}.nav-link:hover{color:var(--fg)}.nav-link:hover:after{transform-origin:0;transform:scaleX(1)}.nav-link--active{color:var(--fg)}.nav-link--active:after{transform:scaleX(1)}.nav-burger{z-index:300;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;padding:6px 4px;display:none}.nav-burger span{background:var(--fg);transform-origin:50%;width:24px;height:1px;transition:transform .3s,opacity .3s;display:block}.nav-burger--open span:first-child{transform:translateY(6px)rotate(45deg)}.nav-burger--open span:nth-child(2){opacity:0;transform:scaleX(0)}.nav-burger--open span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.nav-overlay{z-index:199;-webkit-backdrop-filter:blur(28px);background:#0a0a0afb;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.nav-overlay-nav{flex-direction:column;align-items:center;gap:.4rem;display:flex}.nav-overlay-link{font-family:var(--font-display);color:var(--fg-muted);letter-spacing:-.02em;font-size:clamp(3rem,11vw,6.5rem);font-weight:340;line-height:1.02;transition:color .3s,font-style .3s,letter-spacing .3s}.nav-overlay-link:hover,.nav-overlay-link--active{color:var(--fg);font-style:italic}.nav-overlay-footer{gap:2.5rem;display:flex;position:absolute;bottom:2.5rem}.nav-overlay-footer a{font-family:var(--font-body);color:var(--fg-dim);align-items:center;gap:.55rem;font-size:.8rem;font-weight:400;transition:color .25s;display:flex}.nav-overlay-footer a:hover{color:var(--fg)}@media (width<=820px){.nav-links{display:none}.nav-burger{display:flex}}.hero{background:var(--bg);min-height:100svh;padding:calc(var(--nav-h) + 2rem) 0 6rem;flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}.hero-inner{z-index:1;width:100%;max-width:var(--maxw);padding:0 var(--gutter);flex-direction:column;margin:0 auto;display:flex;position:relative}.hero-status{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--fg-dim);align-items:center;gap:.7rem;margin-bottom:clamp(2rem,4vw,3.2rem);font-size:.66rem;font-weight:400;display:flex}.hero-status-dot{background:var(--fg);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2.6s ease-in-out infinite dot-pulse}@keyframes dot-pulse{0%,to{opacity:.45;transform:scale(1);box-shadow:0 0 #f2f0eb00}50%{opacity:1;transform:scale(1.25);box-shadow:0 0 10px 1px #f2f0eb80}}.hero-name{--name-fs:clamp(5rem, 17vw, 19rem);font-size:var(--name-fs);transform-style:preserve-3d;will-change:transform;flex-direction:column;margin:0;display:flex}.hero-name-clip{line-height:.82;display:block;overflow:hidden}.hero-name-clip:not(:last-child){margin-bottom:-.26em;padding-bottom:.26em}.hero-name-clip+.hero-name-clip{margin-top:.1em}.hero-name-line{font-family:var(--font-display);color:var(--fg);letter-spacing:-.035em;font-size:1em;line-height:.82;display:block}.hero-name-line--thin{font-weight:300}.hero-name-line--bold{font-style:italic;font-weight:600}.hero-divider{background:var(--border);transform-origin:0;width:100%;height:1px;margin:clamp(2rem,4vw,3rem) 0 clamp(1.8rem,3.5vw,2.6rem)}.hero-bottom{grid-template-columns:1fr auto auto;align-items:end;gap:clamp(2rem,4vw,4rem);display:grid}.hero-meta{flex-direction:column;gap:.85rem;display:flex}.hero-role{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--label);font-size:.68rem;font-weight:400;display:block}.hero-quip{max-width:42ch;min-height:1.6rem}.hero-stats{align-items:flex-end;gap:clamp(1.6rem,3vw,3rem);display:flex}.hero-stat{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.hero-stat-n{font-family:var(--font-display);color:var(--fg);letter-spacing:-.03em;font-size:clamp(2.4rem,4.5vw,4.2rem);font-weight:360;line-height:.85}.hero-stat-label{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--label);font-size:.56rem;font-weight:400}.hero-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}@media (width<=900px){.hero-bottom{grid-template-columns:1fr;gap:2.4rem}.hero-stats{order:-1;gap:2.4rem}.hero-actions{flex-wrap:wrap}}@media (width<=640px){.hero{padding-bottom:5rem}.hero-name{--name-fs:clamp(4.2rem, 23vw, 8rem)}.hero-stats{gap:2rem}.hero-stat-n{font-size:clamp(2rem,9vw,3rem)}}.footer{border-top:1px solid var(--border-dim);background:var(--bg);padding:clamp(2rem,4vw,3rem) 0}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.footer-copy{font-family:var(--font-mono);color:var(--label);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:400}.footer-nav{gap:1.8rem;display:flex}.footer-nav a,.footer-legal a{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-dim);font-size:.6rem;font-weight:400;transition:color .25s}.footer-nav a:hover,.footer-legal a:hover{color:var(--fg)}.footer-legal{gap:1.5rem;display:flex}@media (width<=640px){.footer-inner{flex-direction:column;align-items:flex-start;gap:1.2rem}.footer-nav{gap:1.4rem}}.about-body{padding:clamp(3rem, 6vw, 5.5rem) var(--gutter) 8rem}.about-grid{grid-template-columns:320px 1fr;align-items:start;gap:clamp(3rem,6vw,6rem);margin-bottom:clamp(4rem,9vw,8rem);display:grid}@media (width<=960px){.about-grid{grid-template-columns:1fr;gap:3rem}}.about-photo-col{top:calc(var(--nav-h) + 2rem);position:sticky}@media (width<=960px){.about-photo-col{max-width:360px;position:static}}.about-photo-frame{aspect-ratio:3/4;background:var(--surface);position:relative;overflow:hidden}.about-photo-frame:after{content:"";border:1px solid var(--border);pointer-events:none;position:absolute;inset:0}.about-photo-frame img{object-fit:cover;object-position:center top;filter:grayscale()contrast(1.05);width:100%;height:100%;transition:filter .7s var(--ease-out), transform .7s var(--ease-out);display:block}.about-photo-frame:hover img{filter:grayscale()contrast(1.12);transform:scale(1.03)}.about-social{gap:1.6rem;margin-top:1.6rem;display:flex}.about-social a{color:var(--fg-muted);transition:color .25s,transform .25s}.about-social a:hover{color:var(--fg);transform:translateY(-2px)}.about-text-col{flex-direction:column;gap:1.8rem;padding-top:.25rem;display:flex}.about-lead{font-family:var(--font-display);letter-spacing:-.015em;color:var(--fg);font-size:clamp(1.6rem,3vw,2.7rem);font-weight:360;line-height:1.18}.about-lead em{font-style:italic;font-weight:360}.about-body-text{font-family:var(--font-body);color:var(--fg-dim);max-width:60ch;font-size:clamp(.95rem,1.2vw,1.05rem);font-weight:400;line-height:1.78}.about-focus{margin-bottom:clamp(4rem,8vw,7rem)}.about-focus-kicker{margin-bottom:clamp(2rem,4vw,3.5rem)}.focus-list{list-style:none}.focus-item{border-top:1px solid var(--border-dim);transition:padding .35s var(--ease-out);grid-template-columns:3rem minmax(0,16rem) 1fr;align-items:baseline;gap:0 clamp(1.5rem,3vw,3rem);padding:clamp(1.8rem,3vw,2.6rem) 0;display:grid;position:relative}.focus-item:last-child{border-bottom:1px solid var(--border-dim)}.focus-item:hover{padding-left:1rem}.focus-num{font-family:var(--font-mono);color:var(--fg-muted);letter-spacing:.05em;padding-top:.35rem;font-size:.7rem}.focus-title{font-family:var(--font-display);letter-spacing:-.015em;color:var(--fg);font-size:clamp(1.3rem,2.2vw,1.85rem);font-weight:380;line-height:1.05}.focus-body{color:var(--fg-dim);max-width:52ch;font-size:.92rem;line-height:1.72}.focus-work{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-muted);margin-top:.9rem;font-size:.62rem;display:block}@media (width<=760px){.focus-item{grid-template-columns:1fr;gap:.7rem}.focus-num{padding-top:0}.focus-body{max-width:none}}.about-education{margin-bottom:clamp(4rem,8vw,7rem)}.edu-list{list-style:none}.edu-item{border-top:1px solid var(--border-dim);grid-template-columns:minmax(0,16rem) 1fr;align-items:start;gap:0 clamp(1.5rem,3vw,3rem);padding:clamp(1.8rem,3vw,2.6rem) 0;display:grid}.edu-item:last-child{border-bottom:1px solid var(--border-dim)}.edu-meta{flex-direction:column;gap:.5rem;padding-top:.3rem;display:flex}.edu-period{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--label);font-size:.64rem;font-weight:400}.edu-school{font-family:var(--font-body);color:var(--fg-dim);align-self:flex-start;font-size:.86rem;font-weight:400}.edu-content{padding-top:.1rem}.edu-degree{font-family:var(--font-display);color:var(--fg);letter-spacing:-.015em;font-size:clamp(1.5rem,2.6vw,2.4rem);font-weight:380;line-height:1.02}.edu-detail{color:var(--fg-dim);margin-top:.6rem;font-size:.88rem;font-weight:400}@media (width<=720px){.edu-item{grid-template-columns:1fr;gap:.8rem}}.about-cta{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;padding-top:clamp(2rem,4vw,3rem);display:flex}.about-cta-text{font-family:var(--font-display);letter-spacing:-.015em;color:var(--fg);max-width:24ch;font-size:clamp(1.3rem,2.4vw,2rem);font-weight:360;line-height:1.2}.about-cta-text em{font-style:italic}.pmodal-backdrop{z-index:400;-webkit-backdrop-filter:blur(10px);background:#000000c7;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.pmodal{background:var(--bg-alt);border:1px solid var(--border);flex-direction:column;width:100%;max-width:780px;max-height:90vh;display:flex;position:relative;overflow:hidden}.pmodal-header{background:var(--bg);flex-shrink:0;padding:clamp(2rem,4vw,3rem) clamp(1.75rem,4vw,3rem) 0}.pmodal-meta{flex-wrap:wrap;align-items:baseline;gap:1.4rem;margin-bottom:1.4rem;display:flex}.pmodal-cat{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-dim);font-size:.62rem;font-weight:400}.pmodal-date{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-muted);font-size:.62rem;font-weight:400}.pmodal-title{font-family:var(--font-display);color:var(--fg);letter-spacing:-.025em;padding-bottom:clamp(1.6rem,3vw,2.4rem);font-size:clamp(2.1rem,4.5vw,3.6rem);font-weight:360;line-height:1}.pmodal-rule{background:var(--border-dim);height:1px;margin:0 clamp(-1.75rem,-4vw,-3rem)}.pmodal-body{flex-direction:column;flex:1;gap:2.4rem;padding:clamp(1.8rem,3.5vw,2.6rem) clamp(1.75rem,4vw,3rem) clamp(2rem,4vw,3rem);display:flex;overflow-y:auto}.pmodal-body::-webkit-scrollbar{width:4px}.pmodal-body::-webkit-scrollbar-track{background:0 0}.pmodal-body::-webkit-scrollbar-thumb{background:var(--fg-muted)}.pmodal-lead{font-family:var(--font-display);letter-spacing:-.01em;color:var(--fg);max-width:56ch;font-size:clamp(1.15rem,2vw,1.55rem);font-weight:340;line-height:1.34}.pmodal-rich{flex-direction:column;display:flex}.pmodal-rich>*+*{margin-top:1.1rem}.pmodal-rich h3{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--label);border-top:1px solid var(--border-dim);margin-top:2.2rem;padding-top:1.4rem;font-size:.66rem;font-weight:400}.pmodal-rich h3:first-child{border-top:none;margin-top:0;padding-top:0}.pmodal-rich p{font-family:var(--font-body);color:var(--fg-dim);max-width:64ch;font-size:.95rem;font-weight:400;line-height:1.78}.pmodal-rich ul{flex-direction:column;gap:.7rem;max-width:64ch;list-style:none;display:flex}.pmodal-rich li{font-family:var(--font-body);color:var(--fg-dim);padding-left:1.5rem;font-size:.92rem;font-weight:400;line-height:1.62;position:relative}.pmodal-rich li:before{content:"";background:var(--fg-muted);width:.7rem;height:1px;position:absolute;top:.66em;left:0}.pmodal-rich strong{color:var(--fg);font-weight:500}.pmodal-rich code{font-family:var(--font-mono);color:var(--fg);background:var(--surface-2);border:1px solid var(--border-dim);padding:.05em .4em;font-size:.82em}.pmodal-rich a{color:var(--fg);border-bottom:1px solid var(--fg-muted);text-decoration:none;transition:border-color .2s}.pmodal-rich a:hover{border-color:var(--fg)}.pmodal-section{border-top:1px solid var(--border-dim);flex-direction:column;gap:1rem;padding-top:1.6rem;display:flex}.pmodal-section-label{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--label);font-size:.6rem;font-weight:400}.pmodal-tech{flex-wrap:wrap;gap:.45rem;display:flex}.pmodal-tech-tag{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim);border:1px solid var(--border-dim);padding:.32rem .7rem;font-size:.6rem;font-weight:400;transition:border-color .2s,color .2s}.pmodal-tech-tag:hover{border-color:var(--border);color:var(--fg)}.pmodal-facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem 2rem;display:grid}.pmodal-fact{flex-direction:column;gap:.35rem;display:flex}.pmodal-fact-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--label);font-size:.56rem}.pmodal-fact-value{font-family:var(--font-body);color:var(--fg);font-size:.9rem;font-weight:400}.pmodal-close{border:1px solid var(--border);width:34px;height:34px;color:var(--fg-dim);cursor:pointer;z-index:10;background:#f2f0eb0d;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex;position:absolute;top:1.4rem;right:1.4rem}.pmodal-close:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}@media (width<=600px){.pmodal-backdrop{align-items:flex-end;padding:0}.pmodal{max-width:100%;max-height:94vh}}.work-body{padding:clamp(2.6rem, 5vw, 3.5rem) var(--gutter) 7rem}.work-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:clamp(2.5rem,5vw,3.5rem);display:flex}.work-count{font-family:var(--font-mono);letter-spacing:.12em;color:var(--fg-muted);flex-shrink:0;font-size:.66rem}.work-filters{flex-wrap:wrap;gap:.5rem;display:flex}.work-filter{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border-dim);color:var(--fg-dim);cursor:pointer;background:0 0;padding:.42rem .95rem;font-size:.6rem;font-weight:400;transition:border-color .2s,color .2s,background .2s}.work-filter:hover{border-color:var(--border);color:var(--fg)}.work-filter--active{background:var(--paper);border-color:var(--paper);color:var(--ink)}.work-list{list-style:none}.work-item{border-top:1px solid var(--border-dim);cursor:pointer;grid-template-columns:4rem 1fr 1.6rem;align-items:start;gap:0 clamp(1.5rem,3vw,3rem);padding:clamp(2rem,4vw,3rem) 0;transition:background .3s,margin .3s,padding .3s;display:grid}.work-item:last-child{border-bottom:1px solid var(--border-dim)}.work-item:hover{background:var(--paper);margin:0 calc(var(--gutter) * -1);padding:clamp(2rem, 4vw, 3rem) var(--gutter)}.work-num{font-family:var(--font-mono);color:var(--fg-muted);letter-spacing:.08em;padding-top:.7rem;font-size:.7rem;font-weight:400;transition:color .3s}.work-item:hover .work-num{color:#0a0a0a66}.work-info{flex-direction:column;gap:.9rem;display:flex}.work-head{flex-wrap:wrap;align-items:baseline;gap:1.4rem;display:flex}.work-title{font-family:var(--font-display);color:var(--fg);letter-spacing:-.025em;font-size:clamp(2rem,3.6vw,3.6rem);font-weight:360;line-height:.98;transition:color .3s}.work-item:hover .work-title{color:var(--ink)}.work-cat{flex-shrink:0;transition:color .3s}.work-item:hover .work-cat{color:#0a0a0a73}.work-desc{color:var(--fg-dim);max-width:62ch;font-size:.92rem;font-weight:400;line-height:1.72;transition:color .3s}.work-item:hover .work-desc{color:#0a0a0a99}.work-tags{flex-wrap:wrap;gap:.4rem;display:flex}.work-tag{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted);border:1px solid var(--border-dim);padding:.25rem .6rem;font-size:.58rem;font-weight:400;transition:border-color .3s,color .3s}.work-item:hover .work-tag{color:#0a0a0a80;border-color:#0a0a0a2e}.work-arrow{color:var(--fg-muted);flex-shrink:0;margin-top:.6rem;transition:color .3s,transform .3s}.work-item:hover .work-arrow{color:var(--ink);transform:translate(3px,-3px)}@media (width<=600px){.work-item{grid-template-columns:3rem 1fr;gap:0 1.2rem}.work-arrow{display:none}}.exp-body{padding:clamp(3rem, 6vw, 5.5rem) var(--gutter) 8rem}.exp-list{list-style:none}.exp-item{border-top:1px solid var(--border-dim);transition:padding-left .4s var(--ease-out);grid-template-columns:minmax(0,18rem) 1fr;align-items:start;gap:0 clamp(2rem,5vw,5rem);padding:clamp(2.6rem,5vw,4.5rem) 0;display:grid}.exp-item:last-child{border-bottom:1px solid var(--border-dim)}.exp-item:hover{padding-left:clamp(0px,1.5vw,1.25rem)}@media (width<=820px){.exp-item{grid-template-columns:1fr;gap:1.4rem;padding:2.8rem 0}.exp-item:hover{padding-left:0}}.exp-meta{top:calc(var(--nav-h) + 1.5rem);flex-direction:column;gap:.55rem;padding-top:.7rem;display:flex;position:sticky}@media (width<=820px){.exp-meta{padding-top:0;position:static}}.exp-period{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--label);transition:color .4s var(--ease-out);font-size:.64rem;font-weight:400}.exp-item:hover .exp-period{color:var(--fg)}.exp-company{font-family:var(--font-body);color:var(--fg-dim);font-size:.88rem;font-weight:400}.exp-content{flex-direction:column;gap:1.7rem;display:flex}.exp-title{font-family:var(--font-display);color:var(--fg);letter-spacing:-.025em;font-size:clamp(2rem,4.2vw,4.4rem);font-weight:360;line-height:.98}.exp-details{flex-direction:column;gap:.85rem;max-width:60ch;list-style:none;display:flex}.exp-detail{color:var(--fg-dim);padding-left:1.4rem;font-size:.95rem;font-weight:400;line-height:1.72;position:relative}.exp-detail:before{content:"";background:var(--fg-muted);width:.7rem;height:1px;position:absolute;top:.72em;left:0}.exp-tags{flex-wrap:wrap;gap:.45rem;display:flex}.exp-tag{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim);border:1px solid var(--border-dim);padding:.35rem .85rem;font-size:.62rem;font-weight:400;transition:background .25s,color .25s,border-color .25s}.exp-tag:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}.skills-body{padding:clamp(3rem, 6vw, 5.5rem) var(--gutter) 8rem;flex-direction:column;gap:0;display:flex}.skills-section{border-top:1px solid var(--border-dim);grid-template-columns:minmax(0,18rem) 1fr;align-items:start;gap:clamp(2rem,4vw,4rem);padding:clamp(2.4rem,4vw,3.4rem) 0;display:grid}.skills-section:last-child{border-bottom:1px solid var(--border-dim)}@media (width<=820px){.skills-section{grid-template-columns:1fr;gap:1.5rem}}.skills-section-head{top:calc(var(--nav-h) + 1.5rem);align-items:baseline;gap:1rem;padding-top:.3rem;display:flex;position:sticky}@media (width<=820px){.skills-section-head{position:static}}.skills-section-num{font-family:var(--font-mono);letter-spacing:.1em;color:var(--fg-muted);flex-shrink:0;font-size:.66rem;font-weight:400}.skills-section-title{font-family:var(--font-display);color:var(--fg);letter-spacing:-.02em;font-size:clamp(1.6rem,2.8vw,2.6rem);font-weight:360;line-height:1.02}.skills-tags{flex-wrap:wrap;align-content:flex-start;gap:.5rem;display:flex}.skills-tag{font-family:var(--font-body);color:var(--fg-dim);border:1px solid var(--border-dim);cursor:default;transition:background .22s var(--ease-out), color .22s var(--ease-out), border-color .22s var(--ease-out), transform .22s var(--ease-out);background:0 0;align-items:center;gap:.45rem;padding:.5rem 1.05rem;font-size:.82rem;font-weight:400;display:inline-flex}.skills-tag:hover{background:var(--paper);color:var(--ink);border-color:var(--paper);transform:translateY(-2px)}.skills-tag--cert{border-color:var(--border);color:var(--fg)}.skills-tag--cert:before{content:"✦";color:var(--fg-muted);transition:color .22s var(--ease-out);font-size:.7rem}.skills-tag--cert:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}.skills-tag--cert:hover:before{color:var(--ink)}.contact-body{padding:clamp(2.6rem, 5vw, 3.5rem) var(--gutter) 8rem}.contact-grid{grid-template-columns:1fr 1.5fr;align-items:start;gap:clamp(3rem,7vw,6rem);display:grid}@media (width<=900px){.contact-grid{grid-template-columns:1fr;gap:3.5rem}}.contact-pitch{font-family:var(--font-display);letter-spacing:-.015em;color:var(--fg);max-width:22ch;margin-bottom:2.6rem;font-size:clamp(1.4rem,2.4vw,2.1rem);font-weight:360;line-height:1.24}.contact-details{flex-direction:column;gap:1rem;margin-bottom:2.6rem;display:flex}.contact-detail-row{color:var(--fg-dim);align-items:center;gap:.9rem;font-size:.92rem;font-weight:400;transition:color .25s;display:flex}a.contact-detail-row:hover{color:var(--fg)}.contact-detail-row svg{color:var(--fg-muted);flex-shrink:0}.contact-socials{flex-direction:column;gap:.85rem;display:flex}.contact-socials a{width:fit-content;font-family:var(--font-body);color:var(--fg-dim);align-items:center;gap:.7rem;font-size:.88rem;font-weight:400;transition:color .25s;display:inline-flex}.contact-socials a:hover{color:var(--fg)}.contact-form{flex-direction:column;gap:2.2rem;display:flex}.cf-field{flex-direction:column;gap:.7rem;display:flex}.cf-label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--label);font-size:.6rem;font-weight:400}.cf-input{font-family:var(--font-body);color:var(--fg);border:none;border-bottom:1px solid var(--border);background:0 0;border-radius:0;outline:none;width:100%;padding:.7rem 0;font-size:.98rem;font-weight:400;transition:border-color .3s}.cf-input::placeholder{color:var(--fg-muted)}.cf-input:focus{border-color:var(--fg)}.cf-textarea{resize:vertical;min-height:120px;line-height:1.6}.cf-field--error .cf-input{border-color:var(--fg-dim)}.cf-error{font-family:var(--font-mono);color:var(--fg-dim);letter-spacing:.08em;text-transform:uppercase;font-size:.6rem;font-weight:400}.cf-server-error{color:var(--fg);font-size:.86rem}.cf-submit{align-self:flex-start;margin-top:.5rem}.contact-success{flex-direction:column;align-items:flex-start;gap:1rem;padding:3rem 0;display:flex}.contact-success-icon{border:1px solid var(--fg);width:44px;height:44px;color:var(--fg);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.5rem;display:flex}.contact-success h3{font-family:var(--font-display);color:var(--fg);letter-spacing:-.02em;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:360}.contact-success p{color:var(--fg-dim);font-size:.95rem}.admin-page{background:var(--color-background);min-height:100vh;color:var(--color-text-primary);font-family:var(--font-body);padding:var(--section-spacing) var(--spacing-lg)}.admin-page--dashboard{padding-top:0}.admin-page .container{max-width:var(--max-width);margin:0 auto}.admin-header-wrap{text-align:center;margin-bottom:var(--spacing-3xl);max-width:640px;margin-left:auto;margin-right:auto}.admin-header-wrap .section-subtitle{font-family:var(--font-body);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--spacing-sm);font-size:.8125rem;display:inline-block}.admin-header-wrap .section-title{color:var(--color-text-primary);margin-bottom:var(--spacing-md);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:var(--font-weight-bold);letter-spacing:-.025em;line-height:1.25}.admin-header-wrap .section-description{color:var(--color-text-secondary);margin:0;font-size:1rem;line-height:1.65}.admin-form-wrap{max-width:420px;box-shadow:none;background:0 0;border:none;margin:0 auto}.admin-form{flex-direction:column;gap:1.5rem;display:flex}.admin-form .form-group{margin:0;position:relative}.admin-form .form-group label{font-size:.8125rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);display:block}.admin-form .form-input{border:none;border-bottom:1px solid var(--glass-border);width:100%;font-family:var(--font-body);color:var(--color-text-primary);background:0 0;border-radius:0;outline:none;padding:.875rem 0;font-size:.9375rem;transition:all .2s}.admin-form .form-input::placeholder{color:var(--color-text-muted);opacity:.6}.admin-form .form-input:focus{border-bottom-color:var(--color-text-primary);padding-bottom:.75rem}.admin-form .form-input.error{border-bottom-color:#ef4444}.admin-form .error{color:#f87171;margin-top:.5rem;font-size:.8125rem;font-weight:400}.admin-form .form-error-banner{color:#fca5a5;border-radius:var(--radius-md);background:#ef44441a;border:1px solid #ef44444d;margin-bottom:.5rem;padding:.75rem 1rem;font-size:.875rem}.admin-form .submit-btn{border:1px solid var(--glass-border);width:100%;font-family:var(--font-body);color:var(--color-text-primary);cursor:pointer;text-transform:none;letter-spacing:0;background:0 0;border-radius:0;margin-top:.5rem;padding:.875rem 0;font-size:.9375rem;font-weight:400;transition:all .2s}.admin-form .submit-btn:hover:not(:disabled){background:var(--color-text-primary);color:var(--color-background);border-color:var(--color-text-primary)}.admin-form .submit-btn:disabled{opacity:.5;cursor:not-allowed}.admin-toggle{margin-top:var(--spacing-lg);color:var(--color-text-secondary);text-align:center;font-size:.875rem}.admin-toggle button{color:var(--color-accent-primary);cursor:pointer;font:inherit;transition:color var(--transition-base);background:0 0;border:none;padding:0;text-decoration:none}.admin-toggle button:hover{color:var(--color-accent-primary-hover)}.admin-dashboard-section{padding:var(--section-spacing) 0;z-index:2;background:0 0;position:relative}.admin-dashboard-section .admin-dashboard-header{text-align:center;margin-bottom:var(--spacing-3xl);max-width:560px;margin-left:auto;margin-right:auto}.admin-dashboard-section .admin-dashboard-header .section-subtitle{margin-bottom:var(--spacing-sm)}.admin-dashboard-section .admin-dashboard-header .section-title{margin-bottom:var(--spacing-md);font-size:clamp(1.75rem,4vw,2.5rem)}.admin-dashboard-section .admin-dashboard-header .section-description{color:var(--color-text-secondary);margin:0;font-size:1rem;line-height:1.65}.admin-topbar{z-index:10;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-border);padding:var(--spacing-md) var(--spacing-lg);position:sticky;top:0}.admin-topbar__inner{max-width:var(--max-width);justify-content:space-between;align-items:center;gap:var(--spacing-md);margin:0 auto;display:flex}.admin-topbar__back,.admin-topbar__signout{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-family:var(--font-body);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base);background:0 0;border:1px solid #0000;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.admin-topbar__back:hover,.admin-topbar__signout:hover{color:var(--color-text-primary);background:var(--glass-bg-hover);border-color:var(--glass-border-hover)}.submissions-list{gap:var(--spacing-lg);margin-top:var(--spacing-xl);flex-direction:column;display:flex}.submission-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);padding:var(--spacing-xl);transition:all var(--transition-base);animation:submissionCardIn .5s var(--ease-out) backwards}.submission-card:hover{border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow-hover);transform:translateY(-2px)}@keyframes submissionCardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.submission-card__header{justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-divider);flex-wrap:wrap;display:flex}.submission-card__identity{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.submission-name{font-family:var(--font-heading);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:-.02em;font-size:1.0625rem}.submission-email{color:var(--color-accent-primary);transition:color var(--transition-base);align-items:center;gap:6px;font-size:.875rem;text-decoration:none;display:inline-flex}.submission-email:hover{color:var(--color-accent-primary-hover)}.submission-date{color:var(--color-text-muted);font-size:.8125rem;font-weight:500}.submission-subject-pill{margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);background:var(--glass-bg-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-full);padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-block}.submission-message-wrap{margin-top:var(--spacing-sm)}.submission-message{color:var(--color-text-secondary);white-space:pre-wrap;margin:0;font-size:.9375rem;line-height:1.7}.submissions-empty-wrap{text-align:center;padding:var(--spacing-4xl) var(--spacing-xl);max-width:360px;margin:0 auto}.submissions-empty-icon{width:88px;height:88px;margin-bottom:var(--spacing-lg);border-radius:var(--radius-xl);background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--color-text-muted);transition:all var(--transition-base);justify-content:center;align-items:center;display:inline-flex}.submissions-empty-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm)}.submissions-empty-desc{color:var(--color-text-muted);margin:0;font-size:.9375rem;line-height:1.6}.submissions-loading-wrap{text-align:center;padding:var(--spacing-4xl) var(--spacing-xl)}.submissions-loading-dots{margin-bottom:var(--spacing-lg);justify-content:center;align-items:center;gap:8px;display:flex}.submissions-loading-dots span{border-radius:var(--radius-full);background:var(--color-text-muted);width:8px;height:8px;animation:1.2s ease-in-out infinite both loadingDot}.submissions-loading-dots span:first-child{animation-delay:0s}.submissions-loading-dots span:nth-child(2){animation-delay:.2s}.submissions-loading-dots span:nth-child(3){animation-delay:.4s}@keyframes loadingDot{0%,80%,to{opacity:.3;transform:scale(.9)}40%{opacity:1;transform:scale(1)}}.submissions-loading-text{color:var(--color-text-muted);margin:0;font-size:.9375rem}@media (width<=768px){.admin-topbar__inner{padding:0}.admin-dashboard-section .admin-dashboard-header{margin-bottom:var(--spacing-2xl)}.submission-card__header{flex-direction:column;align-items:flex-start}.submission-date{margin-left:0}}.section{padding:var(--section-spacing) 0;z-index:2;background:0 0;position:relative;overflow:visible}.section+.section{margin-top:0}.section.default{background:0 0}.section.gradient-light{background:linear-gradient(180deg, var(--color-background) 0%, var(--color-surface) 100%)}.section.gradient-dark{background:linear-gradient(180deg, var(--color-surface) 0%, var(--color-background) 100%)}.section.accent{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur-light);border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);position:relative}.section-header{text-align:center;margin-bottom:var(--spacing-3xl);position:relative}.section-subtitle{font-family:var(--font-body);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-md);display:inline-block;position:relative}.section-title{font-size:clamp(2.25rem,5vw,3.75rem);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-lg) 0;letter-spacing:-.03em;line-height:1.15;display:block}.section-description{max-width:640px;font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:1.75;font-weight:var(--font-weight-regular);margin:0 auto}.ui-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);transition:all var(--transition-base);will-change:transform, box-shadow;position:relative;overflow:hidden}.ui-card:before{content:"";background:linear-gradient(90deg, transparent, var(--glass-highlight) 50%, transparent);opacity:.5;pointer-events:none;height:1px;position:absolute;top:0;left:0;right:0}.ui-card.hoverable{transition:all var(--transition-base) cubic-bezier(.4, 0, .2, 1)}.ui-card.hoverable:hover{box-shadow:var(--glass-shadow-hover);border-color:var(--glass-border-hover);background:var(--glass-bg-hover);-webkit-backdrop-filter:var(--glass-blur-strong);transform:translateY(-4px)scale(1.01)}.ui-card.hoverable:hover:before{opacity:1;height:2px}.btn{padding:var(--spacing-md) var(--spacing-lg);font-family:var(--font-body);font-weight:var(--font-weight-medium);font-size:var(--font-size-base);letter-spacing:-.01em;text-transform:none;transition:all var(--transition-base);cursor:pointer;border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);color:var(--color-text-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.btn .btn-icon{margin-right:var(--spacing-sm);align-items:center;display:flex}.btn .btn-text{z-index:1;position:relative}.btn:hover:not(:disabled){background:var(--glass-bg-hover);box-shadow:var(--shadow-sm);border-color:#ffffff1f;transform:translateY(-2px)scale(1.01)}.btn-primary{background:var(--gradient-primary);color:var(--color-text-inverse);border-color:var(--color-accent-primary)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--color-accent-primary-hover), var(--color-accent-secondary-hover));box-shadow:var(--shadow-sm);transform:translateY(-2px)scale(1.01)}.btn-secondary{background:var(--glass-bg);color:var(--color-text-primary);border-color:var(--glass-border)}.btn-secondary:hover:not(:disabled){background:var(--glass-bg-hover);border-color:#ffffff1f;transform:translateY(-2px)scale(1.01)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.loading{pointer-events:none}.btn.loading .btn-text{visibility:hidden}.btn-loader{border:2px solid #ffffff4d;border-top-color:var(--color-text-primary);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite loader-spin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes loader-spin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.icon-button{cursor:pointer;width:44px;height:44px;transition:all var(--transition-base);border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);color:var(--color-text-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.icon-button:hover{background:var(--glass-bg-hover);border-color:var(--color-border-hover);color:var(--color-accent-primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.icon-button:active{transform:translateY(0)}.icon-button.primary{background:var(--gradient-primary);color:var(--color-text-inverse);border-color:var(--color-accent-primary)}.icon-button.primary:hover{background:linear-gradient(135deg, var(--color-accent-primary-hover), var(--color-accent-secondary-hover))}.icon-button.secondary{background:var(--glass-bg);color:var(--color-text-primary);border-color:var(--glass-border)}.icon-button.secondary:hover{background:var(--glass-bg-hover);border-color:var(--color-border-hover)}.badge{transition:all var(--transition-fast);clip-path:polygon(0 0,100% 0,95% 100%,0% 100%);align-items:center;padding:6px 12px;font-size:.85rem;font-weight:500;display:inline-flex}.badge-default{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);color:var(--color-accent-primary);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.badge-primary{background:var(--glass-bg-elevated);-webkit-backdrop-filter:var(--glass-blur);color:var(--color-accent-primary);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.badge-outline{border:1px solid var(--glass-border);color:var(--color-accent-primary);background:0 0}.badge:hover{box-shadow:var(--glass-shadow-hover);background:var(--glass-bg-hover);transform:translateY(-2px)}.modal-overlay{z-index:1000;-webkit-backdrop-filter:var(--glass-blur-strong);background:#0a0a0ab3;justify-content:center;align-items:center;padding:20px;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.modal-container{background:var(--glass-bg-elevated);-webkit-backdrop-filter:var(--glass-blur-strong);border:1px solid var(--glass-border);width:100%;max-width:800px;max-height:90vh;box-shadow:var(--glass-shadow-hover);border-radius:var(--radius-lg);animation:.4s cubic-bezier(.22,1,.36,1) slideIn;position:relative;overflow-y:auto}.modal-container:before{content:"";background:var(--gradient-primary);border-radius:var(--radius-lg) var(--radius-lg) 0 0;z-index:1;width:100%;height:2px;position:absolute;top:0;left:0}.modal-header{border-bottom:1px solid var(--color-border);padding:25px 30px}.modal-title{color:var(--color-text-primary);font-size:1.8rem;font-family:var(--font-heading);letter-spacing:1px;text-transform:uppercase;margin:0}.modal-close{background:var(--glass-bg);width:36px;height:36px;-webkit-backdrop-filter:var(--glass-blur);color:var(--color-text-primary);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);z-index:10;box-shadow:var(--glass-shadow);justify-content:center;align-items:center;display:flex;position:absolute;top:15px;right:15px}.modal-close:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);color:var(--color-accent-primary);box-shadow:var(--glass-shadow-hover);transform:rotate(90deg)}.modal-content{padding:30px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in,.slide-up,.slide-down,.slide-left,.slide-right,.scale-in,.fade-in-up{opacity:0;will-change:transform, opacity;transition:opacity .6s cubic-bezier(.165,.84,.44,1),transform .6s cubic-bezier(.165,.84,.44,1);transform:translateZ(0)}.section-header.fade-in,.about-header,.projects-header{opacity:1!important}.section-header.fade-in .section-subtitle,.section-header.fade-in .section-title,.section-header.fade-in .section-description,.about-header .section-subtitle,.about-header .section-title,.projects-header .section-subtitle,.projects-header .section-title,.projects-header .section-description{opacity:1!important;transform:translateY(0)!important}.fade-in{opacity:0}.slide-up{opacity:0;transform:translateY(30px)}.slide-down{opacity:0;transform:translateY(-30px)}.slide-left{opacity:0;transform:translate(30px)}.slide-right{opacity:0;transform:translate(-30px)}.scale-in{opacity:0;transform:scale(.95)}.fade-in-up{opacity:0;transform:translateY(20px)}.fade-in.visible{opacity:1}.slide-up.visible,.slide-down.visible,.slide-left.visible,.slide-right.visible{opacity:1;transform:translate(0,0)}.scale-in.visible{opacity:1;transform:scale(1)}.fade-in-up.visible{opacity:1;transform:translate(0,0)}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}.ui-grid{width:100%;display:grid}.gap-small{gap:var(--gap-small)}.gap-medium{gap:var(--gap-medium)}.gap-large{gap:var(--gap-large)}.grid-cols-xs-1{grid-template-columns:1fr}.grid-cols-xs-2{grid-template-columns:repeat(2,1fr)}.grid-cols-xs-3{grid-template-columns:repeat(3,1fr)}.grid-cols-xs-4{grid-template-columns:repeat(4,1fr)}@media (width>=576px){.grid-cols-sm-1{grid-template-columns:1fr}.grid-cols-sm-2{grid-template-columns:repeat(2,1fr)}.grid-cols-sm-3{grid-template-columns:repeat(3,1fr)}.grid-cols-sm-4{grid-template-columns:repeat(4,1fr)}}@media (width>=768px){.grid-cols-md-1{grid-template-columns:1fr}.grid-cols-md-2{grid-template-columns:repeat(2,1fr)}.grid-cols-md-3{grid-template-columns:repeat(3,1fr)}.grid-cols-md-4{grid-template-columns:repeat(4,1fr)}}@media (width>=992px){.grid-cols-lg-1{grid-template-columns:1fr}.grid-cols-lg-2{grid-template-columns:repeat(2,1fr)}.grid-cols-lg-3{grid-template-columns:repeat(3,1fr)}.grid-cols-lg-4{grid-template-columns:repeat(4,1fr)}}.tabs-container{width:100%;margin-bottom:40px}.tabs-nav{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:30px;display:flex}.tab-btn{font-family:var(--font-heading);color:var(--color-text-secondary);border:1px solid var(--glass-border);transition:all var(--transition-fast);cursor:pointer;letter-spacing:1px;text-transform:uppercase;background-color:#0000;padding:12px 24px;font-size:.95rem;font-weight:500;position:relative;overflow:hidden}.tab-btn:before{content:"";background:var(--gradient-primary);transform-origin:100%;z-index:-1;width:100%;height:100%;transition:transform .3s;position:absolute;top:0;left:0;transform:scaleX(0)}.tab-btn:hover,.tab-btn.active{color:var(--color-text-inverse);box-shadow:var(--shadow-xs);transform:translateY(-2px)}.tab-btn:hover:before,.tab-btn.active:before{transform-origin:0;transform:scaleX(1)}.tab-panel{animation:.5s ease-out fadeIn;display:none}.tab-panel.active{display:block}@media (width<=768px){.section-header{margin-bottom:var(--spacing-2xl);padding:0 var(--spacing-sm)}.section-subtitle{margin-bottom:var(--spacing-sm);padding:6px 14px;font-size:.875rem}.section-title{margin-bottom:var(--spacing-md);font-size:clamp(1.75rem,7vw,2.5rem)!important}.section-description{padding:0 var(--spacing-sm);font-size:1rem}.tabs-nav{-webkit-overflow-scrolling:touch;scrollbar-width:thin;justify-content:flex-start;padding-bottom:12px;overflow-x:auto}.tabs-nav::-webkit-scrollbar{height:4px}.tabs-nav::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.btn{padding:var(--spacing-md) var(--spacing-lg);min-height:44px;font-size:.9375rem}.ui-card{padding:var(--spacing-lg)}}@media (width<=576px){.section-header{margin-bottom:var(--spacing-xl)}.section-subtitle{padding:5px 12px;font-size:.8125rem}.section-title{margin-bottom:var(--spacing-sm);font-size:clamp(1.5rem,9vw,2.25rem)!important}.section-description{font-size:.9375rem;line-height:1.7}.btn{padding:var(--spacing-sm) var(--spacing-md);min-height:44px;font-size:.875rem}.ui-card{padding:var(--spacing-md)}}.section-header.force-visible,.section-header.force-visible.fade-in,.about-header,.projects-header{opacity:1!important;visibility:visible!important;display:flex!important}.section-header.force-visible .section-subtitle,.section-header.force-visible .section-title,.section-header.force-visible .section-description,.about-header .section-subtitle,.about-header .section-title,.projects-header .section-subtitle,.projects-header .section-title,.projects-header .section-description{opacity:1!important;visibility:visible!important;display:block!important;transform:translateY(0)!important}.section-header,.about-header,.projects-header{text-align:center;margin-bottom:var(--spacing-3xl);z-index:5;flex-direction:column;align-items:center;display:flex;position:relative}.section-subtitle{font-family:var(--font-body);color:var(--color-text-secondary);text-transform:none;letter-spacing:.02em;border-radius:var(--radius-sm);box-shadow:none;z-index:2;transition:all var(--transition-base);background:0 0;border:none;margin-bottom:12px;padding:6px 12px;font-size:.875rem;font-weight:500;position:relative;opacity:1!important;display:inline-block!important;transform:translateY(0)!important}.section-subtitle:after{display:none}.section-title{text-transform:none;letter-spacing:-.02em;width:100%;text-shadow:none;transition:transform var(--transition-base);margin-bottom:16px;font-weight:600;line-height:1.2;position:relative;color:var(--color-text-primary)!important;opacity:1!important;visibility:visible!important;font-size:clamp(2rem,5vw,3rem)!important;display:block!important;transform:translateY(0)!important}.section-title:before{display:none}.section-title:hover{transform:translateY(-2px)}.section-description{max-width:600px;color:var(--color-text-secondary);font-size:1rem;line-height:1.7;font-family:var(--font-body);margin:0 auto;font-weight:400;position:relative;opacity:1!important;transform:translateY(0)!important}.section-title:hover{text-shadow:none}.section-title-wrapper{width:100%;min-height:clamp(3.5rem,7vw,5rem);margin-bottom:var(--spacing-lg);justify-content:center;align-items:center;padding:.2em 0;display:flex;overflow:visible}.section-title-text-pressure{width:100%;height:auto;min-height:100%}.section-title-text-pressure .text-pressure-title{justify-content:center;align-items:center;width:100%;height:auto;min-height:100%;display:flex}@media (width<=768px){.section-title-wrapper{min-height:clamp(3rem,9vw,4rem)}}@media (width<=576px){.section-title-wrapper{min-height:clamp(2.5rem,11vw,3.5rem)}}.btn.btn-primary:hover,.btn.btn-secondary:hover{transform:translateY(-2px)scale(1.01)}.tab-btn{transition:transform var(--transition-base), color var(--transition-base), box-shadow var(--transition-base);position:relative;overflow:hidden}.tab-btn:before{transition:transform var(--transition-base) cubic-bezier(.4, 0, .2, 1)}.tab-btn>*{z-index:1;position:relative}.form-input:focus{border-color:var(--color-accent-primary);box-shadow:0 0 0 1px var(--color-accent-primary);outline:none}.form-group.focused .form-input{border-color:var(--color-accent-primary);box-shadow:0 0 0 1px var(--color-accent-primary)}.legal-page{z-index:2;background:0 0;min-height:100vh;padding:120px 0 140px;position:relative}.legal-container{width:100%;max-width:var(--max-width);padding:0 var(--spacing-lg);margin:0 auto;position:relative}.legal-back{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-2xl);padding:var(--spacing-sm) var(--spacing-lg);color:var(--color-text-secondary);font-size:.9375rem;font-weight:var(--font-weight-medium);transition:all var(--transition-base);letter-spacing:-.01em;border-radius:var(--radius-md);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-xs);cursor:pointer;font-family:var(--font-body);text-decoration:none;display:inline-flex}.legal-back:hover{color:var(--color-accent-primary);box-shadow:var(--shadow-sm);border-color:#ffffff26;transform:translate(-4px)}.legal-header{text-align:center;margin-bottom:var(--spacing-3xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--glass-border)}.legal-title{font-family:var(--font-heading);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0;letter-spacing:-.02em;font-size:clamp(2rem,5vw,3rem);font-weight:600;line-height:1.2}.legal-date{font-family:var(--font-body);color:var(--color-text-muted);margin:0;font-size:.9375rem}.legal-content{max-width:720px;margin:0 auto}.legal-section{margin-bottom:var(--spacing-3xl);padding-bottom:var(--spacing-2xl);border-bottom:1px solid var(--glass-border)}.legal-section:last-of-type{border-bottom:none}.legal-section h2{font-family:var(--font-heading);color:var(--color-text-primary);margin:0 0 var(--spacing-lg) 0;letter-spacing:-.02em;font-size:1.35rem;font-weight:600;line-height:1.3}.legal-section h3{font-family:var(--font-heading);color:var(--color-text-primary);margin:var(--spacing-xl) 0 var(--spacing-md) 0;letter-spacing:-.01em;font-size:1.1rem;font-weight:600}.legal-section p{font-family:var(--font-body);color:var(--color-text-secondary);margin:0 0 var(--spacing-md) 0;font-size:1rem;line-height:1.75}.legal-section ul{margin:var(--spacing-md) 0 var(--spacing-lg) 0;padding:0;list-style:none}.legal-section ul li{font-family:var(--font-body);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);padding-left:1.5rem;font-size:1rem;line-height:1.75;position:relative}.legal-section ul li:before{content:"—";color:var(--color-accent-primary);font-weight:500;position:absolute;left:0}.legal-section a{color:var(--color-accent-primary);transition:all var(--transition-base);border-bottom:1px solid #0000;text-decoration:none}.legal-section a:hover{color:var(--color-accent-primary-hover);border-bottom-color:var(--color-accent-primary)}.legal-contact{margin-top:var(--spacing-lg)}.legal-contact p{margin-bottom:var(--spacing-xs)}.legal-contact strong{color:var(--color-text-primary)}.legal-section.consent-section{padding-top:var(--spacing-lg)}.legal-section.consent-section p{color:var(--color-text-primary);font-weight:500}.legal-footer{text-align:center;margin-top:var(--spacing-3xl);padding-top:var(--spacing-2xl);border-top:1px solid var(--glass-border)}.legal-footer .btn{padding:var(--spacing-md) var(--spacing-xl);transition:all var(--transition-base);justify-content:center;align-items:center;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.legal-footer .btn:hover{transform:translateY(-2px)}.legal-inline-link{color:var(--color-accent-primary);cursor:pointer;font-family:inherit;font-size:inherit;transition:color var(--transition-base), border-color var(--transition-base);background:0 0;border:none;border-bottom:1px solid #0000;margin:0;padding:0;text-decoration:none}.legal-inline-link:hover{color:var(--color-accent-primary-hover);border-bottom-color:var(--color-accent-primary)}@media (width<=768px){.legal-page{padding:100px var(--spacing-md) 120px}.legal-container{padding:0 var(--spacing-md)}.legal-title{font-size:clamp(1.75rem,6vw,2.5rem)}.legal-section{margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-xl)}.legal-section h2{font-size:1.2rem}.legal-section h3{font-size:1.05rem}}@media (width<=576px){.legal-page{padding:80px var(--spacing-sm) 100px}.legal-section h2{font-size:1.1rem}}#root{isolation:isolate}
