/* 变量 · reset · 公共类（全站/首页共用）
   给「首页」用的样式。改这一块只动这个文件。 */

/* Web 字体已自托管（fonts.css + fonts/ 目录），与站点同域，不依赖任何外部请求 */

:root{--ink:#12110f;--paper:#e9e5dc;--bone:#f4f0e8;--clay:#be3f2d;--silver:#b8b9b5;--line:rgba(18,17,15,.22);--pad:clamp(22px,4vw,68px);--header:86px;--ease:cubic-bezier(.2,.75,.2,1);--brand-size:clamp(77px,8vw,144px);--display:"Arial Narrow","Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif;--body:"Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif;--mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Consolas,monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-weight:400;overflow-x:hidden}
body.is-loading{height:100vh;overflow:hidden}
html.skip-entrance .loader{display:none!important}
html.skip-entrance body.is-loading{height:auto;overflow-x:hidden;overflow-y:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
img{display:block;width:100%;height:100%;object-fit:cover}
::selection{background:var(--clay);color:var(--bone)}
.section-pad{padding-left:var(--pad);padding-right:var(--pad)}
#recentProjects,#about,#cases,#styleChoice,#serviceFlow,#contact{scroll-margin-top:calc(var(--header) + 12px)}
.grain{position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}

/* 公共片段（原 styles.css 的 shared 段） */
/* shared */
.section-kicker{display:flex;justify-content:space-between;align-items:baseline;gap:24px;border-top:1px solid var(--line);padding-top:13px;font:500 10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.section-kicker>span:first-child{font:700 20px/1 var(--display);letter-spacing:-.02em;text-transform:none}.section-kicker.light{border-color:rgba(244,240,232,.3)}
.display-title{font:800 clamp(52px,7.4vw,132px)/.88 var(--display);letter-spacing:-.07em;margin:0}
.reveal-image{overflow:hidden}.reveal-image img{transform:scale(1.15);clip-path:inset(100% 0 0);transition:transform 1.4s var(--ease),clip-path 1.2s var(--ease)}.reveal-image.is-in img{transform:scale(1);clip-path:inset(0)}
