:root{--bg: #f4f7f8;--surface: #e7eef1;--ink: #0b1216;--muted: #3a4a53;--accent: #0b6f60;--accent-ink: #ffffff;--field-pale: #dfeaf0;--mark: #d7eade;--font-display: "Schibsted Grotesk", "Noto Sans SC", "Noto Sans JP", "Noto Sans KR", "PingFang SC", "Hiragino Sans", "Yu Gothic", "Apple SD Gothic Neo", "Malgun Gothic", ui-sans-serif, system-ui, sans-serif;--font-text: var(--font-display);--step-small: clamp(1rem, .97rem + .1vw, 1.0625rem);--step-body: clamp(1.0625rem, 1rem + .25vw, 1.1875rem);--step-lead: clamp(1.1875rem, 1.12rem + .3vw, 1.375rem);--step-head: clamp(1.375rem, 1.2rem + .75vw, 1.75rem);--step-display: clamp(2.5rem, 5.7vw, 5rem);--column: 42rem;--edge: clamp(1.25rem, 4vw, 2rem);--section: clamp(4.5rem, 7vw, 7rem);--radius: 0px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-soft: cubic-bezier(.33, 1, .68, 1);--t-press: .14s;--t-hover: .18s;--t-ui: .24s}html:lang(zh-CN),html:lang(ja),html:lang(ko){--step-display: clamp(2.25rem, 5.4vw, 4.75rem);--step-head: clamp(1.375rem, 1.2rem + .7vw, 1.875rem);--step-body: clamp(1.0625rem, 1.02rem + .2vw, 1.1875rem)}html:lang(zh-CN) body,html:lang(ja) body,html:lang(ko) body{line-height:1.75}html:lang(zh-CN) .intro__title,html:lang(ja) .intro__title,html:lang(ko) .intro__title{line-height:1.06}html:lang(zh-CN) .intro__title,html:lang(ja) .intro__title,html:lang(ko) .intro__title,html:lang(zh-CN) h1,html:lang(ja) h1,html:lang(ko) h1,html:lang(zh-CN) h2,html:lang(ja) h2,html:lang(ko) h2,html:lang(zh-CN) .section__title,html:lang(ja) .section__title,html:lang(ko) .section__title,html:lang(zh-CN) .rail__name,html:lang(ja) .rail__name,html:lang(ko) .rail__name{letter-spacing:0}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-text);font-size:var(--step-body);line-height:1.55;font-kerning:normal;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,p,figure,blockquote,ul,ol,dl,dd{margin:0}ul[class],ol[class]{padding:0;list-style:none}img{display:block;max-width:100%;height:auto;background:var(--surface)}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}a{color:inherit;-webkit-tap-highlight-color:transparent}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1,h2,h3{font-family:var(--font-display);font-weight:600;text-wrap:balance;hyphens:none;letter-spacing:-.02em}p{text-wrap:pretty}.nums{font-variant-numeric:tabular-nums}.page{width:100%;overflow-x:clip}.shell{max-width:70rem;margin-inline:auto;padding-inline:var(--edge);display:grid;grid-template-columns:17.5rem minmax(0,1fr);gap:clamp(2rem,4.5vw,5rem);align-items:start}.content{min-width:0;padding-block:clamp(1.5rem,3vw,2.5rem) 0}.rail{position:sticky;top:2.5rem;display:grid;align-content:start;gap:.85rem;padding-block:clamp(1.5rem,3vw,2.5rem)}.rail__portrait{width:6.5rem;height:6.5rem;border-radius:50%;object-fit:cover}.rail__name{font-family:var(--font-display);font-size:var(--step-lead);font-weight:600;letter-spacing:-.025em}.rail__role{margin-top:-.6rem;font-size:var(--step-small);color:var(--muted)}.rail__role a{display:inline-flex;align-items:center;min-height:1.75rem;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.25em;text-decoration-thickness:.06em;transition:color var(--t-hover) ease,text-decoration-color var(--t-hover) ease}.rail__role a:hover{color:var(--accent);text-decoration-color:currentColor}.rail__role-arrow{color:var(--muted)}.rail__line{max-width:20rem;font-size:var(--step-small);color:var(--muted)}.rail__nav{display:grid;gap:.1rem;margin-top:.5rem}.rail__nav a{display:inline-flex;align-items:center;min-height:2.75rem;font-size:var(--step-small);text-decoration:none;transition:color var(--t-hover) ease}.rail__nav a:hover{color:var(--accent)}.rail__links{display:flex;flex-wrap:wrap;gap:.15rem .9rem;margin-top:.4rem}.rail__links a{display:inline-flex;align-items:center;min-height:2.5rem;font-size:var(--step-small);color:var(--muted);text-decoration:none;transition:color var(--t-hover) ease}.rail__links a:hover{color:var(--ink)}.rail__lang{display:flex;flex-wrap:wrap;gap:.35rem .7rem;margin-top:.35rem;padding-top:.7rem}.rail__lang a{display:inline-flex;align-items:center;min-height:2.75rem;padding-inline:.15rem;font-size:var(--step-small);color:var(--muted);text-decoration:none;transition:color var(--t-hover) ease}.rail__lang a:hover{color:var(--ink)}.rail__lang a[aria-current=true]{color:var(--ink);font-weight:600}.section{padding-block:calc(var(--section) / 2)}section[id],[id=top]{scroll-margin-top:1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;left:0;top:0;z-index:30;padding:.7rem 1rem;background:var(--ink);color:var(--bg);font-size:var(--step-small);font-weight:500;text-decoration:none;transform:translateY(-180%);transition:transform var(--t-ui) var(--ease-out)}.skip-link:focus-visible{transform:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:0 1.15rem;background:var(--accent);color:var(--accent-ink);border-radius:var(--radius);font-size:var(--step-small);font-weight:500;text-decoration:none;white-space:nowrap;transition:background-color var(--t-hover) ease,transform var(--t-press) var(--ease-out)}.button:hover{background:var(--ink)}.button:active{transform:scale(.975)}.text-link{display:inline-flex;align-items:center;gap:.4em;min-height:2.75rem;font-size:var(--step-small);font-weight:500;text-decoration:none}.text-link>span:first-child{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.3em;text-decoration-thickness:.06em;transition:text-decoration-color var(--t-hover) ease}.text-link:hover>span:first-child{text-decoration-color:currentColor}.text-link .arrow{transition:transform var(--t-ui) var(--ease-out)}.text-link--quiet{color:var(--muted);font-weight:400}.text-link:hover .arrow{transform:translate(.16em,-.16em)}.masthead{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-top:clamp(1.25rem,2.5vw,2rem)}.masthead__name{font-family:var(--font-display);font-weight:600;font-size:var(--step-lead);letter-spacing:-.03em;text-decoration:none}.masthead__name:hover{color:var(--accent)}.masthead__nav{display:flex;gap:clamp(.9rem,2vw,1.5rem)}.masthead__nav a{font-size:var(--step-small);color:var(--muted);text-decoration:none;padding-block:.35rem;transition:color var(--t-hover) ease}.masthead__nav a:hover{color:var(--ink)}.intro{padding-top:clamp(2rem,7svh,5rem);padding-bottom:clamp(1.5rem,3vw,2.5rem)}.intro__title{font-size:var(--step-display);line-height:1;letter-spacing:-.035em;font-weight:600}.intro__title .line{display:block}.intro__lead{margin-top:clamp(1rem,2vw,1.5rem);max-width:34rem;font-size:var(--step-lead);line-height:1.45}.intro__copy a,.intro__lead a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:.08em;text-underline-offset:.16em;transition:color var(--t-hover) ease}.intro__lead a:hover{color:var(--accent)}.intro__copy{margin-top:.85rem;max-width:34rem}.intro__copy p+p{margin-top:.8em}.intro__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:clamp(1.5rem,3vw,2rem)}.intro__meta{margin-top:clamp(2rem,4vw,3rem);font-size:var(--step-small);color:var(--muted)}.section__title{font-size:var(--step-head);line-height:1.15}.section__note{margin-top:.6rem;font-size:var(--step-small);color:var(--muted);max-width:32rem}.letter{display:grid;gap:clamp(1.5rem,3vw,2rem)}.letter__body{display:grid;gap:1.15rem;max-width:38rem}.letter__body a{color:var(--accent);text-decoration-thickness:.06em;text-underline-offset:.2em}.letter mark{background:var(--mark);color:inherit}.letter__sign{display:grid;gap:.15rem;margin-top:.5rem}.letter__sign-name{font-family:var(--font-display);font-size:var(--step-lead);font-weight:600}.letter__sign-role{font-size:var(--step-small);color:var(--muted)}.rows{margin-top:clamp(1.5rem,3vw,2.25rem)}.product{display:grid;grid-template-columns:12rem minmax(0,1fr) auto;align-items:center;gap:clamp(.9rem,2vw,1.25rem);padding-block:.7rem;text-decoration:none}.product__shot{width:12rem;height:9rem;overflow:hidden}.product__shot img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-out)}.product:hover .product__shot img{transform:scale(1.06)}.product__name{font-weight:500;transition:color var(--t-hover) ease}.product:hover .product__name{color:var(--accent)}.product__kind{display:block;font-size:var(--step-small);color:var(--muted)}.product__note{display:block;margin-top:.25rem;max-width:30rem;font-size:var(--step-small);color:var(--muted)}.product--text{grid-template-columns:minmax(0,1fr);padding-block:1.1rem}.row-link{display:grid;grid-template-columns:minmax(0,1fr) 8.5rem;align-items:baseline;gap:1rem;padding-block:.72rem;text-decoration:none}.row-link--post{padding-block:.9rem}.row-link__excerpt{display:block;margin-top:.2rem;max-width:34rem;font-size:var(--step-small);color:var(--muted)}.row-link__label{transition:color var(--t-hover) ease}.row-link:hover .row-link__label{color:var(--accent)}@media (hover: none){.product:active,.row-link:active{background:#0b12160b}.product:active .product__name,.row-link:active .row-link__label,.rail__nav a:active,.rail__lang a:active,.footer__links a:active{color:var(--accent)}.button:active{background:var(--ink);transform:scale(.985)}}.row-link__value{font-size:var(--step-small);color:var(--muted);text-align:right}.list-foot{margin-top:clamp(1.25rem,2.5vw,1.75rem)}.plate{padding-block:calc(var(--section) / 2)}.plate img{width:100%;aspect-ratio:1;object-fit:cover}.plate figcaption{margin-top:.65rem;font-size:var(--step-small);color:var(--muted)}.plate__credit{display:block;margin-top:.2rem}.section--panel{margin-inline:clamp(-1.25rem,-2.5vw,-.75rem);padding-inline:clamp(.75rem,2.5vw,1.25rem);padding-block:clamp(2.5rem,5vw,4rem);background:var(--surface)}.colophon{padding-block:clamp(2.25rem,4vw,3.25rem) 0;display:grid;gap:.9rem;max-width:36rem}.colophon p{font-size:var(--step-small);color:var(--muted)}.colophon p:first-child{color:var(--ink);font-size:var(--step-body)}.endcap{margin-top:calc(var(--section) / 2);background:var(--surface);padding-inline:clamp(1rem,2.5vw,1.75rem)}.footer{padding-top:clamp(2rem,4vw,3rem);padding-bottom:clamp(2rem,4vw,3rem)}.footer__contact{display:none}.footer__line{display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;gap:1rem;font-size:var(--step-small);color:var(--muted)}.footer__desc{justify-self:start}.footer__links{display:flex;gap:1.25rem}.footer__links a{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--ink);text-decoration:none}.footer__links a:hover{color:var(--accent)}.footer__year{justify-self:end}.lines .line{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}.lines .line>span{display:block}@media (prefers-reduced-motion: no-preference){.js .lines .line>span{transform:translateY(104%);animation:line-rise .76s var(--ease-out) forwards;animation-delay:calc(var(--i, 0) * 90ms + 90ms)}.js [data-rise]{opacity:0;animation:rise-in .62s var(--ease-out) forwards;animation-delay:calc(var(--i, 0) * 80ms + .22s)}.js [data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .52s var(--ease-out),transform .62s var(--ease-out);transition-delay:calc(var(--i, 0) * 55ms)}.js [data-reveal].is-in{opacity:1;transform:none}.js .drift img{animation:drift 26s var(--ease-soft) infinite alternate}}@keyframes line-rise{to{transform:none}}@keyframes rise-in{to{opacity:1}}@keyframes drift{0%{transform:scale(1.01)}to{transform:scale(1.05)}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media (max-width: 62rem){.shell{grid-template-columns:minmax(0,1fr);gap:clamp(1.5rem,3vw,2rem)}.content{padding-block:0}.rail{position:static;grid-template-columns:4.5rem minmax(0,1fr);grid-template-areas:"portrait name" "portrait role" "line line" "nav nav" "lang lang";align-items:center;column-gap:1rem;row-gap:.7rem;padding-block:clamp(1.25rem,3vw,2rem) 0;border:0}.rail__portrait{grid-area:portrait;width:4.5rem;height:4.5rem}.rail__name{grid-area:name;align-self:end}.rail__role{grid-area:role;align-self:start;margin-top:0}.rail__line{grid-area:line}.rail__nav{grid-area:nav;display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:0}.rail__links{grid-area:links;margin-top:0}.rail__lang{grid-area:lang;margin-top:0;padding-top:0}}@media (max-width: 34rem){:root{--step-body: clamp(1.0625rem, 1rem + .7vw, 1.1875rem);--step-small: clamp(1rem, .95rem + .4vw, 1.0625rem);--section: clamp(3.5rem, 7vw, 5rem)}.shell{padding-inline:max(var(--edge),env(safe-area-inset-left,0px)) max(var(--edge),env(safe-area-inset-right,0px))}.js .drift img{animation:none}.rail{grid-template-columns:3rem minmax(0,1fr);grid-template-areas:"portrait name" "portrait role" "nav nav" "lang lang";column-gap:.9rem;row-gap:.3rem;padding-block:1rem 0}.rail__portrait{width:3rem;height:3rem}.rail__line{display:none}.rail__nav{gap:.15rem 1.15rem}.rail__links{gap:.15rem 1rem}.rail__nav a,.rail__lang a{min-width:2.75rem;min-height:2.75rem;justify-content:center}.rail__role a{min-height:2.25rem}.rail__links{display:none}.footer__contact{display:flex;flex-wrap:wrap;gap:0 1rem;margin-bottom:.75rem}.footer__contact a{display:inline-flex;align-items:center;min-height:2.75rem;font-size:var(--step-small);color:var(--ink);text-decoration:none}.footer__contact a:active{color:var(--accent)}.rail__lang{padding-top:0;gap:.15rem .55rem}.intro{padding-top:.75rem}.intro__actions{gap:.75rem 1rem}.intro__actions .button{flex:1 1 auto;justify-content:center}.product{grid-template-columns:7rem minmax(0,1fr)}.product__shot{width:7rem;height:5.25rem}.product--text{grid-template-columns:minmax(0,1fr)}.row-link{grid-template-columns:minmax(0,1fr) auto}.footer__contact{display:none}.footer__line{grid-template-columns:minmax(0,1fr);gap:.75rem}.footer__year{justify-self:start}}@media (max-width: 22rem){.rail{grid-template-columns:3rem minmax(0,1fr)}.rail__portrait{width:3rem;height:3rem}.product:not(.product--text){grid-template-columns:5rem minmax(0,1fr);gap:.85rem}.product--text{grid-template-columns:minmax(0,1fr)}.product__shot{width:5rem;height:3.75rem}.intro__title{font-size:clamp(1.75rem,10.5vw,2.25rem)}}
