@font-face{font-family:Fraunces;src:url(/fonts/fraunces-normal.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Fraunces;src:url(/fonts/fraunces-italic.woff2)format("woff2");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:Inter Tight;src:url(/fonts/inter-tight-normal.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Inter Tight;src:url(/fonts/inter-tight-italic.woff2)format("woff2");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-normal.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Natsu Kanji;src:url(/fonts/natsu-kanji.woff2)format("woff2");font-weight:800;font-style:normal;font-display:swap}:root{--bone:#f4efe6;--bone-deep:#ebe4d6;--bone-edge:#e3dbc9;--sumi:#16140f;--sumi-90:#16140fe6;--sumi-72:#16140fb8;--sumi-58:#16140fa3;--sumi-40:#16140f66;--sumi-26:#16140f3d;--sumi-15:#16140f26;--sumi-09:#16140f17;--verm:#b43a2a;--font-display:"Fraunces", "Times New Roman", serif;--font-body:"Inter Tight", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;--font-kanji:"Natsu Kanji", "Fraunces", serif;--fs-display:clamp(2.7rem, 1.5rem + 5.1vw, 5.9rem);--fs-h2:clamp(1.95rem, 1.3rem + 2.7vw, 3.5rem);--fs-h3:clamp(1.3rem, 1.08rem + .95vw, 1.85rem);--fs-lead:clamp(1.14rem, 1.02rem + .5vw, 1.45rem);--fs-body:clamp(1rem, .965rem + .16vw, 1.135rem);--fs-small:.935rem;--fs-mono:.706rem;--fs-mono-sm:.66rem;--maxw:1240px;--gutter:clamp(1.3rem, 5vw, 5rem);--measure:65ch;--sect-y:clamp(4rem, 9vh, 8.5rem);--ease:cubic-bezier(.22, .61, .28, 1)}*,:before,:after{box-sizing:border-box}*{margin:0}html{text-size-adjust:100%;scroll-behavior:smooth;font-optical-sizing:auto;scroll-padding-top:84px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bone);color:var(--sumi);font-family:var(--font-body);font-size:var(--fs-body);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"kern" 1, "liga" 1, "calt" 1;font-weight:400;line-height:1.6;overflow-x:hidden}img,svg{max-width:100%;display:block}svg{height:auto}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}::selection{background:var(--sumi);color:var(--bone)}.skip{z-index:100;background:var(--sumi);color:var(--bone);font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.16em;text-transform:uppercase;padding:.6rem 1rem;position:absolute;top:0;left:-999px}.skip:focus{top:.5rem;left:.5rem}:focus-visible{outline:2px solid var(--verm);outline-offset:3px}.wrap{width:100%;max-width:var(--maxw);padding-inline:var(--gutter);margin-inline:auto}.measure{max-width:var(--measure)}.section{padding-block:var(--sect-y)}.rule{background:var(--sumi-15);border:0;height:1px}.rule-ink{background:var(--sumi);border:0;height:1px}.display{font-family:var(--font-display);font-weight:400;font-size:var(--fs-display);letter-spacing:-.032em;text-wrap:balance;line-height:.99}h1,h2,h3{font-family:var(--font-display);font-weight:440}.h2{font-family:var(--font-display);font-weight:420;font-size:var(--fs-h2);letter-spacing:-.028em;text-wrap:balance;line-height:1.04}.h3{font-family:var(--font-display);font-weight:460;font-size:var(--fs-h3);letter-spacing:-.02em;line-height:1.1}.lead{font-size:var(--fs-lead);letter-spacing:-.008em;color:var(--sumi-90);font-weight:400;line-height:1.44}.body{font-size:var(--fs-body);color:var(--sumi-90);line-height:1.62}.body+.body{margin-top:1.15em}em,.i{font-style:italic}strong{font-weight:600}.scalpel{font-style:italic}.seal{color:var(--verm)}.mono{font-family:var(--font-mono);font-weight:500;font-size:var(--fs-mono);letter-spacing:.2em;text-transform:uppercase;font-feature-settings:"tnum" 1, "lnum" 1;color:var(--sumi-58)}.mono--sm{font-size:var(--fs-mono-sm);letter-spacing:.22em}.mono .idx,.idx{color:var(--verm)}.tnum{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1, "lnum" 1}.caption{font-size:var(--fs-small);color:var(--sumi-58);letter-spacing:-.003em;line-height:1.5}.wordmark{font-family:var(--font-display);letter-spacing:-.038em;color:var(--sumi);font-optical-sizing:auto;white-space:nowrap;font-weight:700;line-height:1}.wordmark .seal{color:var(--verm)}.monogram{white-space:nowrap;align-items:center;gap:.44em;line-height:1;display:inline-flex}.monogram .nl{font-family:var(--font-display);letter-spacing:-.02em;color:currentColor;font-weight:700}.monogram .bar{opacity:.85;background:currentColor;align-self:stretch;width:1px;min-height:1.05em}.monogram .kanji{font-family:var(--font-kanji);color:var(--verm);font-weight:800;transform:translateY(.02em)}.nav{z-index:50;background:color-mix(in srgb, var(--bone) 88%, transparent);-webkit-backdrop-filter:saturate(1.05)blur(9px);border-bottom:1px solid var(--sumi-15);position:sticky;top:0}.nav__in{justify-content:space-between;align-items:center;gap:1rem;min-height:62px;display:flex}.nav__brand{align-items:baseline;font-size:1.32rem;display:inline-flex}.nav__links{align-items:center;gap:clamp(1rem,3vw,2.1rem);display:flex}.nav__link{font-family:var(--font-mono);font-weight:500;font-size:var(--fs-mono);letter-spacing:.17em;text-transform:uppercase;color:var(--sumi-72);transition:color .35s var(--ease);padding-block:.4rem;text-decoration:none;position:relative}.nav__link:after{content:"";background:var(--sumi);transform-origin:0;height:1px;transition:transform .4s var(--ease);position:absolute;bottom:.1rem;left:0;right:0;transform:scaleX(0)}.nav__link:hover{color:var(--sumi)}.nav__link:hover:after,.nav__link[aria-current=page]:after{transform:scaleX(1)}.nav__link[aria-current=page]{color:var(--sumi)}.runhead{align-items:center;gap:.85rem;margin-bottom:clamp(1.5rem,3vw,2.4rem);display:flex}.runhead__mark{color:var(--sumi-58);flex:none}.runhead__mark .sect{color:var(--verm)}.runhead__line{background:var(--sumi-15);flex:auto;height:1px}.cta{--pad-y:.92rem;--pad-x:1.5rem;background:var(--sumi);color:var(--bone);font-family:var(--font-body);letter-spacing:.005em;padding:var(--pad-y) var(--pad-x);border:1px solid var(--sumi);transition:background .4s var(--ease), color .4s var(--ease), transform .4s var(--ease);align-items:center;gap:.7em;font-size:.96rem;font-weight:500;text-decoration:none;display:inline-flex}.cta .arw{transition:transform .4s var(--ease)}.cta:hover{color:var(--sumi);background:0 0}.cta:hover .arw{transform:translate(4px)}.link-arw{color:var(--sumi);border-bottom:1px solid var(--sumi-26);transition:border-color .35s var(--ease);align-items:center;gap:.55em;padding-bottom:2px;font-weight:500;text-decoration:none;display:inline-flex}.link-arw .arw{transition:transform .35s var(--ease)}.link-arw:hover{border-color:var(--sumi)}.link-arw:hover .arw{transform:translate(4px)}.foot{border-top:1px solid var(--sumi);padding-block:clamp(2.6rem,5vw,4rem) clamp(1.8rem,4vw,2.6rem)}.foot__top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1.2rem 2.5rem;display:flex}.foot__sig{flex-wrap:wrap;align-items:baseline;gap:.85rem;display:flex}.foot__mg{font-size:1.3rem}.foot__line{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--sumi-72)}.foot__urls{margin-top:.85rem}.foot__line a{color:inherit;border-bottom:1px solid #0000;text-decoration:none;transition:border-color .3s}.foot__line a:hover{border-color:var(--sumi-40)}.foot__line .em{color:var(--verm)}.foot__nav{gap:1.4rem;display:flex}.foot__tag{max-width:46ch}.eyebrow{overflow-wrap:break-word;max-width:100%;margin-bottom:clamp(1.1rem,2.4vw,1.7rem);line-height:1.7;display:block}.eyebrow .idx{color:var(--verm)}.pull{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;max-width:22ch;font-size:clamp(1.35rem,1.05rem + 1.35vw,2.05rem);font-weight:400;line-height:1.22}.lede-block{max-width:34ch}.hero{padding-top:clamp(2.6rem,6vh,5rem);padding-bottom:clamp(2.6rem,6vh,4.5rem)}.hero__grid{grid-template-columns:1fr;align-items:center;gap:clamp(2rem,5vw,3.5rem);display:grid}.hero__head{margin-bottom:clamp(1.3rem,2.6vw,1.9rem)}.hero__lead{color:var(--sumi-90)}.hero__actions{flex-wrap:wrap;align-items:center;gap:1.1rem 1.6rem;margin-top:clamp(1.7rem,3.5vw,2.4rem);display:flex}.hero__support{max-width:46ch;margin-top:1.15rem}.hero__mark{justify-self:center;width:100%;max-width:380px}@media (width>=900px){.hero__grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(2.5rem,4vw,4.5rem)}.hero__mark{max-width:none}}.ladder{border-top:1px solid var(--sumi)}.step{border-bottom:1px solid var(--sumi-15);grid-template-columns:auto 1fr;gap:.4rem 1.1rem;padding-block:clamp(1.6rem,3vw,2.3rem);display:grid}.step__idx{font-family:var(--font-mono);letter-spacing:.14em;color:var(--verm);font-feature-settings:"tnum" 1, "lnum" 1;padding-top:.35rem;font-size:.82rem;font-weight:500}.step__title{grid-column:2}.step__body{max-width:60ch;color:var(--sumi-90);grid-column:2;margin-top:.55rem}@media (width>=820px){.step{grid-template-columns:3.5rem 15rem 1fr;align-items:start;gap:0 1.6rem}.step__title{grid-column:2}.step__body{grid-column:3;margin-top:0}}.step__title .seal{color:var(--verm)}.loop{background:var(--sumi-15);border:1px solid var(--sumi-15);grid-template-columns:1fr;gap:1px;display:grid}@media (width>=720px){.loop{grid-template-columns:1fr 1fr}}.move{background:var(--bone);flex-direction:column;gap:.5rem;padding:clamp(1.4rem,3vw,2.1rem);display:flex}.move__top{align-items:baseline;gap:.8rem;display:flex}.move__idx{font-family:var(--font-mono);letter-spacing:.12em;color:var(--verm);font-feature-settings:"tnum" 1;font-size:.8rem;font-weight:500}.move__name{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(1.2rem,1rem + .7vw,1.5rem);font-weight:500}.move__body{color:var(--sumi-90);font-size:var(--fs-body)}.decls{gap:0;display:grid}.decl{border-top:1px solid var(--sumi-15);grid-template-columns:auto 1fr;align-items:start;gap:.4rem 1.4rem;padding-block:clamp(1.5rem,3vw,2.3rem);display:grid}.decl:first-child{border-top:1px solid var(--sumi)}.decl__idx{font-family:var(--font-mono);letter-spacing:.14em;color:var(--verm);font-feature-settings:"tnum" 1;padding-top:.4rem;font-size:.78rem;font-weight:500}.decl__text{font-family:var(--font-display);letter-spacing:-.02em;max-width:30ch;font-size:clamp(1.3rem,1.05rem + 1vw,1.9rem);font-weight:400;line-height:1.24}@media (width>=820px){.decl{grid-template-columns:3.5rem 1fr}.decl__text{max-width:34ch}}.proof__grid{grid-template-columns:1fr;gap:1.1rem;margin-top:clamp(1.6rem,3vw,2.4rem);display:grid}@media (width>=720px){.proof__grid{grid-template-columns:repeat(3,1fr)}}.pcard{border:1px solid var(--sumi-26);background:var(--bone);flex-direction:column;min-height:200px;display:flex}.pcard__strip{border-bottom:1px solid var(--sumi-15);justify-content:space-between;align-items:center;gap:.6rem;padding:.6rem .85rem;display:flex}.pcard__tag{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--verm);padding:.15rem 0;font-size:.6rem;font-weight:500}.pcard__body{color:var(--sumi-58);flex:1;padding:1rem .9rem 1.1rem;font-size:.97rem;line-height:1.55}.pcard__body .ph{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--sumi-40);border-bottom:1px solid var(--sumi-15);padding-bottom:1px;font-size:.74em}.pcard__foot{border-top:1px dashed var(--sumi-26);padding:.65rem .9rem}.closing{text-align:center}.closing__in{flex-direction:column;align-items:center;gap:clamp(1.6rem,3vw,2.3rem);padding-block:clamp(3.4rem,8vh,6.5rem);display:flex}.closing__head{max-width:20ch}.seats{border:1px solid var(--sumi-26);background:color-mix(in srgb, var(--bone-deep) 45%, var(--bone));gap:.55rem;margin-top:1.15rem;padding:1rem 1.15rem;display:inline-grid}.seats__lbl{color:var(--sumi-58)}.seats__ticks{align-items:flex-end;gap:4px;height:20px;display:inline-flex}.seats__tick{background:var(--sumi);width:3px}.seats__tick.is-open{height:20px}.seats__tick.is-taken{background:var(--sumi-26);height:10px}.seats__read{color:var(--sumi-90);font-size:.96rem;line-height:1.3;display:block}.seats__n{font-family:var(--font-display);color:var(--verm);letter-spacing:-.02em;margin-right:.06em;font-size:1.5rem;font-weight:500}.contact__grid{grid-template-columns:1fr;gap:clamp(2rem,5vw,3.5rem);display:grid}@media (width>=860px){.contact__grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr)}}.form{gap:1.5rem;max-width:40rem;display:grid}.field{gap:.5rem;display:grid}.field__label{font-family:var(--font-mono);font-weight:500;font-size:var(--fs-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--sumi-58)}.field__hint{color:var(--sumi-58);font-size:.9rem;font-style:italic}.field input,.field textarea{font-family:var(--font-body);color:var(--sumi);border:0;border-bottom:1px solid var(--sumi-40);letter-spacing:-.005em;width:100%;transition:border-color .35s var(--ease);background:0 0;padding:.55rem .1rem;font-size:1.02rem}.field textarea{resize:vertical;min-height:6.5rem;line-height:1.55}.field input:focus,.field textarea:focus{border-color:var(--verm);outline:none}.field input::placeholder,.field textarea::placeholder{color:var(--sumi-40)}.form__row{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=560px){.form__row{grid-template-columns:1fr 1fr}}.form__actions{flex-wrap:wrap;align-items:center;gap:1.4rem;margin-top:.4rem;display:flex}.form__note{color:var(--sumi-58);font-size:.9rem}.form__confirm{border:1px solid var(--sumi);background:color-mix(in srgb, var(--bone-deep) 50%, var(--bone));padding:1rem 1.15rem;font-size:.97rem;display:none}.form__confirm.is-on{display:block}.contact__aside{align-content:start;gap:1.4rem;display:grid}.aside__block{gap:.3rem;display:grid}.aside__k{font-family:var(--font-mono);font-weight:500;font-size:var(--fs-mono-sm);letter-spacing:.18em;text-transform:uppercase;color:var(--sumi-58)}.aside__v{color:var(--sumi-90);font-size:.98rem;line-height:1.5}.aside__v a{color:inherit;border-bottom:1px solid var(--sumi-26);text-decoration:none}.err{flex-direction:column;justify-content:center;gap:1.6rem;min-height:62vh;display:flex}.tri{border-top:1px solid var(--sumi);max-width:62ch;margin-top:clamp(1.4rem,3vw,2rem);display:block}.tri__row{border-bottom:1px solid var(--sumi-15);color:var(--sumi-90);font-size:var(--fs-body);padding-block:clamp(1.1rem,2.4vw,1.55rem);line-height:1.55}.tri__k{font-family:var(--font-display);letter-spacing:-.01em;color:var(--sumi);margin-right:.5em;font-size:1.08em;font-weight:520}.stack>*+*{margin-top:1.15em}.mt-s{margin-top:1rem}.mt-m{margin-top:clamp(1.4rem,3vw,2.2rem)}.mt-l{margin-top:clamp(2.2rem,5vw,3.6rem)}.elev{color:var(--sumi);margin:0}.elev--plate{border:1px solid var(--sumi-26);background:var(--bone)}.elev__strip{border-bottom:1px solid var(--sumi-15);background:color-mix(in srgb, var(--bone-deep) 60%, var(--bone));justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1rem;display:flex}.elev__strip .mono{color:var(--sumi-58)}.elev__mark{justify-content:center;align-items:center;padding:clamp(1.2rem,3vw,2.4rem);display:flex}.elev__mark svg{width:auto;height:100%;max-height:min(62vh,560px)}.elev--tall .elev__mark svg{max-height:min(72vh,640px)}.elev__cap{border-top:1px solid var(--sumi-15);padding:.85rem 1rem 1rem}.elev--bare .elev__mark{padding:0}.seal-dot{transform-box:fill-box;transform-origin:50%}html[data-anim] .elev.reveal .seal-dot{opacity:0;transform:scale(.4)}html[data-anim] .elev.reveal.is-in .seal-dot{opacity:1;transition:opacity .5s ease .55s, transform .6s var(--ease) .55s;transform:none}html[data-anim] .reveal{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transform:translateY(14px)}html[data-anim] .reveal.is-in{opacity:1;transform:none}html[data-anim] .reveal[data-d="1"]{transition-delay:80ms}html[data-anim] .reveal[data-d="2"]{transition-delay:.16s}html[data-anim] .reveal[data-d="3"]{transition-delay:.24s}html[data-anim] .reveal[data-d="4"]{transition-delay:.32s}html[data-anim] .seal-press{opacity:0;transform-origin:50% 65%;display:inline-block;transform:scale(.5)}html[data-anim] .is-in .seal-press,html[data-anim] .seal-press.is-in{opacity:1;transition:opacity .5s ease .45s, transform .55s var(--ease) .45s;transform:none}html[data-anim] .rule-draw{transform-origin:0;transition:transform .9s var(--ease);transform:scaleX(0)}html[data-anim] .rule-draw.is-in{transform:scaleX(1)}
