:root{--bg: #090a0c;--surface: #f3eee6;--surface-warm: #e7d8c3;--ink: #111111;--ink-soft: #4c4a45;--muted: #7a756c;--panel: rgba(255, 251, 242, .92);--line: rgba(17, 17, 17, .16);--line-strong: rgba(17, 17, 17, .32);--accent: #1e6f5c;--accent-dark: #0f3d35;--accent-hot: #d85f35;--cream: #fff8ea;--shadow: 0 28px 80px rgba(0, 0, 0, .22);--radius: 8px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:linear-gradient(90deg,rgba(17,17,17,.055) 1px,transparent 1px) 0 0 / 68px 68px,linear-gradient(rgba(17,17,17,.045) 1px,transparent 1px) 0 0 / 68px 68px,var(--surface)}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}img{max-width:100%}.page{width:min(100%,1440px);margin:0 auto;padding:22px}.nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;padding:10px 0 16px;background:#f3eee6db;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.nav-left{display:flex;align-items:center;gap:12px}.nav-text{display:flex;flex-direction:column;gap:2px}.nav-name{font-size:.98rem;font-weight:800;text-transform:uppercase}.nav-sub{color:var(--muted);font-size:.78rem}.nav-links{display:flex;align-items:center;gap:8px;padding:6px;border:1px solid var(--line);border-radius:999px;background:#fff8eab8}.nav-links a{border-radius:999px;padding:8px 12px;color:var(--ink-soft);font-size:.82rem;font-weight:700;transition:background .18s ease,color .18s ease}.nav-links a:hover{background:var(--ink);color:var(--cream)}.main{display:flex;flex-direction:column;gap:22px}.section{position:relative;scroll-margin-top:110px;padding:clamp(28px,5vw,72px);border:1px solid var(--line);border-radius:var(--radius);background:#fff8eab8;box-shadow:0 1px #fff9 inset;overflow:hidden}.section:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(216,95,53,.45),transparent);pointer-events:none}.section-intro{position:relative;z-index:1;margin-bottom:clamp(24px,4vw,46px);padding-left:clamp(0px,4vw,46px)}.eyebrow{margin:0 0 12px;color:var(--accent);font-size:.76rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h2{max-width:900px;margin-bottom:14px;font-size:clamp(2.15rem,5.5vw,5.9rem);line-height:.95;letter-spacing:0}.section-text{max-width:720px;margin-bottom:0;color:var(--ink-soft);font-size:clamp(.98rem,1.35vw,1.18rem);line-height:1.7}.hero{min-height:calc(100vh - 122px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.82fr);gap:clamp(18px,3.6vw,46px);align-items:center;background:radial-gradient(circle at 78% 18%,rgba(30,111,92,.18),transparent 34%),linear-gradient(135deg,#fff8eaeb,#e7d8c3db)}.hero-copy{position:relative;z-index:1;align-self:center;padding:26px 0 26px clamp(0px,4vw,46px)}.hero-title{max-width:760px;margin-bottom:22px;font-size:clamp(3rem,6.7vw,6.7rem);line-height:.92;letter-spacing:0}.hero-text{max-width:710px;margin-bottom:0;color:var(--ink-soft);font-size:clamp(1rem,1.45vw,1.22rem);line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--ink);border-radius:999px;padding:12px 20px;font-size:.86rem;font-weight:900;text-transform:uppercase;transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--ink);color:var(--cream);box-shadow:8px 8px 0 var(--accent-hot)}.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:var(--cream)}.btn.wide{min-width:180px}.hero-visual{position:relative;z-index:1;display:grid;gap:18px;align-self:center}.portrait-card{position:relative;aspect-ratio:1 / 1;width:min(100%,390px);justify-self:center;border:1px solid var(--ink);border-radius:50%;background:radial-gradient(circle at 50% 35%,rgba(255,248,234,.22),transparent 48%),var(--ink);box-shadow:var(--shadow);overflow:hidden}.hero-portrait{width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:saturate(.88) contrast(1.08)}.system-card{border:1px solid var(--ink);border-radius:var(--radius);padding:22px;background:var(--cream);box-shadow:10px 10px 0 var(--accent)}.system-label{margin-bottom:16px;color:var(--accent);font-size:.78rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.system-list{display:grid;gap:13px;margin:0}.system-list div{display:grid;grid-template-columns:98px minmax(0,1fr);gap:12px;padding-bottom:13px;border-bottom:1px solid var(--line)}.system-list div:last-child{padding-bottom:0;border-bottom:0}.system-list dt{color:var(--muted);font-size:.8rem;font-weight:900;text-transform:uppercase}.system-list dd{margin:0;color:var(--ink);font-weight:750;line-height:1.35}.summary-section{background:linear-gradient(135deg,#fff8eae0,#f3eee6b8),var(--surface)}.summary-grid{position:relative;z-index:1;display:block;padding-left:clamp(0px,4vw,46px)}.summary-copy{display:grid;gap:18px}.summary-copy p{max-width:980px;margin:0;color:var(--ink-soft);font-size:clamp(1.05rem,1.7vw,1.45rem);line-height:1.65}.skills-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}.skill-card{min-height:240px;padding:clamp(18px,3vw,30px);border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:#fff8ea80}.skill-card h3{margin-bottom:20px;color:var(--accent-dark);font-size:clamp(1.5rem,2.7vw,2.6rem)}.skill-list{display:flex;flex-wrap:wrap;gap:8px}.skill-pill,.stack-pill{display:inline-flex;align-items:center;border:1px solid var(--line-strong);border-radius:999px;padding:7px 10px;background:var(--cream);color:var(--ink-soft);font-size:.78rem;font-weight:800}.experience-section{background:linear-gradient(135deg,#111111f5,#0f3d35f0),var(--ink);color:var(--cream)}.experience-section .eyebrow{color:#f0a173}.experience-section .section-text{color:#fff8eabd}.experience-list{display:grid;gap:18px}.experience-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.38fr);gap:clamp(18px,3vw,34px);align-items:stretch;border:1px solid rgba(255,248,234,.24);border-radius:var(--radius);padding:clamp(18px,3vw,30px);background:#090a0ca8}.experience-copy{display:flex;min-width:0;flex-direction:column;gap:18px}.experience-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.experience-head p{margin:0 0 8px;color:#f0a173;font-size:.78rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.experience-head h3{margin:0;font-size:clamp(2rem,4vw,4.4rem);line-height:.94}.experience-head>span{flex:0 0 auto;border:1px solid rgba(255,248,234,.3);border-radius:999px;padding:8px 12px;color:var(--cream);background:#fff8ea14;font-size:.78rem;font-weight:900}.experience-location{margin:0;color:#fff8eab3;font-weight:800}.experience-bullets{display:grid;gap:10px;max-width:820px;margin:0;padding-left:1.15rem}.experience-bullets li{color:#fff8eab8;line-height:1.65}.experience-stack{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.experience-media{width:100%;min-height:100%;display:grid;place-items:center;border:1px solid rgba(255,248,234,.28);border-radius:var(--radius);background:linear-gradient(135deg,#fff8eaeb,#e7d8c3d1),var(--cream);box-shadow:8px 8px #f0a17338;overflow:hidden;padding:clamp(18px,3vw,34px)}.company-placeholder{width:100%;height:100%}.experience-media img{display:block;width:min(100%,340px);max-height:82%;object-fit:contain;filter:saturate(.96) contrast(1.04)}.company-placeholder{display:grid;place-items:center;color:#f0a173;font-size:clamp(3.5rem,8vw,7rem);font-weight:900;letter-spacing:0}.projects-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.project-card{grid-column:span 2;display:grid;min-height:430px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--panel);box-shadow:0 18px 44px #1111111f;overflow:hidden;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.project-card.featured{grid-column:span 3;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);min-height:500px}.project-card:hover{transform:translateY(-6px);border-color:var(--ink);box-shadow:12px 12px 0 var(--accent-hot)}.project-media{min-height:220px;background:var(--ink);overflow:hidden}.project-card.featured .project-media{min-height:100%}.project-image{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s ease}.project-card:hover .project-image{transform:scale(1.04)}.project-body{display:flex;flex-direction:column;gap:14px;padding:22px}.project-number{color:var(--accent-hot);font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:700;line-height:1}.project-title{margin:0;font-size:clamp(1.4rem,2.5vw,2.2rem);line-height:1}.project-description{margin:0;color:var(--ink-soft);font-size:.95rem;line-height:1.65}.project-stack{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.project-links{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:0 22px 22px}.project-link,.code-tag{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border:1px solid var(--line-strong);border-radius:999px;padding:7px 12px;background:var(--cream);color:var(--ink);font-size:.78rem;font-weight:900}.code-tag{font-family:JetBrains Mono,Fira Code,Source Code Pro,monospace}.project-link:hover,.code-tag:hover{background:var(--ink);color:var(--cream)}.contact-section{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:clamp(22px,5vw,70px);align-items:end;background:var(--surface-warm)}.contact-section .section-intro{margin-bottom:0}.contact-card{border:1px solid var(--ink);border-radius:var(--radius);padding:clamp(22px,4vw,38px);background:var(--cream);box-shadow:10px 10px 0 var(--accent)}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.footer{display:flex;justify-content:space-between;gap:16px;padding:10px 2px 0;color:var(--muted);font-size:.82rem}@media(max-width:1120px){.hero{grid-template-columns:minmax(0,1fr);align-items:start}.hero-visual{grid-template-columns:minmax(220px,320px) minmax(0,1fr);align-items:center}.portrait-card{width:min(100%,320px)}.skills-grid,.experience-card{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card,.project-card.featured{grid-column:span 3;grid-template-columns:1fr}}@media(max-width:760px){.page{padding:14px}.nav{position:relative;align-items:flex-start;flex-direction:column}.nav-links{width:100%;justify-content:flex-start;overflow-x:auto}.section,.hero{padding:24px}.hero,.contact-section{grid-template-columns:1fr}.summary-grid,.section-intro,.hero-copy{padding-left:0}.hero-title{font-size:clamp(3.2rem,17vw,5.3rem)}.hero-visual{grid-column:auto;grid-template-columns:1fr}.portrait-card{width:min(100%,300px)}.skills-grid,.experience-card,.projects-grid{grid-template-columns:1fr}.experience-head{flex-direction:column}.experience-media{min-height:260px}.project-card,.project-card.featured{grid-column:auto}.project-card.featured .project-media{min-height:240px}.footer{flex-direction:column}}@media(max-width:480px){.nav-sub{max-width:240px}.nav-links a{padding:8px 10px;font-size:.78rem}.section,.hero{padding:20px}.btn{width:100%}.contact-card{box-shadow:none}}
