:root{--page-bg: #f5efe7;--page-surface: rgba(255, 255, 255, .7);--page-surface-strong: #fffaf4;--page-border: rgba(44, 33, 23, .12);--page-text: #1f1a17;--page-muted: #6e6259;--page-accent: #8b4f2d;--page-accent-2: #31584f;--page-shadow: 0 20px 50px rgba(68, 47, 30, .08)}html{background:linear-gradient(180deg,#ffffff8c,#fff0),repeating-linear-gradient(90deg,rgba(65,48,35,.03) 0,rgba(65,48,35,.03) 1px,transparent 1px,transparent 72px),var(--page-bg)}body{margin:0;color:var(--page-text);font-family:var(--font-sans);background:transparent}a{color:inherit;text-decoration:none}.shell{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:28px 0 56px}.hero,.section,.notes,.profile-panel,.project-card{border:1px solid var(--page-border);border-radius:18px;background:var(--page-surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--page-shadow)}.hero{padding:28px}.eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;color:var(--page-accent-2);font-size:.8rem;letter-spacing:0;text-transform:uppercase}.hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.9fr);gap:20px;align-items:stretch}.hero-copy h1{margin:0;font-size:clamp(2.7rem,6vw,5rem);line-height:.95;letter-spacing:0}.lede{max-width:34rem;margin:18px 0 0;font-size:1.06rem;line-height:1.7;color:var(--page-muted)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.primary,.secondary,.contact-row a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--page-border);font-weight:600}.primary{background:var(--page-accent);color:#fff8f2}.secondary{background:var(--page-surface-strong)}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0 0}.stats div,.profile-panel,.notes,.project-card{padding:18px}.stats dt{color:var(--page-muted);font-size:.84rem}.stats dd{margin:6px 0 0;font-size:1.05rem;font-weight:700}.profile-panel h2,.section h2,.notes h2{margin:0;font-size:1.4rem;line-height:1.2}.profile-panel{display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,#ffffffc2,#f4ece1c7)}.profile-badge{display:inline-flex;width:fit-content;margin-bottom:14px;padding:6px 10px;border-radius:999px;background:#31584f1f;color:var(--page-accent-2);font-size:.78rem;font-weight:700}.profile-panel p,.section-head p,.timeline-item p,.project-card p{color:var(--page-muted);line-height:1.65}.facts{margin:18px 0 0;padding-left:18px;color:var(--page-text)}.section{margin-top:18px;padding:24px 28px}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:18px}.section-head p{max-width:34rem;margin:0}.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.project-card{background:var(--page-surface-strong)}.project-top{display:flex;justify-content:space-between;gap:10px;color:var(--page-muted);font-size:.82rem}.project-card h3,.timeline-item h3{margin:12px 0 8px;font-size:1.08rem}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.tags span{padding:6px 10px;border-radius:999px;background:#8b4f2d1a;color:var(--page-accent);font-size:.8rem}.split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:18px;align-items:start}.timeline{display:grid;gap:14px}.timeline-item{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;padding:16px 0;border-top:1px solid var(--page-border)}.timeline-item:first-child{border-top:0;padding-top:0}.timeline-year{color:var(--page-accent-2);font-weight:700}.notes ul{margin:16px 0 0;padding-left:18px;color:var(--page-muted);line-height:1.8}.contact-row{display:flex;flex-wrap:wrap;gap:12px}.contact-row a{background:var(--page-surface-strong)}@media(max-width:900px){.hero-grid,.projects,.split{grid-template-columns:1fr}.section-head{flex-direction:column;align-items:start}}@media(max-width:640px){.shell{width:min(100% - 20px,1100px);padding-top:16px}.hero,.section{padding:18px;border-radius:16px}.stats{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr;gap:6px}}
