@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/space-mono-regular.ttf) format("truetype")}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/space-mono-bold.ttf) format("truetype")}:root{--ink:#2c2621;--secondary:#4a433c;--accent:#8a7d72;--paper:#e8e2da;--surface:#f5f0ea}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background-color:var(--paper);background-image:linear-gradient(to right,#2c26211a 1px,transparent 1px),linear-gradient(to bottom,#2c26211a 1px,transparent 1px);background-size:60px 60px;font-family:Space Mono,monospace;font-size:15px;line-height:1.6}::selection{background:var(--ink);color:var(--surface)}a{color:inherit;text-underline-offset:4px}a:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid currentColor;outline-offset:5px}main:focus{outline:none}img{display:block;max-width:100%;height:auto}p,h1,h2,h3,figure{margin:0}p+p{margin-top:14px}h1{font-size:clamp(28px,3.5vw,44px);line-height:1.15;letter-spacing:-1.5px}h2{font-size:18px;letter-spacing:2px;text-transform:uppercase}h3{font-size:25px;line-height:1.2;letter-spacing:-1px}.wrap{width:min(1152px,calc(100% - 64px));margin-inline:auto}main.wrap{padding-top:40px}.portfolio-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.card{min-width:0;padding:28px;border:4px solid var(--ink);background:var(--surface);box-shadow:6px 6px 0 var(--accent);display:flex;flex-direction:column;gap:20px}.card p+p{margin-top:0}.card--hero{grid-column:span 3;background:var(--ink);color:var(--surface);border-color:var(--surface);box-shadow:6px 6px 0 var(--secondary);justify-content:center}.hero-intro{display:flex;gap:28px;align-items:center}.portrait{width:140px;height:140px;object-fit:cover;border:2px solid var(--accent);flex:none}.hero-location{font-weight:700;margin-top:12px;font-size:17px}.card--about{background:var(--secondary);color:var(--surface);border-color:var(--surface);font-size:13px;gap:16px;padding:24px}.tech{font-size:12px;font-weight:700;line-height:1.8}.actions{display:flex;flex-wrap:wrap;gap:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 15px;border:2px solid currentColor;font-size:13px;font-weight:700;line-height:1.4;text-decoration:none;box-shadow:4px 4px 0 var(--accent);align-self:flex-start;transition:transform .15s,box-shadow .15s}.button-icon{display:block;width:18px;height:18px;flex:none;background:currentColor;mask:var(--icon) center/contain no-repeat}.button:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--accent)}.button:active{transform:translate(4px,4px);box-shadow:none}.button--filled{background:var(--ink);color:var(--surface);border-color:var(--ink)}.card--hero .button--filled,.card--lead .button--filled,.card--team .button--filled{background:var(--surface);color:var(--ink);border-color:var(--surface)}.divider{grid-column:1/-1;display:flex;align-items:center;gap:20px;margin:8px 0}.divider:before,.divider:after{content:"";height:4px;flex:1;background:var(--ink)}.divider h2{background:var(--paper);font-size:25px;letter-spacing:5px}.card--lead{grid-column:1/-1;display:grid;grid-template-columns:.85fr 1.4fr;align-items:center;gap:32px;background:var(--ink);color:var(--surface);border-color:var(--surface);box-shadow:6px 6px 0 var(--secondary)}.lead-copy{display:flex;flex-direction:column;gap:20px}.card--lead h3{font-size:36px}.project-heading{display:flex;align-items:center;gap:14px}.project-heading img{flex:none}.project-logo--team{width:44px;height:52px;object-fit:contain}.project-logo--pyros{width:44px;height:58px;padding:5px;background:var(--ink);object-fit:contain}.screenshot{width:100%;border:2px solid var(--accent)}.card--rasporedic,.card--team,.card--pyros,.card--javise,.card--awards,.card--contact{grid-column:span 2}.card--rasporedic{display:grid;grid-template-columns:1fr 155px;align-items:center;gap:24px}.project-copy{display:flex;flex-direction:column;gap:20px}.phone-screen{width:155px;border:2px solid var(--ink)}.school-count{font-size:14px;border-left:4px solid var(--ink);padding-left:12px}.card--team{background:var(--secondary);color:var(--surface);border-color:var(--surface);box-shadow:6px 6px 0 var(--accent)}.team-photo{width:100%;height:auto;border:2px solid var(--accent)}.card--team .button,.card--pyros .button{margin-top:auto}figcaption{font-size:10px;line-height:1.6;margin-top:8px}.card--javise{background:var(--paper)}.result{font-size:12px;border-left:4px solid var(--ink);padding-left:12px;font-weight:700}.shot summary{cursor:pointer;list-style:none}.shot summary::-webkit-details-marker{display:none}.shot-toggle{display:flex;align-items:center;min-height:44px;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px}.hide,.shot[open] .show{display:none}.shot[open] .hide{display:inline}.shot__large{overflow:auto;max-width:100%;border:2px solid var(--ink)}.shot__large img{width:960px;max-width:none}.awards{list-style:none;margin:0;padding:0;display:grid;gap:18px}.awards li{border-left:4px solid var(--ink);padding-left:12px}.awards li>div{display:flex;justify-content:space-between;gap:12px;font-size:13px}.awards li>div>span{white-space:nowrap;font-size:11px}.awards p{font-size:12px;margin-top:4px}.card--contact{justify-content:center}.email{font-size:clamp(14px,1.7vw,22px);font-weight:700;overflow-wrap:anywhere}footer.wrap{padding-top:40px;padding-bottom:28px;font-size:11px;font-weight:700}.skip-link{position:absolute;z-index:10;top:8px;left:8px;padding:12px;background:var(--surface);border:2px solid var(--ink);transform:translateY(-150%)}.skip-link:focus{transform:none}.missing{margin-top:60px;padding:28px;border:4px solid var(--ink);box-shadow:6px 6px 0 var(--accent);background:var(--surface)}.missing .actions{margin-top:24px}@media(max-width:1000px){.portfolio-grid{gap:24px}.card--hero,.card--about{grid-column:span 2}.card--rasporedic{grid-template-columns:1fr}.phone-screen{width:140px;justify-self:center}.card--lead{grid-template-columns:1fr 1.15fr}.hero-intro{gap:20px}.portrait{width:110px;height:110px}.card{padding:24px}.card--hero .hero-intro{flex-direction:column;align-items:flex-start}}@media(max-width:650px){.wrap{width:calc(100% - 36px)}main.wrap{padding-top:20px}.portfolio-grid{grid-template-columns:1fr;gap:22px}.card,.card--hero,.card--about,.card--lead,.card--rasporedic,.card--team,.card--pyros,.card--javise,.card--awards,.card--contact{grid-column:1;padding:20px;gap:18px;border-width:3px;box-shadow:4px 4px 0 var(--accent)}.card--hero{gap:22px}.card--hero .hero-intro{flex-direction:row;align-items:center;gap:16px}.portrait{width:88px;height:88px}h1{font-size:27px;letter-spacing:-1px}.hero-location{font-size:12px;margin-top:8px}body,.card--about{font-size:14px}.card--lead{grid-template-columns:1fr}.card--lead h3{font-size:31px}.card--rasporedic{grid-template-columns:1fr 100px;gap:16px}.phone-screen{width:100px}.card--rasporedic .project-copy{gap:16px}.card--rasporedic h3{font-size:22px}.card--rasporedic .button{font-size:12px;padding:10px 11px}.divider{gap:14px;margin:4px 0}.divider h2{font-size:20px;letter-spacing:3px}.email{font-size:16px}.awards li>div{flex-wrap:wrap;gap:4px 10px}footer.wrap{padding-top:28px}.missing{margin-top:24px}}@media(max-width:360px){.card--hero .hero-intro{flex-direction:column;align-items:flex-start}.card--rasporedic{grid-template-columns:1fr}.phone-screen{width:150px}.button{padding-inline:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
