:root{--paper:#f5f3ec;--ink:#242820;--muted:#626659;--line:#d5d7cc;--accent:#344e3b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;line-height:1.7}a{color:inherit;text-underline-offset:5px}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #a35a2b;outline-offset:5px}.header{max-width:1280px;margin:auto;padding:26px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.brand{font-size:21px;font-weight:750;text-decoration:none;white-space:nowrap}nav{display:flex;gap:26px;flex-wrap:wrap}nav a{font-size:13px;text-decoration:none}nav a:hover{text-decoration:underline}main:not(.reader){max-width:1152px;margin:auto;padding:0 24px}.hero{padding:100px 0 72px;max-width:1000px}.eyebrow{font-size:11px;letter-spacing:.18em;color:var(--accent);font-weight:700}.hero h1{font-size:clamp(48px,9vw,108px);font-weight:500;line-height:1.13;letter-spacing:-.065em;margin:28px 0}.hero .tagline{font-size:clamp(20px,3vw,31px);letter-spacing:-.035em;margin:0}.muted{color:var(--muted)}.hero .muted{margin:18px 0 34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--accent);color:#fff;padding:13px 22px;border:1px solid var(--accent);text-decoration:none;border-radius:2px;cursor:pointer;font-size:14px}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}section.block{padding:48px 0 58px;border-top:1px solid var(--line);scroll-margin-top:20px}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:24px}.section-head h2{font-size:24px;font-weight:550;letter-spacing:-.04em;margin:0}.section-head span{font-size:11px;color:var(--muted);letter-spacing:.12em}.work-entry{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:end;background:#e6e8dd;padding:36px}.work-entry h3{font-size:32px;font-weight:500;margin:0 0 12px}.work-entry .action{justify-self:end}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px}.portfolio-card img{width:100%;height:auto;display:block}.portfolio-card h3{margin-bottom:4px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.history-item{display:flex;gap:24px;border-bottom:1px solid var(--line);padding:10px 0}.history-item span:first-child{font-variant-numeric:tabular-nums;color:var(--muted)}.contact-links{display:flex;flex-wrap:wrap;gap:18px}footer{max-width:1152px;margin:25px auto 0;padding:25px 24px 40px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;gap:20px;justify-content:space-between}.reader{background:#fff}.reader-head,.reader-end{max-width:800px;padding:44px 24px;margin:auto}.reader-head h1{font-size:28px;margin:10px 0}.reader-head p{font-size:13px;color:var(--muted)}.pages{max-width:800px;margin:auto}.page{margin:0;position:relative;background:#f2f2ee;overflow:hidden}.page img{width:100%;height:auto;display:block;position:relative;z-index:1}.page .status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:16px;text-align:center;color:var(--muted);font-size:13px;gap:10px}.page.failed .status{z-index:2;background:#f2f2ee}.page.loaded .status{display:none}.page.failed img{visibility:hidden}.retry{border:1px solid #8c9285;background:#fff;padding:9px 16px;cursor:pointer}.reader-end{text-align:center;padding-top:60px;padding-bottom:60px}.episode-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:30px 0}.disabled{display:flex;flex-direction:column;padding:15px;border:1px solid var(--line);color:var(--muted)}.disabled small{font-size:11px}.skip{position:absolute;top:-100px;left:10px;background:white;z-index:10;padding:10px}.skip:focus{top:10px}@media(max-width:640px){.header{align-items:flex-start;flex-direction:column;padding:20px 24px;gap:15px}nav{gap:12px 20px}nav a{font-size:12px}.hero{padding:62px 0 52px}.work-entry{grid-template-columns:1fr;padding:25px}.work-entry .action{justify-self:start}.about-grid{grid-template-columns:1fr;gap:15px}.section-head span{font-size:9px}.episode-nav{gap:10px}.episode-nav .button{padding:12px 8px}.reader-head{padding-top:25px}footer{flex-direction:column;gap:5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
