:root{--paper:#f4efe6;--paper-2:#ebe4d7;--ink:#1c1a17;--ink-2:#4a463f;--mute:#8a8276;--line:#1c1a1724;--shu:#b0402c;--font-latin:"EB Garamond", "Cormorant Garamond", Georgia;--font-ja:"Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;--font-tc:"LXGW WenKai TC", "PingFang TC", "Hiragino Mincho ProN", serif;--font-sc:"LXGW WenKai", "PingFang SC", "Hiragino Mincho ProN", serif;--font-body:var(--font-latin), var(--font-ja);--font-kanji:var(--font-ja);--max:1200px;--gutter:clamp(16px, 4vw, 48px);--nav-h:64px;--section:clamp(88px, 12vw, 168px);--ease:cubic-bezier(.22, 1, .36, 1)}html[lang=en],html[lang=ja]{--font-body:var(--font-latin), var(--font-ja)}html[lang=zh-Hant]{--font-body:var(--font-latin), var(--font-tc)}html[lang=zh-Hans]{--font-body:var(--font-latin), var(--font-sc)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:auto;-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:18px;line-height:1.7;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:50;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}a:hover{color:var(--shu)}p{margin:0 0 1em}ul{margin:0;padding:0;list-style:none}h1,h2,h3,h4{margin:0;font-weight:400}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}:focus-visible{outline:2px solid var(--shu);outline-offset:3px}.wrap{max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section)}.section+.section{padding-top:0}.eyebrow{font-family:var(--font-latin), var(--font-ja);letter-spacing:.24em;text-transform:uppercase;color:var(--mute);margin-bottom:20px;font-size:12px}html[lang=ja] .eyebrow,html[lang^=zh] .eyebrow{letter-spacing:.3em}.h2{letter-spacing:-.005em;max-width:18ch;margin-bottom:.5em;font-size:clamp(32px,4.4vw,60px);line-height:1.12}.h3{font-size:clamp(22px,2.2vw,28px);line-height:1.3}.lead{color:var(--ink-2);max-width:56ch;font-size:clamp(18px,1.5vw,21px)}.small{color:var(--mute);font-size:15px}.hair{border:0;border-top:1px solid var(--line);margin:0}.btn{letter-spacing:.04em;transition:background .35s var(--ease), color .35s var(--ease);border:1px solid;border-radius:999px;align-items:center;gap:10px;padding:14px 26px;font-size:16px;line-height:1;display:inline-flex}.btn:hover{background:var(--ink);color:var(--paper)}.btn--solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn--solid:hover{background:var(--shu);border-color:var(--shu);color:var(--paper)}.on-ink .btn:hover{background:var(--paper);color:var(--ink)}.link-arrow{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding-bottom:2px;display:inline-flex}.link-arrow:after{content:"→";transition:transform .35s var(--ease)}.link-arrow:hover:after{transform:translate(4px)}.on-ink{background:var(--ink);color:var(--paper)}.on-ink .eyebrow{color:#f4efe68c}.on-ink .lead{color:#f4efe6c7}.on-ink .hair{border-color:#f4efe629}html.js .reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:translateY(24px)}html.js .reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html.js .reveal{opacity:1;transition:none;transform:none}}.frame{background:var(--paper-2);position:relative;overflow:hidden}.frame img{object-fit:cover;width:100%;height:100%}.frame--photo img{transition:transform 1.6s var(--ease);transform:scale(1.04)}.frame--photo:hover img{transform:scale(1)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}@media (prefers-reduced-motion:reduce){html.lenis,html.lenis body{height:auto}.frame--photo img{transition:none;transform:none}}
