:root{--bg:#faf8f5;--text:#37352f;--text-secondary:#78706a;--accent:#8a7356;--accent-light:#f2ede5;--border:#e8e5e0;--font-display:"Cormorant Garamond", Georgia, serif;--font-body:"DM Sans", system-ui, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--text);background:var(--bg);font-size:1rem;line-height:1.7}img{max-width:100%;height:auto;display:block}a{color:var(--accent);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklch, var(--accent), transparent 60%);text-decoration-color:color-mix(in oklch, var(--accent), transparent 60%);transition:text-decoration-color .2s}a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page{max-width:780px;margin:0 auto;padding:clamp(48px,8vw,96px) clamp(20px,4vw,32px) clamp(64px,8vw,120px)}.hero{align-items:center;gap:32px;margin-bottom:clamp(48px,6vw,72px);animation:.6s cubic-bezier(.25,1,.5,1) both fadeInUp;display:flex}.headshot img{aspect-ratio:1;object-fit:cover;border:1px solid var(--border);border-radius:8px;width:clamp(128px,20vw,184px);box-shadow:0 4px 20px #37352f14}.hero-text{flex:1;min-width:0}.name{font-family:var(--font-display);color:var(--text);margin-bottom:4px;font-size:clamp(2rem,5vw,2.8rem);font-weight:600;line-height:1.15}.nickname{color:var(--text-secondary);font-weight:400}.subtitle{font-family:var(--font-display);color:var(--text-secondary);letter-spacing:.02em;font-size:clamp(1rem,2vw,1.15rem);font-style:italic;font-weight:400}.about,.work,.education{margin-bottom:clamp(40px,5vw,56px);padding-top:clamp(40px,5vw,56px)}.about{animation:.6s cubic-bezier(.25,1,.5,1) .1s both fadeInUp}.work{animation:.6s cubic-bezier(.25,1,.5,1) .2s both fadeInUp}.education{animation:.6s cubic-bezier(.25,1,.5,1) .3s both fadeInUp}.about h2,.work h2,.education h2{font-family:var(--font-display);letter-spacing:.02em;color:var(--accent);margin-bottom:20px;font-size:clamp(1.5rem,3vw,1.85rem);font-weight:600;line-height:1.2}.about h2:before,.work h2:before,.education h2:before{content:"";background:var(--accent);width:48px;height:2px;margin-bottom:16px;display:block}.about p{max-width:65ch;margin-bottom:16px}.about p:last-child{margin-bottom:0}.work-content{align-items:flex-start;gap:clamp(28px,4vw,44px);display:flex}.work-text{flex:1;min-width:0}.work-text ul{margin-left:20px}.work-text li{margin-bottom:12px;line-height:1.7}.work-text li:last-child{margin-bottom:0}.team-photo{flex-shrink:0;width:clamp(200px,30vw,260px)}.team-photo img{border-radius:8px;width:100%;box-shadow:0 4px 20px #37352f12}.team-photo figcaption{color:var(--text-secondary);margin-top:10px;font-size:.875rem;font-style:italic}.education ul{margin-bottom:16px;margin-left:20px}.education li{margin-bottom:8px}.education li:last-child{margin-bottom:0}.resume-link{color:var(--text-secondary);margin-top:4px;font-size:.9rem}.closing{border-top:1px solid var(--border);margin-top:clamp(16px,3vw,24px);padding-top:clamp(40px,5vw,56px);animation:.6s cubic-bezier(.25,1,.5,1) .4s both fadeInUp}.closing p{font-family:var(--font-display);color:var(--text-secondary);max-width:55ch;font-size:clamp(1rem,2vw,1.15rem);font-style:italic;line-height:1.6}@media (width<=600px){.hero{flex-direction:column;align-items:flex-start;gap:20px}.work-content{flex-direction:column}.team-photo{width:100%;max-width:340px}}@media (prefers-reduced-motion:reduce){.hero,.about,.work,.education,.closing{animation:none}}
