:root{
  --base:#F8F8F6;
  --text:#111111;
  --muted:#5f5f5b;
  --accent:#3B5BDB;
  --divider:#E8E8E4;
  --card:#FFFFFF;
  --shadow:0 24px 80px rgba(17,17,17,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--base);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:28px clamp(22px,5vw,72px);background:rgba(248,248,246,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(232,232,228,.72)}.brand{font-weight:800;letter-spacing:.12em;color:var(--accent)}nav{display:flex;gap:clamp(16px,3vw,38px)}nav a{font-size:.88rem;font-weight:700;color:var(--muted);transition:.2s ease}nav a:hover{color:var(--accent)}.section,.hero{padding:clamp(72px,10vw,130px) clamp(22px,5vw,72px)}.section-grid{display:grid;grid-template-columns:minmax(180px,.38fr) minmax(0,1fr);gap:clamp(36px,7vw,110px);align-items:start}.hero{min-height:82vh;align-items:center}.hero-copy{max-width:850px}.eyebrow{margin:0 0 24px;color:var(--accent);font-size:.9rem;letter-spacing:.19em;text-transform:uppercase;font-weight:800}.hero h1{font-family:"DM Serif Display",serif;font-size:clamp(4.7rem,11vw,11rem);line-height:.88;margin:0 0 34px;font-weight:400;letter-spacing:-.055em}.hero-statement{font-size:clamp(1.5rem,3vw,3rem);line-height:1.18;max-width:850px;margin:0;color:#2a2a28;font-weight:500}.specialty-line{display:inline-block;margin-top:30px;padding-bottom:8px;font-size:clamp(1.05rem,2vw,1.55rem);font-weight:800;color:var(--accent);border-bottom:4px solid var(--accent);min-width:315px}.specialty-line::after{content:"";display:inline-block;width:2px;height:1.1em;background:var(--accent);margin-left:4px;vertical-align:-.16em;animation:blink .8s steps(2,start) infinite}@keyframes blink{50%{opacity:0}}.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:48px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 28px;border-radius:4px;font-weight:800;transition:.22s ease;border:1px solid var(--divider)}.button.primary{background:var(--accent);border-color:var(--accent);color:white}.button.secondary{background:transparent;color:var(--text)}.button:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.hero-card{background:var(--card);padding:14px;border:1px solid var(--divider);box-shadow:var(--shadow);max-width:420px;justify-self:end}.hero-card img{aspect-ratio:4/5;object-fit:cover;object-position:center;border-radius:2px;filter:saturate(.96)}.card-note{display:flex;justify-content:space-between;gap:18px;padding:18px 6px 4px}.card-note span{color:var(--muted);font-size:.83rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800}.card-note strong{text-align:right}.divider{border-top:1px solid var(--divider)}.section-label{color:var(--accent);text-transform:uppercase;letter-spacing:.18em;font-size:.85rem;font-weight:900}.section-content h2,.section-heading h2,.contact-section h2{font-size:clamp(2.1rem,5vw,4.6rem);line-height:1.02;letter-spacing:-.05em;margin:0 0 28px;max-width:960px}.section-content>p{font-size:1.18rem;color:var(--muted);max-width:850px}.quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--divider);margin-top:50px;border:1px solid var(--divider)}.quick-stats div{background:var(--base);padding:28px}.quick-stats span{font-size:2.6rem;font-family:"DM Serif Display",serif}.quick-stats p{margin:4px 0 0;color:var(--muted)}.section-heading{max-width:1000px;margin-bottom:44px}.project-grid,.cert-grid,.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card,.cert-card,.skills-grid div,.experience-block{border:1px solid var(--divider);background:rgba(255,255,255,.56);padding:34px;transition:.22s ease}.project-card:hover,.cert-card:hover,.skills-grid div:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:rgba(59,91,219,.34)}.tag,.cert-card span{display:inline-block;margin-bottom:20px;color:var(--accent);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:900}.project-card h3,.cert-card h3,.skills-grid h3,.experience-block h3{font-size:1.45rem;line-height:1.15;margin:0 0 16px}.project-card p,.cert-card p,.skills-grid p,.experience-block p{color:var(--muted);margin:0}.project-card ul,.experience-block ul{padding-left:19px;margin:22px 0 0;color:#333}.project-card li,.experience-block li{margin:10px 0}.portfolio-link{margin-top:26px;padding:28px;border-left:5px solid var(--accent);background:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:space-between;gap:22px}.portfolio-link p{margin:0;color:var(--muted)}.portfolio-link a{color:var(--accent);font-weight:900}.cert-card{display:block;min-height:260px}.experience-block{display:grid;grid-template-columns:.45fr 1fr;gap:44px}.contact-section{display:grid;grid-template-columns:1fr minmax(280px,430px);gap:70px;align-items:center}.grad-photo{border:1px solid var(--divider);box-shadow:var(--shadow);aspect-ratio:4/5;object-fit:cover;object-position:center}.cursor-dot{position:fixed;width:10px;height:10px;border-radius:999px;background:var(--accent);pointer-events:none;z-index:999;transform:translate(-50%,-50%);opacity:.55;transition:opacity .2s ease}footer{display:flex;justify-content:space-between;gap:22px;padding:34px clamp(22px,5vw,72px);border-top:1px solid var(--divider);color:var(--muted)}footer a{font-weight:800;color:var(--accent)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}@media (max-width:900px){nav{display:none}.section-grid,.hero,.contact-section,.experience-block{grid-template-columns:1fr}.hero-card{justify-self:start}.project-grid,.cert-grid,.skills-grid,.quick-stats{grid-template-columns:1fr}.portfolio-link{align-items:flex-start;flex-direction:column}.section,.hero{padding-top:70px;padding-bottom:70px}.hero h1{font-size:clamp(4rem,18vw,7rem)}.specialty-line{min-width:0;width:100%}footer{flex-direction:column}.cursor-dot{display:none}}
