@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,600;9..144,700&family=Sora:wght@300;400;500;600;700&display=swap";:root{color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--paper: #f6f1e9;--paper-strong: #ffffff;--ink: #1f1d1a;--ink-soft: #4d463d;--accent: #1f4d56;--accent-strong: #0f2f35;--accent-warm: #c67b4e;--stroke: rgba(31, 29, 26, .12);--shadow: 0 24px 60px rgba(15, 23, 25, .12);--radius: 20px;--radius-soft: 14px;--max-width: 1120px;--font-display: "Fraunces", "Times New Roman", serif;--font-body: "Sora", "Trebuchet MS", sans-serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% 10%,rgba(198,123,78,.14),transparent 45%),radial-gradient(circle at 85% 15%,rgba(31,77,86,.18),transparent 50%),linear-gradient(120deg,#f6f1e9,#f9f5ef 40%,#edf3f4);color:var(--ink);font-family:var(--font-body)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}p{margin:0 0 1rem;color:var(--ink-soft)}h1,h2,h3{margin:0 0 .75rem;font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em}h1{font-size:clamp(2.6rem,3vw + 1.8rem,4rem);line-height:1.05}h2{font-size:clamp(2rem,2vw + 1.4rem,3rem);line-height:1.1}h3{font-size:1.3rem}.page{position:relative;min-height:100vh;overflow:hidden}.page:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(31,29,26,.08) 1px,transparent 0);background-size:22px 22px;opacity:.35;pointer-events:none;z-index:0}.ambient{position:fixed;inset:0;pointer-events:none;z-index:0}.orb{position:absolute;border-radius:999px;filter:blur(0px);opacity:.55;animation:float 18s ease-in-out infinite}.orb-one{width:320px;height:320px;background:radial-gradient(circle,rgba(198,123,78,.35),transparent 70%);top:-80px;left:-60px}.orb-two{width:260px;height:260px;background:radial-gradient(circle,rgba(31,77,86,.35),transparent 70%);top:10%;right:-80px;animation-delay:1.5s}.orb-three{width:240px;height:240px;background:radial-gradient(circle,rgba(239,209,178,.6),transparent 70%);bottom:-100px;left:30%;animation-delay:2.5s}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:18px 5vw;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f6f1e9c7;border-bottom:1px solid rgba(31,29,26,.08)}.wordmark{font-family:var(--font-display);font-size:1.2rem;letter-spacing:.08em;text-transform:uppercase}.nav-links{display:flex;align-items:center;gap:18px;font-size:.95rem}.nav-links a{padding:8px 12px;border-radius:999px;transition:background .2s ease,color .2s ease}.nav-links a:hover{background:#1f4d561f;color:var(--accent-strong)}.nav-cta{border:1px solid rgba(31,77,86,.4);color:var(--accent-strong);font-weight:600}.content{position:relative;z-index:1;max-width:var(--max-width);margin:0 auto;padding:0 5vw 120px}.hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;padding:90px 0 60px;align-items:center}.hero-copy{display:flex;flex-direction:column;gap:24px}.eyebrow{text-transform:uppercase;letter-spacing:.25em;font-size:.75rem;font-weight:600;color:var(--accent)}.lead{font-size:1.1rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:999px;border:1px solid transparent;font-weight:600;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.button.primary{background:var(--accent);color:#fefcf8;box-shadow:0 16px 30px #1f4d5633}.button.primary:hover{transform:translateY(-2px);box-shadow:0 22px 36px #1f4d5640}.button.ghost{border-color:#1f1d1a33;color:var(--ink);background:#fff9}.button.ghost:hover{border-color:#1f4d5659;color:var(--accent-strong)}.hero-highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}.highlight-card{background:#ffffffc2;border:1px solid rgba(31,29,26,.1);border-radius:var(--radius-soft);padding:16px;box-shadow:var(--shadow)}.highlight-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin-bottom:6px}.highlight-value{font-weight:600;margin-bottom:4px;color:var(--ink)}.highlight-detail{font-size:.85rem;color:var(--ink-soft);margin:0}.hero-card{background:#ffffffd9;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);border:1px solid rgba(31,29,26,.1)}.status-pill{display:inline-flex;align-items:center;gap:10px;padding:6px 12px;border-radius:999px;background:#1f4d561f;color:var(--accent-strong);font-size:.85rem;font-weight:600;margin-bottom:18px}.status-dot{width:8px;height:8px;border-radius:999px;background:#2e8d78;box-shadow:0 0 0 4px #2e8d7833}.metric-list{list-style:none;padding:0;margin:18px 0 24px;display:grid;gap:18px}.metric-list li{display:grid;gap:6px;padding-bottom:14px;border-bottom:1px solid rgba(31,29,26,.08)}.metric-value{font-size:1.5rem;font-weight:700;color:var(--ink)}.metric-label{font-weight:600}.metric-detail{font-size:.9rem;color:var(--ink-soft)}.toolbox{margin-top:18px}.toolbox-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-bottom:12px}.toolbox-items,.tag-row{display:flex;flex-wrap:wrap;gap:10px}.tag{padding:6px 12px;border-radius:999px;font-size:.8rem;border:1px solid rgba(31,29,26,.14);background:#ffffffe6}.section{padding:80px 0 40px;scroll-margin-top:90px}.section-head{margin-bottom:32px;max-width:720px}.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.about-card{background:#ffffffd1;border:1px solid rgba(31,29,26,.1);border-radius:var(--radius-soft);padding:22px;box-shadow:var(--shadow)}.experience-list{display:grid;gap:24px}.experience-card{background:#ffffffe6;border-radius:var(--radius);padding:24px;border:1px solid rgba(31,29,26,.1);box-shadow:var(--shadow)}.experience-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.experience-company{font-weight:600;color:var(--accent);margin:0}.experience-period{font-size:.9rem;color:var(--ink-soft);margin:0}.experience-summary{margin-top:12px;margin-bottom:12px}.bullet-list{margin:0;padding-left:18px;color:var(--ink-soft);display:grid;gap:8px}.bullet-list.compact{gap:6px}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.project-card{background:#ffffffe0;border-radius:var(--radius);padding:24px;border:1px solid rgba(31,29,26,.1);box-shadow:var(--shadow);display:grid;gap:16px}.project-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.project-type{font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-bottom:8px}.project-link{font-weight:600;color:var(--accent-strong);border-bottom:1px solid rgba(31,77,86,.4)}.project-link.muted{color:var(--ink-soft);border-bottom:none;font-size:.85rem}.project-description{margin:0}.project-screens{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.project-shot{position:relative;border-radius:14px;overflow:hidden;border:1px solid rgba(31,29,26,.12);background:#ffffffe6;aspect-ratio:4 / 3;display:block}.project-shot img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.project-shot:hover img{transform:scale(1.03)}.resume-section{padding-bottom:60px}.resume-card{background:linear-gradient(130deg,#1f4d562e,#c67b4e33);border-radius:var(--radius);padding:28px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;border:1px solid rgba(31,77,86,.2)}.resume-actions{display:flex;flex-wrap:wrap;gap:12px}.contact-section{padding-bottom:90px}.contact-card{background:#ffffffe6;border-radius:var(--radius);padding:28px;border:1px solid rgba(31,29,26,.1);box-shadow:var(--shadow);display:grid;gap:16px}.contact-actions{display:flex;flex-wrap:wrap;gap:12px}.footer{position:relative;z-index:1;padding:30px 5vw 50px;border-top:1px solid rgba(31,29,26,.08);font-size:.9rem;color:var(--ink-soft)}.reveal{opacity:0;transform:translateY(18px);animation:rise .7s ease forwards;animation-delay:var(--delay, 0ms)}@keyframes rise{to{opacity:1;transform:translateY(0)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(18px)}to{transform:translateY(0)}}@media(max-width:960px){.hero{grid-template-columns:1fr}.topbar{flex-direction:column;gap:12px}.nav-links{flex-wrap:wrap;justify-content:center}}@media(max-width:640px){.hero-actions,.contact-actions,.resume-actions{flex-direction:column;align-items:stretch}.button{width:100%}.highlight-card{box-shadow:none}}@media(prefers-reduced-motion:reduce){.reveal,.orb{animation:none;opacity:1;transform:none}html{scroll-behavior:auto}}
