:root{color-scheme:dark;--ink: #edf7f2;--muted: #96aaa2;--dim: #60736c;--surface: #0b1613;--surface-2: #101e1a;--line: rgba(218, 246, 234, .12);--accent: #5ee6b2;--accent-strong: #91ffd6;--accent-soft: rgba(94, 230, 178, .12);--page: #07100e;font-family:Inter,Segoe UI,Helvetica,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--page);color:var(--ink);line-height:1.6}body,button,a{-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}img{display:block;max-width:100%}::selection{color:#07100e;background:var(--accent)}.site-shell{overflow:hidden}.skip-link{position:fixed;z-index:200;top:12px;left:12px;padding:10px 14px;transform:translateY(-160%);border-radius:8px;background:var(--accent);color:var(--page);font-weight:700}.skip-link:focus{transform:translateY(0)}.site-header{position:fixed;z-index:100;top:0;left:0;display:grid;width:100%;grid-template-columns:1fr auto 1fr;align-items:center;padding:21px clamp(24px,5vw,76px);border-bottom:1px solid transparent;transition:padding .18s ease,background .18s ease,border-color .18s ease}.site-header.is-scrolled{padding-top:14px;padding-bottom:14px;border-color:var(--line);background:#07100ed1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.wordmark{justify-self:start;font-size:1.22rem;font-weight:850;letter-spacing:-.06em}.wordmark span{color:var(--accent)}.desktop-nav{display:flex;align-items:center;gap:34px}.desktop-nav a{position:relative;color:var(--muted);font-size:.79rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:color .16s ease}.desktop-nav a:after{position:absolute;right:0;bottom:-7px;left:0;height:1px;content:"";transform:scaleX(0);background:var(--accent);transition:transform .16s ease}.desktop-nav a:hover,.desktop-nav a:focus-visible{color:var(--ink)}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{transform:scaleX(1)}.header-cta{display:inline-flex;justify-self:end;align-items:center;gap:8px;font-size:.85rem;font-weight:700}.header-cta svg{width:16px;transition:transform .16s ease}.header-cta:hover svg{transform:translate(3px,-3px)}.menu-button,.mobile-nav{display:none}.hero{position:relative;display:grid;min-height:100vh;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);align-items:center;gap:clamp(48px,8vw,130px);padding:145px clamp(24px,7vw,112px) 110px;border-bottom:1px solid var(--line)}.hero:before{position:absolute;top:0;bottom:0;left:67%;width:1px;content:"";background:linear-gradient(transparent,var(--line),transparent)}.hero-glow{position:absolute;top:-25%;left:-15%;width:65vw;height:65vw;border-radius:50%;background:radial-gradient(circle,rgba(40,140,104,.17),transparent 67%);pointer-events:none}.noise{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E");pointer-events:none}.hero-copy,.hero-card{position:relative;z-index:2}.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:32px;color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px #5ee6b21a;animation:pulse 2.2s infinite}@keyframes pulse{50%{box-shadow:0 0 0 9px #5ee6b200}}.hero h1{max-width:870px;margin:0;font-size:clamp(3.6rem,7vw,7.1rem);font-weight:760;letter-spacing:-.072em;line-height:.93}.hero h1 span,.contact-section h2 span{color:var(--muted);font-weight:560}.hero-intro{max-width:710px;margin:36px 0 0;color:var(--muted);font-size:clamp(1.04rem,1.5vw,1.28rem)}.hero-intro strong{color:var(--ink);font-weight:650}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:10px;padding:0 20px;border:1px solid transparent;border-radius:10px;font-size:.88rem;font-weight:720;transition:transform .16s ease,background .16s ease,border-color .16s ease}.button svg{width:18px}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);color:var(--page)}.button-primary:hover{background:var(--accent-strong)}.button-secondary{border-color:var(--line);background:#ffffff05}.button-secondary:hover{border-color:#5ee6b261;background:var(--accent-soft)}.hero-card{width:min(100%,390px);justify-self:end;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:linear-gradient(150deg,#152a23eb,#0a1612f0);box-shadow:0 34px 100px #00000052}.portrait-frame{position:relative;overflow:hidden;aspect-ratio:1.3;background:#11241e}.portrait-frame:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(transparent 50%,#07100eb8)}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 22%;filter:saturate(.74) contrast(1.05)}.portrait-code{position:absolute;z-index:2;right:18px;bottom:18px;display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:#07100eb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.portrait-code svg{width:20px;color:var(--accent)}.hero-card-content{padding:24px}.mono-label{margin:0 0 12px;color:var(--accent);font-family:SFMono-Regular,Consolas,monospace;font-size:.72rem;font-weight:700;letter-spacing:.12em}.hero-card h2{margin:0;font-size:1.28rem;line-height:1.32}.hero-card p{margin:12px 0 20px;color:var(--muted);font-size:.9rem}.location{display:flex;align-items:center;gap:8px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:.76rem}.location svg{width:15px;color:var(--accent)}.location span{color:var(--accent)}.hero-foot{position:absolute;z-index:2;right:clamp(24px,7vw,112px);bottom:28px;left:clamp(24px,7vw,112px);display:flex;gap:clamp(18px,4vw,55px);color:var(--dim);font-family:SFMono-Regular,Consolas,monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.section{padding:clamp(90px,11vw,165px) clamp(24px,7vw,112px);border-bottom:1px solid var(--line)}.section-heading{max-width:860px;margin-bottom:clamp(50px,7vw,88px)}.section-heading h2{margin:0;font-size:clamp(2.45rem,5vw,5.2rem);font-weight:680;letter-spacing:-.06em;line-height:1}.split-heading{display:flex;max-width:none;align-items:flex-end;justify-content:space-between;gap:30px}.split-heading>div{max-width:860px}.text-link{display:inline-flex;align-items:center;gap:8px;padding-bottom:5px;border-bottom:1px solid rgba(94,230,178,.5);color:var(--accent);font-size:.85rem;font-weight:720;white-space:nowrap}.text-link svg{width:16px;transition:transform .16s ease}.text-link:hover svg{transform:translate(3px,-3px)}.about-section{background:#091310}.about-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:clamp(55px,10vw,150px)}.about-copy p{margin:0 0 24px;color:var(--muted)}.about-copy .lead{color:var(--ink);font-size:clamp(1.25rem,2vw,1.65rem);letter-spacing:-.025em;line-height:1.45}.about-copy .text-link{margin-top:16px}.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.skill-card{min-height:225px;padding:26px;border:1px solid var(--line);border-radius:14px;background:#ffffff05;transition:transform .18s ease,border-color .18s ease,background .18s ease}.skill-card:hover{transform:translateY(-4px);border-color:#5ee6b24d;background:var(--accent-soft)}.skill-card>svg{width:23px;color:var(--accent)}.skill-card h3{margin:42px 0 10px;font-size:1.04rem}.skill-card p{margin:0;color:var(--muted);font-size:.87rem}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project-card{display:flex;min-height:440px;flex-direction:column;padding:clamp(24px,3vw,38px);border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#101e1ad4,#08120fb8);transition:transform .18s ease,border-color .18s ease}.project-card.featured{grid-column:1 / -1;min-height:470px;background:radial-gradient(circle at 80% 10%,rgba(94,230,178,.13),transparent 36%),linear-gradient(145deg,#10241e,#091410)}.project-card:hover{transform:translateY(-5px);border-color:#5ee6b254}.project-topline{display:flex;justify-content:space-between;color:var(--dim);font-family:SFMono-Regular,Consolas,monospace;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.project-topline span:last-child{color:var(--accent)}.project-content{max-width:730px;margin:auto 0;padding:48px 0 40px}.project-content h3{margin:0 0 18px;font-size:clamp(1.85rem,3.2vw,3.5rem);letter-spacing:-.05em;line-height:1}.project-card:not(.featured) .project-content h3{font-size:clamp(1.65rem,2.6vw,2.55rem)}.project-content p{max-width:700px;margin:0;color:var(--muted);font-size:.95rem}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 0;padding:0;list-style:none}.tag-list li{padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:#b5c8c0;font-family:SFMono-Regular,Consolas,monospace;font-size:.67rem}.project-links{display:flex;gap:18px;padding-top:22px;border-top:1px solid var(--line)}.project-links a{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:.8rem;font-weight:650;transition:color .16s ease}.project-links a:hover{color:var(--accent)}.project-links svg{width:15px}.experience-section{background:#091310}.experience-list{border-top:1px solid var(--line)}.experience-row{position:relative;display:grid;grid-template-columns:minmax(240px,.85fr) minmax(280px,1fr) 34px;align-items:center;gap:clamp(30px,7vw,105px);padding:38px 0;border-bottom:1px solid var(--line)}.experience-row h3{margin:7px 0 3px;font-size:1.3rem;letter-spacing:-.025em}.experience-date{color:var(--accent);font-family:SFMono-Regular,Consolas,monospace;font-size:.68rem;letter-spacing:.09em}.company,.experience-row>p{margin:0;color:var(--muted);font-size:.9rem}.experience-row>svg{width:22px;color:var(--accent)}.contact-section{position:relative;padding:clamp(100px,14vw,210px) clamp(24px,12vw,190px);text-align:center}.contact-glow{position:absolute;top:50%;left:50%;width:620px;height:620px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(94,230,178,.1),transparent 68%);pointer-events:none}.contact-section>div:last-child{position:relative;z-index:2}.contact-section h2{max-width:980px;margin:0 auto;font-size:clamp(3rem,7.2vw,7.4rem);font-weight:720;letter-spacing:-.072em;line-height:.96}.contact-section>div>p:not(.mono-label){max-width:650px;margin:32px auto;color:var(--muted);font-size:1rem}.contact-email{display:inline-flex;align-items:center;gap:9px;padding-bottom:8px;border-bottom:1px solid var(--accent);color:var(--accent);font-size:clamp(1rem,2vw,1.35rem);font-weight:700}.contact-email svg{width:19px}.site-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:30px;padding:42px clamp(24px,7vw,112px);border-top:1px solid var(--line)}.site-footer p{margin:5px 0 0;color:var(--dim);font-size:.72rem}.site-footer>p{justify-self:end}.social-links{display:flex;gap:10px}.social-links a{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--line);border-radius:10px;color:var(--muted);transition:color .16s ease,border-color .16s ease,transform .16s ease}.social-links a:hover{transform:translateY(-2px);border-color:#5ee6b266;color:var(--accent)}.social-links svg{width:17px}@media (max-width: 980px){.site-header{grid-template-columns:1fr auto}.desktop-nav,.header-cta{display:none}.menu-button{display:grid;width:42px;height:42px;place-items:center;justify-self:end;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.menu-button svg{width:20px}.mobile-nav{position:fixed;z-index:90;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:100px 8vw 50px;background:#07100ef7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.mobile-nav a{display:flex;align-items:baseline;gap:18px;padding:12px 0;font-size:clamp(2.3rem,9vw,4.8rem);font-weight:700;letter-spacing:-.06em}.mobile-nav span{color:var(--accent);font-family:SFMono-Regular,Consolas,monospace;font-size:.65rem;letter-spacing:0}.hero{grid-template-columns:1fr;gap:64px;padding-bottom:145px}.hero:before{display:none}.hero-card{width:min(100%,620px);justify-self:start}.portrait-frame{aspect-ratio:1.8}.hero-foot{overflow:hidden;gap:28px}.about-grid{grid-template-columns:1fr}.experience-row{grid-template-columns:1fr;gap:18px}.experience-row>svg{display:none}}@media (max-width: 680px){.site-header,.hero{padding-right:20px;padding-left:20px}.hero h1{font-size:clamp(3.15rem,16vw,5.1rem)}.eyebrow{align-items:flex-start;line-height:1.5}.button{width:100%}.portrait-frame{aspect-ratio:1.25}.hero-foot{right:20px;left:20px}.section{padding-right:20px;padding-left:20px}.section-heading h2{font-size:clamp(2.55rem,12vw,4rem)}.split-heading{align-items:flex-start;flex-direction:column}.skills-grid,.projects-grid{grid-template-columns:1fr}.skill-card{min-height:195px}.project-card.featured{grid-column:auto}.project-card{min-height:420px}.contact-section{padding-right:20px;padding-left:20px}.contact-section h2{font-size:clamp(3rem,15vw,5rem)}.site-footer{grid-template-columns:1fr;align-items:start;padding-right:20px;padding-left:20px}.site-footer>p{justify-self:start}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
