:root{--bg:#f1f0eb;--ink:#11110f;--muted:#696861;--line:#c9c7be;--accent:#8f1f2f;--card:#f8f7f2;--black:#111;--white:#fff;--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.45}a{color:inherit;text-decoration:none}img{display:block;width:100%}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}.nav{position:sticky;top:0;z-index:30;background:rgba(241,240,235,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.navin{height:72px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:800;letter-spacing:-.02em}.navlinks{display:flex;gap:28px;font-size:14px}.pill{padding:12px 18px;border:1px solid var(--ink);border-radius:999px;transition:.2s}.pill:hover{background:var(--ink);color:var(--bg)}
.hero{min-height:calc(100vh - 72px);display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:end;padding:70px 0 30px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:12px}.display{font-size:clamp(68px,10vw,170px);line-height:.78;letter-spacing:-.075em;margin:22px 0 28px}.display .accent{color:var(--accent)}.lede{max-width:760px;font-size:clamp(20px,2vw,32px);line-height:1.2;letter-spacing:-.03em}.meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:32px;color:var(--muted);font-size:14px}.hero-photo{height:min(72vh,850px);border-radius:4px;overflow:hidden;position:relative;background:#ddd}.hero-photo img{height:100%;object-fit:cover;object-position:center 30%}.caption{position:absolute;left:14px;right:14px;bottom:14px;background:rgba(17,17,15,.84);color:#fff;padding:12px 14px;display:flex;justify-content:space-between;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.rule{border-top:1px solid var(--ink)}section{padding:92px 0}.sectionhead{display:grid;grid-template-columns:.45fr 1.55fr;gap:40px;margin-bottom:38px}.sectionhead h2{font-size:clamp(48px,6vw,98px);line-height:.92;letter-spacing:-.055em;margin:0}.sectionhead p{max-width:720px;font-size:20px;margin:4px 0;color:var(--muted)}
.project{display:grid;grid-template-columns:.8fr 1.2fr;border-top:1px solid var(--ink);padding:22px 0 52px;gap:32px}.project:nth-child(even){grid-template-columns:1.2fr .8fr}.project:nth-child(even) .project-copy{order:2}.project-copy{display:flex;flex-direction:column;justify-content:space-between;min-height:430px}.num{font-size:13px;color:var(--muted)}.project h3{font-size:clamp(36px,5vw,82px);line-height:.9;letter-spacing:-.05em;margin:14px 0}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{border:1px solid var(--line);padding:7px 10px;border-radius:999px;font-size:12px}.projimg{background:#ddd;min-height:430px;overflow:hidden}.projimg img{height:100%;object-fit:cover}.projimg.contain img{object-fit:contain;background:#fff}.project .arrow{margin-top:24px;font-size:16px;font-weight:700}.project .arrow span{display:inline-block;transition:.2s}.project:hover .arrow span{transform:translateX(8px)}
.aboutgrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px}.aboutimg{height:720px}.aboutimg img{height:100%;object-fit:cover}.copybox{display:flex;flex-direction:column;justify-content:space-between;border-top:1px solid var(--ink);padding-top:18px}.copybox h3{font-size:clamp(48px,6vw,96px);letter-spacing:-.06em;line-height:.92;margin:0}.copybox p{font-size:22px;max-width:720px}.stats{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.stat{padding:18px 0;border-bottom:1px solid var(--line)}.stat b{display:block;font-size:42px;letter-spacing:-.04em}.stat span{color:var(--muted)}
.timeline{border-top:1px solid var(--ink)}.role{display:grid;grid-template-columns:160px 1fr 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}.role h4{font-size:30px;margin:0}.role p{margin:0;color:var(--muted)}
.skills{display:flex;flex-wrap:wrap;gap:10px}.skill{font-size:clamp(22px,2vw,34px);border:1px solid var(--ink);padding:13px 17px;border-radius:999px}.certs{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.cert{background:var(--bg);padding:28px;min-height:180px;display:flex;flex-direction:column;justify-content:space-between}.cert h4{font-size:28px;margin:0}.cert small{color:var(--muted)}
.contact{background:var(--ink);color:#fff;padding:90px 0}.contact h2{font-size:clamp(64px,9vw,150px);line-height:.84;letter-spacing:-.07em;margin:0 0 40px}.contactgrid{display:flex;justify-content:space-between;align-items:end;gap:20px}.contact a{border-bottom:1px solid #fff;padding-bottom:4px}.footer{padding:22px 0;font-size:12px;color:var(--muted);display:flex;justify-content:space-between}
.reveal{opacity:0;transform:translateY(22px);transition:.7s ease}.reveal.in{opacity:1;transform:none}
.detail-hero{padding:70px 0 40px}.detail-hero h1{font-size:clamp(64px,10vw,150px);line-height:.85;letter-spacing:-.07em;margin:22px 0}.detail-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:30px}.detail-aside{border-top:1px solid var(--ink);padding-top:14px}.detail-body{font-size:21px}.detail-body h2{font-size:48px;letter-spacing:-.04em}.detail-img{margin:30px 0;border:1px solid var(--line);background:#fff;padding:12px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:30px 0}.metric{background:var(--bg);padding:20px}.metric b{font-size:36px;display:block}.back{font-size:14px;text-transform:uppercase;letter-spacing:.16em}
@media(max-width:900px){.navlinks{display:none}.hero,.sectionhead,.project,.project:nth-child(even),.aboutgrid,.detail-grid{grid-template-columns:1fr}.project:nth-child(even) .project-copy{order:0}.hero{padding-top:34px}.hero-photo{height:560px}.project-copy{min-height:auto}.projimg{min-height:280px}.role{grid-template-columns:1fr}.certs{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.contactgrid{align-items:start;flex-direction:column}.aboutimg{height:520px}}
