:root{--bg:#fff;--fg:#111;--muted:#555;--hair:#e6e6e6}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100dvh;font-family:-apple-system,Helvetica Neue,Arial,sans-serif;font-size:13px;line-height:1.5;display:flex}body>.container,body>main{width:100%}main{flex:1 0 auto}.site-footer{flex-shrink:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}*{box-shadow:none!important;border-radius:0!important}.nav a,.project-title,.links-title,.social-links a{text-transform:uppercase;letter-spacing:.08em}.container{max-width:1440px;margin:0 auto;padding:0 36px}.logo img{width:auto;max-width:none;height:48px}.site-header{justify-content:space-between;align-items:flex-start;padding-top:28px;padding-bottom:28px;display:flex}.nav{align-items:center;gap:12px;font-size:11px;display:flex}.nav-icon{display:flex}.nav-about{margin-left:16px}.site-footer{color:var(--muted);background:var(--bg);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:24px;font-size:11px;display:flex}.copyright-vertical{writing-mode:vertical-rl;color:var(--muted);font-size:10px;position:fixed;top:50%;left:4px;transform:rotate(180deg)}@media (max-width:640px){.site-header{flex-direction:column;gap:12px}.copyright-vertical{display:none}.site-footer{text-align:center;flex-direction:column;align-items:center}}.project-grid{grid-template-columns:repeat(4,1fr);gap:24px;padding:24px 0 64px;display:grid}.project-thumb-wrap{aspect-ratio:1;overflow:hidden}.project-thumb{object-fit:cover;width:100%;height:100%}.project-title{text-align:center;padding:12px 0;font-size:11px}@media (max-width:1100px){.project-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.project-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.project-grid{grid-template-columns:1fr}}.detail{grid-template-columns:1fr 1.2fr .8fr;gap:32px;padding:24px 0 48px;display:grid}.detail-gallery{grid-template-columns:1fr 1fr;gap:8px;display:grid}.detail-gallery img{width:100%}.gallery-thumb{cursor:zoom-in;background:0 0;border:none;padding:0;display:block}.lightbox{z-index:100;background:#fffffffa;justify-content:center;align-items:center;padding:56px 72px;display:flex;position:fixed;inset:0}.lightbox-img{object-fit:contain;cursor:default;max-width:100%;max-height:100%}.lightbox-close,.lightbox-nav{font:inherit;color:var(--fg);cursor:pointer;background:0 0;border:none;padding:12px;font-size:22px;line-height:1;position:absolute}.lightbox-close{top:12px;right:16px}.lightbox button:focus:not(:focus-visible){outline:none}.lightbox button:focus-visible{outline:1px solid var(--fg)}.lightbox-prev{top:50%;left:12px;transform:translateY(-50%)}.lightbox-next{top:50%;right:12px;transform:translateY(-50%)}.lightbox-count{color:var(--muted);font-size:11px;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}@media (max-width:640px){.lightbox{padding:56px 8px}.lightbox-nav{display:none}}.detail-subtitle,.detail-status{font-size:12px}.detail-status{color:var(--muted);margin-bottom:16px}.detail-desc{font-size:12px}.detail-credits{color:var(--muted);margin-top:16px;font-size:11px}.detail-links{font-size:11px}.detail-nav{grid-column:1/-1;justify-content:space-between;padding-top:16px;font-size:18px;display:flex}@media (max-width:820px){.detail{grid-template-columns:1fr}}.about{padding:48px 0}.about-intro{gap:32px;max-width:760px;margin:0 auto 64px;display:flex}.portrait{flex-shrink:0;align-self:flex-start;width:180px;height:auto}.about-text{font-size:12px}.social-links{flex-wrap:wrap;gap:12px;margin-top:24px;font-size:11px;display:flex}.social-links a{text-decoration:underline}.contact-form{grid-template-columns:repeat(3,1fr);gap:12px 24px;max-width:760px;margin:0 auto;font-size:12px;display:grid}.contact-title,.contact-form textarea,.contact-form button,.form-msg{grid-column:1/-1}.contact-title{margin-bottom:4px;font-size:14px}.contact-form input,.contact-form textarea{border:none;border-bottom:1px solid var(--fg);font:inherit;background:0 0;outline:none;padding:4px 0}.contact-form textarea{resize:vertical}.contact-form button{font:inherit;cursor:pointer;background:0 0;border:none;justify-self:start;padding:0}.hp{width:1px;height:1px;position:absolute;left:-9999px}.form-msg{color:var(--muted);font-size:11px}@media (max-width:640px){.about-intro{text-align:center;flex-direction:column;align-items:center}.contact-form{grid-template-columns:1fr}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
