:root{--ink:#18211c;--muted:#637064;--paper:#f7f1e4;--paper-strong:#fffaf0;--line:#18211c21;--forest:#174331;--moss:#5f7d47;--clay:#b36a3c;--sand:#e8d7b6;--white:#fffdf7;--shadow:0 24px 80px #242c1e29;--radius:28px;color:var(--ink);background:radial-gradient(circle at top left, #b36a3c38, transparent 34rem), linear-gradient(135deg, #17433114, transparent 28rem), var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Manrope,Aptos,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}a{color:inherit}h1,h2,h3,p{margin:0}ul{margin:0;padding-left:1.15rem}li+li{margin-top:.45rem}.page-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:32px 0 56px}.hero-section{border:1px solid var(--line);min-height:560px;box-shadow:var(--shadow);background:linear-gradient(120deg,#fffaf0f2,#e8d7b6b3),repeating-linear-gradient(90deg,#0000 0 38px,#18211c09 38px 39px);border-radius:36px;grid-template-columns:minmax(0,1fr) 390px;gap:24px;padding:54px;display:grid;position:relative;overflow:hidden}.hero-section:before{content:"";background:#17433124;border-radius:999px;width:440px;height:440px;position:absolute;bottom:-170px;right:-120px}.hero-copy{z-index:1;flex-direction:column;justify-content:center;max-width:720px;display:flex;position:relative}.eyebrow{width:fit-content;color:var(--forest);letter-spacing:.12em;text-transform:uppercase;background:#fffdf79e;border:1px solid #17433133;border-radius:999px;margin-bottom:22px;padding:8px 14px;font-size:.82rem;font-weight:800}h1{letter-spacing:-.07em;max-width:11ch;font-family:Space Grotesk,Manrope,sans-serif;font-size:clamp(3.4rem,8vw,6.7rem);line-height:.9}.location{color:var(--clay);letter-spacing:.03em;text-transform:uppercase;margin-top:18px;font-weight:800}.intro{max-width:680px;color:var(--muted);margin-top:28px;font-size:clamp(1.05rem,2vw,1.24rem);line-height:1.72}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.hero-actions a{background:var(--forest);min-height:46px;color:var(--white);border:1px solid #1743312e;border-radius:999px;justify-content:center;align-items:center;padding:0 18px;font-weight:800;text-decoration:none;display:inline-flex}.hero-actions a+a{color:var(--forest);background:0 0}.contact-card,.skill-card,.experience-card,.credential-card,.certification-list article{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf7d1;box-shadow:0 14px 40px #242c1e14}.contact-card{z-index:1;border-radius:var(--radius);align-self:end;padding:28px;position:relative}.contact-card h2,.section-heading h2{font-family:Space Grotesk,Manrope,sans-serif}.contact-card h2{margin-bottom:22px;font-size:1.35rem}.contact-card dl{gap:18px;margin:0;display:grid}.contact-card dt{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.76rem;font-weight:900}.contact-card dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:800}.contact-card a{text-underline-offset:4px;text-decoration-color:#1743314d}.section{grid-template-columns:250px minmax(0,1fr);gap:34px;padding:58px 0 0;display:grid}.section-heading{align-self:start;position:sticky;top:24px}.section-heading p{color:var(--clay);letter-spacing:.14em;margin-bottom:8px;font-size:.82rem;font-weight:900}.section-heading h2{letter-spacing:-.05em;font-size:clamp(1.8rem,3vw,2.5rem)}.prose{border-left:4px solid var(--forest);border-radius:0 var(--radius) var(--radius) 0;max-width:820px;color:var(--muted);background:#fffdf78c;gap:18px;padding:36px;font-size:1.12rem;line-height:1.78;display:grid}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.skill-card{border-radius:24px;padding:24px}.skill-card h3{color:var(--forest);margin-bottom:16px;font-size:1.05rem}.skill-card li,.experience-card li{color:var(--muted);line-height:1.52}.timeline{gap:18px;display:grid}.experience-card{border-radius:var(--radius);padding:30px}.experience-head{justify-content:space-between;gap:24px;margin-bottom:18px;display:flex}.company{color:var(--clay);letter-spacing:.12em;text-transform:uppercase;font-size:.86rem;font-weight:900}.experience-card h3{letter-spacing:-.04em;margin-top:4px;font-family:Space Grotesk,Manrope,sans-serif;font-size:clamp(1.45rem,3vw,2rem)}.period{min-width:220px;color:var(--forest);text-align:right;font-weight:900}.context{color:var(--ink);margin-bottom:18px;font-weight:700;line-height:1.6}.tech-tags{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.tech-tags span{color:var(--forest);background:#5f7d471a;border:1px solid #5f7d473d;border-radius:999px;padding:7px 10px;font-size:.83rem;font-weight:800}.credential-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.credential-card{border-radius:24px;padding:26px}.credential-card p{color:var(--clay);font-weight:900}.credential-card h3{margin:10px 0 16px;font-size:1.28rem;line-height:1.25}.credential-card span{color:var(--muted);font-weight:700}.certification-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.certification-list article{min-height:88px;color:var(--forest);border-radius:22px;padding:22px;font-weight:900;line-height:1.38}@media (width<=900px){.page-shell{width:min(100% - 20px,720px);padding-top:10px}.hero-section{border-radius:28px;grid-template-columns:1fr;min-height:auto;padding:30px 22px}.contact-card{align-self:stretch}.section{grid-template-columns:1fr;gap:18px;padding-top:42px}.section-heading{position:static}.skills-grid,.credential-grid,.certification-list{grid-template-columns:1fr}.experience-head{flex-direction:column;gap:10px}.period{text-align:left;min-width:0}.prose{padding:24px}}
