:root{--paper:#fcfbf8;--sheet:#fff;--sunken:#f4f2ec;--ink:#15171a;--ink-2:#52565e;--ink-3:#8c8f96;--rule:#e4e1d9;--rule-2:#cfcabe;--mark:#b4231a;--mark-bg:#fbefec;--seal:#14453b;--seal-bg:#eaf1ee;--accent:#1f5f52;--accent-soft:#e8f0ed;--accent-ink:#0e3a31;--measure:1080px;--measure-narrow:720px;--s1:6px;--s2:12px;--s3:20px;--s4:32px;--s5:52px;--s6:84px;--r1:0;--r2:0;--r3:0;--lift-1:0 1px 2px #15171a0d, 0 2px 8px #15171a0a;--lift-2:0 2px 6px #15171a0f, 0 12px 32px #15171a12;--ease:cubic-bezier(.2,.7,.3,1);--sans:"BIZ UDPGothic",system-ui,-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif;--display:"Hiragino Sans","BIZ UDPGothic","Noto Sans JP",system-ui,-apple-system,sans-serif;--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:64px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}img{max-width:100%;height:auto;display:block}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.9}.inner{max-width:var(--measure);margin:0 auto;padding-inline:24px}header.site{z-index:20;border-bottom:1px solid var(--rule);background:var(--sheet);background:color-mix(in srgb, var(--sheet) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);position:sticky;top:0}header.site:after{content:"";transform-origin:0;width:100%;height:2px;transform:scaleX(var(--read,0));background:var(--accent);transition:transform .1s linear;position:absolute;bottom:-1px;left:0}header.site .inner{flex-wrap:wrap;align-items:baseline;gap:16px;padding-block:14px;display:flex}header.site .mark{font-family:var(--display);color:var(--ink);letter-spacing:.02em;font-size:21px;font-weight:700;text-decoration:none}header.site .tagline{color:var(--ink-3);letter-spacing:.02em;margin:0;font-size:13px}main{display:block}.band{border-bottom:1px solid var(--rule)}.band.tint{background:var(--sunken)}.band.sheet{background:var(--sheet)}.band>.inner{padding-block:clamp(48px,7vw,80px)}footer.site{background:var(--sheet);border-top:1px solid var(--rule)}.foot-grid{gap:var(--s4);padding-block:var(--s5) var(--s4);grid-template-columns:1.6fr 1fr 1.2fr;display:grid}@media (width<=760px){.foot-grid{gap:var(--s4);grid-template-columns:1fr}}.foot-brand .mark{font-size:19px}.foot-brand p{margin:6px 0 var(--s3);color:var(--ink-3);font-size:13px}.foot-cta{border:1px solid var(--accent);color:var(--accent-ink);transition:background .18s var(--ease),color .18s var(--ease);border-radius:999px;align-items:center;gap:7px;padding:9px 16px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.foot-cta:after{content:"↑"}.foot-cta:hover{background:var(--accent);color:#fff}.foot-nav{flex-direction:column;align-items:flex-start;gap:9px;display:flex}.foot-nav-title{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 2px;font-size:10.5px;font-weight:500}.foot-note p{color:var(--ink-3);margin:0 0 7px;font-size:12.5px;line-height:1.8}footer.site a:not(.foot-cta){color:var(--ink-2);border-bottom:1px solid #0000;font-size:13px;text-decoration:none}footer.site a:not(.foot-cta):hover{color:var(--ink);border-bottom-color:var(--rule-2)}.foot-copy{border-top:1px solid var(--rule);font-family:var(--mono);color:var(--ink-3);margin:0;font-size:11px}.foot-copy .inner{padding-block:16px;display:block}@media (prefers-reduced-motion:reduce){.foot-cta{transition:none}}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;font-weight:700}h1{margin:0;font-size:clamp(30px,5.4vw,52px);line-height:1.25}h2{margin:0;font-size:clamp(22px,3.2vw,31px);line-height:1.35}h3{margin:0;font-size:clamp(16px,1.9vw,19px);line-height:1.5}.eyebrow-label{margin:0 0 var(--s2);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:10px;font-size:11px;font-weight:500;display:flex}.eyebrow-label:before{content:attr(data-n);border:1px solid var(--rule-2);letter-spacing:0;width:22px;height:22px;color:var(--ink-2);border-radius:50%;flex:none;place-items:center;font-size:10px;display:grid}.eyebrow-label:after{content:"";background:var(--rule);flex:1;height:1px}:focus-visible{outline:2px solid var(--seal);outline-offset:3px}::selection{background:var(--seal-bg)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
