/* Self-hosted Noto Serif SC, regular; subset to this portfolio’s text. OFL in assets/fonts/. */
@font-face{font-family:"Dance Editorial";src:url("assets/fonts/dance-editorial-sc-400-v11.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
/* Shared typography, color, and touch targets across the portfolio. */
:root{--font-sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;--font-display:Georgia,"Times New Roman",serif;--font-editorial:"Dance Editorial",Georgia,"Songti SC","STSong","Noto Serif CJK SC","Source Han Serif SC",serif;--display-ink:#26313c;--bg:#fff;--surface:#fff;--ink:#242424;--muted:#656565;--line:#e5e3df;--accent:#8a4b38;--tint:#f6f5f2}
body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit}h1,h2,h3{font-family:var(--font-sans);font-weight:500;letter-spacing:0;line-height:1.4;text-wrap:pretty}p{overflow-wrap:break-word;text-wrap:pretty}img{display:block;max-width:100%;height:auto}.wrap{width:min(1200px,calc(100% - 80px));margin-inline:auto}.brand{font-size:29px;letter-spacing:-.055em;font-weight:650}.brand-dot{color:var(--accent)}
.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:11px 18px;font-size:14px;line-height:1.5;border-radius:6px}.button.primary{background:#292824;border-color:#292824;color:white}.text-link{min-height:44px;display:inline-flex;align-items:center;gap:12px;font-size:14px;line-height:1.6;color:var(--muted)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(hover:hover) and (pointer:fine){.button.primary:hover{background:#49463f}.text-link:hover{color:var(--accent)}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.brand{font-size:27px}input,select,textarea{font-size:16px}.button{min-height:46px;font-size:14px}.text-link{min-height:44px;font-size:14px}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.brand{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
