@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#21352a;--muted:#526358;--line:#dce4de;--accent:#315e43}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:62px}body{margin:0;background:#edf0ed;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:12px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}header,main,footer{max-width:1320px;margin:auto;background:white}header{height:54px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-weight:700;letter-spacing:1px;font-size:13px}nav{display:flex;gap:20px;align-items:center;font-size:11px}nav button{background:var(--ink);color:white;border:0;font-size:10px;padding:8px 12px;cursor:pointer}main{display:grid;grid-template-columns:285px minmax(0,1fr)}.cv-profile{grid-column:1/-1;padding:25px 28px 20px;border-bottom:1px solid var(--line)}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1px;margin:0 0 6px;color:#607467}h1{font-size:32px;letter-spacing:-1px;margin:0 0 4px;line-height:1.2}h2{font-size:15px;letter-spacing:-.2px;margin:0 0 12px}h3{font-size:21px;letter-spacing:-.5px;margin:0 0 6px}h4{font-size:11px;line-height:1.5;margin:0}.cv-role{margin:0 0 9px;font-size:14px;color:#45664d}.cv-contact{display:flex;flex-wrap:wrap;gap:8px 23px;font-size:11px;margin-bottom:12px}.cv-summary{font-size:12px;line-height:1.6;max-width:1080px;margin:5px 0;color:var(--muted)}.cv-sidebar{padding:20px 20px 20px 28px;background:#f7f9f6;border-right:1px solid var(--line)}.cv-sidebar>section{margin-bottom:24px}.entry{margin-bottom:12px}.entry p{font-size:11px;line-height:1.55;margin:3px 0;color:var(--muted)}time{font-size:10px;display:block;color:#728175;margin:3px 0}.cv-skills dl{margin:0}.cv-skills dl>div{margin-bottom:12px}dt{font-size:11px;font-weight:700;margin-bottom:3px}dd{margin:0;font-size:11px;line-height:1.6;color:var(--muted)}.cv-certifications ul{padding-left:14px;margin:0 0 10px}.cv-certifications li{font-size:11px;line-height:1.6;margin:6px 0}.text-link{font-size:10px}.work{padding:20px 26px}.section-top{border-bottom:1px solid var(--line);margin-bottom:17px}.project{margin-bottom:23px;padding-bottom:20px;border-bottom:1px solid var(--line)}.project:last-child{margin-bottom:0;border-bottom:0;padding-bottom:0}.project-copy p{font-size:12px;line-height:1.65;color:var(--muted);margin:6px 0}.project-copy .eyebrow{font-size:8px;letter-spacing:.8px;margin:0 0 5px}.project-copy .project-summary{font-size:12px;margin:4px 0 8px}.tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:7px 0 12px}.tags span{font-size:9px;padding:3px 7px;border:1px solid var(--line);border-radius:3px}.store-link{font-size:10px;margin-left:5px}.mechanic-detail{display:grid;grid-template-columns:1fr 1fr;gap:5px 18px}.mechanic-detail p{margin:0 0 5px}.mechanic-detail strong{color:var(--ink);font-size:11px}details{margin-top:7px;border-top:1px solid var(--line);padding-top:5px}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-size:11px;font-weight:700;padding:5px 0}summary::-webkit-details-marker{display:none}details p{font-size:11px!important;line-height:1.6!important}.note{font-size:10px!important;color:#78867a!important}.project-visual{margin-top:12px}.battle-gallery{display:flex;gap:10px}.zoom{padding:0;border:0;background:transparent;cursor:zoom-in;color:inherit;text-align:left;min-width:0}.zoom img{display:block;width:100%;object-fit:cover}.battle-gallery .zoom{width:180px}.battle-gallery img{height:92px}.zoom>span{display:block;font-size:8px;margin-top:4px;letter-spacing:.3px}.zoom b{font-weight:400;float:right}.city-visual{display:flex;gap:12px}.city-image-wrap{display:flex}.phone{width:65px}.phone img{height:125px;object-fit:cover;object-position:top}.city-side{display:none}.evidence{display:flex;gap:10px}.evidence .zoom{width:175px}.evidence img{height:105px}.evidence span{font-size:9px}footer{padding:15px 28px;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:10px}dialog{max-width:94vw;width:1200px;border:0;padding:18px;background:white}dialog::backdrop{background:#112119e8}dialog img{max-width:100%;max-height:80vh;object-fit:contain;display:block;margin:auto}dialog p{text-align:center;font-size:12px}dialog button{display:block;margin:0 0 12px auto;padding:8px 12px;cursor:pointer;background:white;border:1px solid var(--ink)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #527d58;outline-offset:3px}@media(max-width:950px){main{grid-template-columns:240px minmax(0,1fr)}.cv-sidebar{padding:20px 18px}.work{padding:20px}.mechanic-detail{grid-template-columns:1fr}.evidence .zoom{width:135px}}@media(max-width:650px){header{padding:0 18px}.brand{font-size:11px}nav{gap:12px}nav a{display:none}main{display:block}.cv-profile{padding:20px 18px}.cv-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:18px;border-right:0;border-bottom:1px solid var(--line)}.cv-sidebar>section{margin:0}.work{padding:18px}.cv-contact{gap:6px 13px}h1{font-size:29px}.battle-gallery .zoom{width:50%}.evidence .zoom{width:120px}.phone{width:53px}.city-visual{gap:8px}.evidence{gap:8px}footer{padding:14px 18px;flex-wrap:wrap;gap:10px}}@media(max-width:380px){.cv-sidebar{grid-template-columns:1fr}.evidence .zoom{width:100px}}@media print{@page{size:A4;margin:12mm}body{background:white}header,footer,.project-visual,dialog{display:none!important}main{display:block}.cv-profile{padding:0 0 15px}.cv-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px 0;background:white;border:0}.cv-sidebar>section{margin:0}.work{padding:12px 0}.mechanic-detail{grid-template-columns:1fr 1fr}.project{margin:15px 0;padding:12px 0}h2,h3,h4,summary{break-after:avoid}p{orphans:3;widows:3}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
