:root { --ink:#181916; --paper:#f1efe9; --lime:#dfff4f; --line:#c9c7bf; --muted:#676861; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.nav { height:68px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.wordmark { font-size:21px; font-weight:800; letter-spacing:-1px; }.wordmark span{color:#778c00}
nav { display:flex; gap:34px; align-items:center; font-size:13px; font-weight:600; }
.nav-cta { background:var(--ink); color:white; padding:13px 18px; }.nav-cta span,.primary span{color:var(--lime)}
.hero { min-height:410px; display:grid; grid-template-columns:1fr 180px; gap:7vw; align-items:center; padding-block:38px; }
.eyebrow,.kicker { font:500 11px ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow i { display:inline-block;width:8px;height:8px;border-radius:50%;background:#8aa000;margin-right:8px;box-shadow:0 0 0 5px #dfe7bd }
h1 { font-size:clamp(50px,6vw,76px); line-height:.91; letter-spacing:-.065em; margin:20px 0; max-width:760px; }
h1 em { font-family:Georgia,serif; font-weight:500; }
.intro { color:var(--muted); font-size:18px; line-height:1.65; max-width:600px; }
.actions { display:flex; gap:14px; margin:35px 0 0; }.button{padding:16px 19px;font-size:13px;font-weight:700}.primary{background:var(--ink);color:white}.quiet{border-bottom:1px solid var(--ink)}
.stats { display:flex; margin:0; }.stats div{padding-right:35px;margin-right:35px;border-right:1px solid var(--line)}.stats div:last-child{border:0}.stats dt{font-weight:700;font-size:16px}.stats dd{margin:6px 0 0;color:var(--muted);font-size:12px}
.portrait-wrap { position:relative; width:180px; height:180px; justify-self:end; }.portrait-frame{width:180px;height:180px;overflow:hidden;border-radius:50%;background:#d5d1c7}.portrait-frame img{display:block;width:180px;height:180px;object-fit:cover;filter:saturate(.65) contrast(1.03)}
.portrait-note{position:absolute;right:-50px;bottom:26px;transform:rotate(-90deg);font:10px ui-monospace,monospace;letter-spacing:.15em}.scribble{position:absolute;width:96px;right:-8px;top:-42px;fill:none;stroke:var(--ink);stroke-width:2}
.expertise { border-top:1px solid var(--line); padding:42px 0 48px; }.section-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}.section-head h2,.approach h2,.contact h2{font-size:clamp(32px,4vw,48px);letter-spacing:-.045em;line-height:1;margin:12px 0}.section-head>p{color:var(--muted);line-height:1.55;max-width:520px}
.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.skill-grid article{padding:20px 22px 18px 0;border-right:1px solid var(--line);margin-right:22px}.skill-grid article:last-child{border:0;margin:0}.skill-grid h3{font-size:18px;margin:0 0 8px}.skill-grid p{font-size:13px;color:var(--muted);line-height:1.5;margin:0}
.approach{padding:110px 0;border-bottom:1px solid var(--line)}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.approach-grid div{padding-top:18px}.approach-grid p{color:var(--muted);line-height:1.8}
.contact{text-align:center;padding:42px 0;border-top:1px solid var(--line)}.contact h2{max-width:780px;margin:12px auto}.contact-links{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.contact-links a,.contact-links button{display:inline-block;background:var(--lime);border:0;padding:12px 16px;margin-top:6px;font:inherit;font-size:13px;font-weight:700;color:var(--ink);cursor:pointer}
footer{border-top:1px solid var(--line);min-height:58px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}footer div{display:flex;gap:25px}
.cv{padding:75px 0 100px}.cv-top{display:grid;grid-template-columns:1fr 280px;gap:70px;align-items:end}.cv h1{font-size:clamp(50px,7vw,82px);margin-bottom:20px}.cv-lead{color:var(--muted);font-size:18px}.focus-box{border:1px solid var(--line);padding:18px}.focus-box label{display:block;font:10px ui-monospace,monospace;letter-spacing:.1em;margin-bottom:10px}.focus-box select{width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:8px 0;font-size:14px;font-weight:600;font-family:inherit}
.focus-summary{margin:50px 0 20px;padding:24px 28px;background:var(--lime);font-size:17px;font-weight:600}.timeline article{display:grid;grid-template-columns:220px 1fr;gap:50px;border-top:1px solid var(--line);padding:38px 0}.timeline article>div:first-child{font:11px ui-monospace,monospace;color:var(--muted)}.timeline h2{font-size:26px;margin:0 0 6px}.timeline h3{font-size:14px;color:var(--muted);margin:0 0 20px}.timeline li{margin:10px 0;line-height:1.6;color:#464740}.timeline li.highlight{background:#e1e9b9;padding:4px 8px;color:var(--ink)}.timeline article.deemphasized{opacity:.42}.education{border-top:1px solid var(--ink);padding-top:40px;margin-top:40px}.education h2{font-size:28px;margin-bottom:8px}.education p:last-child{color:var(--muted)}
body.cv-mode main>section:not(.cv){display:none}body.cv-mode .nav nav a:not(.nav-cta){display:none}body.cv-mode .nav-cta{font-size:0}body.cv-mode .nav-cta:before{content:"Contact Ivan";font-size:13px}
@media(max-width:850px){.hero{grid-template-columns:1fr;padding-top:50px}.portrait-wrap{justify-self:start;margin:20px 0 0}.skill-grid{grid-template-columns:1fr 1fr}.section-head,.approach-grid{grid-template-columns:1fr}.cv-top{grid-template-columns:1fr}.timeline article{grid-template-columns:150px 1fr}}
@media(max-width:560px){.shell{width:min(100% - 28px,1180px)}.nav{height:60px}.nav nav>a:not(.nav-cta){display:none}.hero{min-height:auto;padding-block:34px}h1{font-size:46px}.intro{font-size:15px}.actions{flex-direction:column;align-items:flex-start;margin-bottom:30px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:20px}.stats div{border:0;margin:0;padding:0}.portrait-note,.scribble{display:none}.skill-grid{grid-template-columns:1fr}.skill-grid article{border-right:0;border-bottom:1px solid var(--line);margin:0}.skill-grid p{min-height:0}.expertise,.approach,.contact{padding-block:42px}.section-head{gap:16px}.timeline article{grid-template-columns:1fr;gap:10px}.cv{padding-top:40px}.cv-top{gap:25px}footer{align-items:flex-start;padding:18px 0;gap:12px;flex-direction:column}}
@media(prefers-reduced-motion:no-preference){.hero-copy,.portrait-wrap{animation:rise .7s ease-out both}.portrait-wrap{animation-delay:.1s}@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}}
