@font-face{font-family:Zen Old Mincho;src:url(/assets/zen600-v6.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--ink0:#06070c;--ink0-rgb:6 7 12;--ink1:#0d1018;--ink2:#141826;--line:#ededf321;--line-soft:#ededf312;--fg:#ededf3;--fg-dim:#ededf39e;--fg-faint:#ededf394;--accent:#9fa6b2;--accent-text:#9fa6b2;--accent-ink:#101318;--accent-soft:#9fa6b224;--font-display:"Didot","Bodoni 72","Zen Old Mincho","Playfair Display","Georgia",serif;--font-jp-serif:"Zen Old Mincho","Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;--font-body:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic Medium","Yu Gothic",-apple-system,sans-serif;--font-mono:"SF Mono","Menlo","Consolas",monospace;--gutter:clamp(20px,5vw,72px);interpolate-size:allow-keywords}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overscroll-behavior-x:none}body{background:var(--ink0);color:var(--fg);font-family:var(--font-body);letter-spacing:.04em;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.9;overflow-x:hidden}@supports (overflow:clip){body{overflow-x:clip}}::selection{background:var(--accent);color:var(--accent-ink)}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}img{max-width:100%;height:auto;display:block}body:before{content:"";pointer-events:none;z-index:1;opacity:.5;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='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}#gauge{background:var(--accent);z-index:60;width:0;height:2px;transition:background .5s;position:fixed;top:0;left:0}header{z-index:50;padding:14px var(--gutter);border-bottom:1px solid #0000;align-items:center;gap:20px;transition:background .4s,border-color .4s;display:flex;position:fixed;top:0;left:0;right:0}header.scrolled,header.menu-open{background:rgb(var(--ink0-rgb) / .82);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--line-soft)}.brand{align-items:center;gap:12px;display:flex}.brand img{width:34px;height:34px}.brand-name{font-family:var(--font-display);letter-spacing:.22em;font-size:20px}.brand-sub{font-family:var(--font-mono);letter-spacing:.28em;color:var(--fg-faint);margin-top:-4px;font-size:9px;display:block}nav{align-items:center;gap:22px;margin-left:auto;display:flex}nav a{font-family:var(--font-mono);letter-spacing:.24em;color:var(--fg-dim);padding:4px 0;font-size:10.5px;position:relative}nav a:after{content:"";background:var(--accent);width:0;height:1px;transition:width .3s;position:absolute;bottom:0;left:0}nav a:hover{color:var(--fg)}nav a:hover:after{width:100%}.nav-cta{border:1px solid var(--accent);color:var(--accent-text)!important;padding:8px 18px!important;transition:background .3s,color .3s!important}.nav-cta:hover{background:var(--accent);color:var(--accent-ink)!important}.nav-cta:after{display:none}#menubtn{border:1px solid var(--line);cursor:pointer;background:0 0;flex:none;width:42px;height:42px;display:none;position:relative}#menubtn span{background:var(--fg);width:18px;height:1.5px;transition:transform .3s,opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#menubtn span:first-child{transform:translate(-50%,-50%)translateY(-6px)}#menubtn span:nth-child(3){transform:translate(-50%,-50%)translateY(6px)}#menubtn[aria-expanded=true] span:first-child{transform:translate(-50%,-50%)rotate(45deg)}#menubtn[aria-expanded=true] span:nth-child(2){opacity:0}#menubtn[aria-expanded=true] span:nth-child(3){transform:translate(-50%,-50%)rotate(-45deg)}#menu{z-index:49;background:rgb(var(--ink0-rgb) / .96);-webkit-backdrop-filter:blur(16px);overscroll-behavior:contain;height:100dvh;padding:86px var(--gutter) calc(40px + env(safe-area-inset-bottom));visibility:hidden;flex-direction:column;justify-content:flex-start;gap:6px;transition:transform .45s cubic-bezier(.7,0,.2,1);display:flex;position:fixed;inset:0;overflow-y:auto;transform:translateY(-102%)}#menu>:first-child{margin-top:auto}#menu>:last-child{margin-bottom:auto}#menu.open{visibility:visible;transform:none}#menu a{font-family:var(--font-display);letter-spacing:.06em;border-bottom:1px solid var(--line-soft);align-items:baseline;gap:16px;padding:10px 0;font-size:clamp(30px,8vw,44px);display:flex}#menu a small{font-family:var(--font-mono);letter-spacing:.3em;color:var(--accent-text);font-size:10px;transition:color .5s}#menu .menu-contact{font-family:var(--font-mono);letter-spacing:.2em;color:var(--fg-dim);border:none;margin-top:26px;font-size:11px}@media (width<=900px){#hd nav a:not(.nav-cta){display:none}#menubtn{display:grid}}@media (width<=430px){#hd nav{display:none}#menubtn{margin-left:auto}}@media (width>=901px){#menu{display:none}}#wrapfx{z-index:70;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:-10%;transform:translate(-130%)skew(-14deg)}#wrapfx.run{animation:.9s cubic-bezier(.7,0,.2,1) both sweep}#wrapfx .fxname{font-family:var(--font-jp-serif);letter-spacing:.18em;white-space:nowrap;font-size:clamp(28px,6vw,72px);font-weight:600;transform:skew(14deg)}@keyframes sweep{0%{transform:translate(-130%)skew(-14deg)}45%,55%{transform:translate(0)skew(-14deg)}to{transform:translate(130%)skew(-14deg)}}.hero{isolation:isolate;flex-direction:column;justify-content:flex-end;min-height:100svh;display:flex;position:relative}.hero-bg{z-index:-2;position:absolute;inset:0;overflow:hidden}.hero-bg img{object-fit:cover;object-position:center 62%;opacity:0;width:100%;height:100%;transition:opacity .45s;position:absolute;inset:0}.hero-bg img.on{opacity:.92}.hero-bg:after{content:"";background:radial-gradient(120% 90% at 70% 30%,transparent 30%,#06070c8c 75%,var(--ink0) 100%), linear-gradient(to top,var(--ink0) 4%,#06070c40 38%,#06070c59 100%);position:absolute;inset:0}#glow{z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(340px circle at var(--mx,50%) var(--my,40%),var(--accent-soft),transparent 70%);transition:opacity .6s;position:absolute;inset:0}.hero:hover #glow{opacity:1}.hero-outline{z-index:-1;font-family:var(--font-display);letter-spacing:.02em;white-space:nowrap;color:#0000;-webkit-text-stroke:1px #ededf329;user-select:none;pointer-events:none;font-size:clamp(72px,15vw,230px);line-height:.9;position:absolute;top:16vh;left:0;right:0;overflow:hidden}.hero-inner{padding:0 var(--gutter) 8vh;position:relative}.hero-eyebrow{font-family:var(--font-mono);letter-spacing:.34em;color:var(--accent-text);margin-bottom:22px;font-size:11px;transition:color .5s}.hero-eyebrow:before{content:"";background:var(--accent);vertical-align:middle;width:44px;height:1px;margin-right:14px;transition:background .5s;display:inline-block}h1{font-family:var(--font-jp-serif);letter-spacing:.06em;text-wrap:balance;font-size:clamp(44px,8.4vw,116px);font-weight:600;line-height:1.14}h1 .thin{letter-spacing:.3em;color:var(--fg-dim);margin-top:18px;font-size:.36em;font-weight:400;display:block}h1 .h1-u{display:inline-block}.hero-lead{max-width:34em;color:var(--fg-dim);margin-top:26px;font-size:14px}.badge{right:var(--gutter);place-items:center;width:128px;height:128px;display:grid;position:absolute;top:-46px}.badge:before{content:"";background:radial-gradient(circle,#06070cd1 42%,#06070c8c 62%,#0000 71%);border-radius:50%;position:absolute;inset:-14px}.badge svg{position:absolute;inset:0}.badge svg text{transform-box:view-box;transform-origin:64px 64px;font-family:var(--font-mono);letter-spacing:.3em;fill:var(--accent);font-size:10.5px;font-weight:700;animation:18s linear infinite spin}.badge-core{border:1.5px solid var(--accent);width:66px;height:66px;font-family:var(--font-display);color:var(--accent-text);letter-spacing:0;background:#06070ca6;border-radius:50%;place-items:center;font-size:21px;font-weight:700;transition:color .5s,border-color .5s;display:grid;position:relative}.badge-core small{font-size:8.5px;font-family:var(--font-mono);letter-spacing:.14em;font-weight:700}@keyframes spin{to{transform:rotate(360deg)}}.swatchbar{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:44px;padding-top:26px;display:flex}.swatch-label{font-family:var(--font-mono);letter-spacing:.26em;color:var(--fg-faint);max-width:230px;font-size:10px;line-height:2}.swatches{gap:12px;display:flex}.swatch{--c:#fff;cursor:pointer;border:1px solid var(--line);background:linear-gradient(155deg,color-mix(in srgb,var(--c) 82%,white) 0%,var(--c) 38%,color-mix(in srgb,var(--c) 72%,black) 100%);width:44px;height:58px;transform:rotate(var(--tilt,0deg));border-radius:4px 4px 14px;transition:transform .25s,box-shadow .25s;position:relative}.swatch:hover{box-shadow:0 14px 30px -10px var(--c);transform:translateY(-8px)rotate(0)}.swatch.active{outline:2px solid var(--fg);outline-offset:3px}.swatch:after{content:attr(data-name);font-family:var(--font-mono);letter-spacing:.1em;color:var(--fg-dim);white-space:nowrap;opacity:0;pointer-events:none;font-size:9px;transition:opacity .2s;position:absolute;top:calc(100% + 8px);left:50%;translate:-50%}.swatch:hover:after,.swatch.active:after{opacity:1}.swatch-now{font-family:var(--font-mono);letter-spacing:.2em;color:var(--accent-text);font-size:10px;transition:color .5s}.scroll-cue{bottom:30px;right:var(--gutter);font-family:var(--font-mono);letter-spacing:.3em;color:var(--fg-faint);writing-mode:vertical-rl;font-size:9px;position:absolute}.scroll-cue:after{content:"";background:linear-gradient(var(--fg-faint),transparent);width:1px;height:48px;margin-top:10px;animation:2s ease-in-out infinite drip;display:block}@keyframes drip{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom}to{transform-origin:bottom;transform:scaleY(0)}}.ticker{border-block:1px solid var(--line);background:var(--ink1);padding:16px 0;position:relative;overflow:hidden}.ticker-track{gap:0;width:max-content;animation:30s linear infinite marquee;display:flex}.ticker span{font-family:var(--font-display);letter-spacing:.2em;white-space:nowrap;color:var(--fg-dim);align-items:center;gap:28px;padding:0 28px;font-size:22px;display:flex}.ticker i{background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px;transition:background .5s;display:inline-block}@keyframes marquee{to{transform:translate(-50%)}}section{padding:clamp(80px,12vh,150px) var(--gutter);position:relative}.sec-head{flex-wrap:wrap;align-items:baseline;gap:26px;margin-bottom:clamp(40px,7vh,80px);display:flex}.sec-no{font-family:var(--font-mono);letter-spacing:.3em;color:var(--accent-text);font-size:11px;transition:color .5s}.sec-title-en{font-family:var(--font-display);letter-spacing:.03em;font-size:clamp(46px,7vw,96px);font-weight:700;line-height:1}.sec-title-jp{font-family:var(--font-jp-serif);letter-spacing:.42em;color:var(--fg-dim);writing-mode:horizontal-tb;font-size:14px;font-weight:400}.sec-rule{background:var(--line);flex:60px;align-self:center;min-width:40px;height:1px}.rv{opacity:0;transition:opacity .9s cubic-bezier(.2,.6,.2,1),transform .9s cubic-bezier(.2,.6,.2,1);transform:translateY(28px)}.rv.in{opacity:1;transform:none}.svc-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;display:grid}.svc{color:inherit;background:var(--ink0);padding:44px 34px 40px;transition:background .4s;display:block;position:relative;overflow:hidden}.svc:hover{background:var(--ink1)}.svc-more{font-family:var(--font-mono);letter-spacing:.24em;color:var(--accent-text);opacity:.7;align-items:center;gap:8px;margin-top:26px;font-size:10px;transition:opacity .3s,gap .3s;display:inline-flex}.svc:hover .svc-more{opacity:1;gap:14px}.svc-more i{font-style:normal;transition:transform .3s}.svc:hover .svc-more i{transform:translate(4px)}.svc:before{content:attr(data-no);font-family:var(--font-display);color:#0000;-webkit-text-stroke:1px #ededf324;font-size:64px;line-height:1;position:absolute;top:18px;right:20px}.svc:hover:before{-webkit-text-stroke-color:var(--accent)}.svc-tag{font-family:var(--font-mono);letter-spacing:.3em;color:var(--accent-text);font-size:9.5px;transition:color .5s}.svc h3{font-family:var(--font-jp-serif);letter-spacing:.14em;margin:14px 0 4px;font-size:24px;font-weight:600}.svc h3 small{font-family:var(--font-display);letter-spacing:.18em;color:var(--fg-faint);margin-top:4px;font-size:13px;display:block}.svc p{color:var(--fg-dim);margin-top:16px;font-size:13.5px}.svc ul{flex-direction:column;gap:8px;margin-top:20px;list-style:none;display:flex}.svc li{color:var(--fg-dim);padding-left:18px;font-size:12.5px;position:relative}.svc li:before{content:"—";color:var(--accent-text);transition:color .5s;position:absolute;left:0}.svc-notes{background:var(--line);border:1px solid var(--line);border-top:none;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;display:grid}.svc-notes .note{background:var(--ink1);padding:30px 34px}.note h4{font-family:var(--font-jp-serif);letter-spacing:.16em;font-size:16px;font-weight:600}.note h4 small{font-family:var(--font-mono);letter-spacing:.26em;color:var(--accent-text);margin-left:12px;font-size:9px;transition:color .5s}.note p{color:var(--fg-dim);margin-top:12px;font-size:12.5px}.note ul{flex-direction:column;gap:6px;margin-top:10px;list-style:none;display:flex}.note li{color:var(--fg-dim);padding-left:16px;font-size:12px;position:relative}.note li:before{content:"—";color:var(--accent-text);transition:color .5s;position:absolute;left:0}.note .mini{color:var(--fg-faint);margin-top:10px;font-size:10.5px}.access{margin-top:60px}.access-label{font-family:var(--font-mono);letter-spacing:.3em;color:var(--accent-text);margin-bottom:14px;font-size:10px;transition:color .5s}.access-area{color:var(--fg-dim);margin-top:16px;font-size:12px;line-height:1.9}.access-area a{color:var(--accent-text);border-bottom:1px solid var(--line);transition:border-color .3s}.access-area a:hover{border-color:var(--accent)}.map{border:1px solid var(--line);filter:grayscale()invert(.9)contrast(.92)brightness(.9);width:100%;height:340px;display:block}#works{background:var(--ink1);border-block:1px solid var(--line-soft)}.works-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;display:grid}.work{border:1px solid var(--line);background:var(--ink0);min-height:170px;transform:rotate(var(--r,0deg));color:inherit;flex-direction:column;justify-content:space-between;gap:18px;padding:26px 24px 22px;transition:transform .35s,border-color .35s,box-shadow .35s;display:flex;position:relative;overflow:hidden}.work:hover{border-color:var(--accent);transform:rotate(0)translateY(-6px);box-shadow:0 20px 44px -20px #000000e6}.work:nth-child(3n){--r:.4deg}.work:nth-child(3n+1){--r:-.35deg}.work:after{content:"";background:var(--accent);transform-origin:0;height:3px;transition:transform .4s;position:absolute;inset:auto 0 0;transform:scaleX(0)}.work:hover:after{transform:scaleX(1)}.work-no{font-family:var(--font-mono);letter-spacing:.24em;color:var(--fg-faint);font-size:9.5px}.work h3{font-family:var(--font-display);letter-spacing:.03em;margin-top:8px;font-size:24px;font-weight:400;line-height:1.15}.work p{color:var(--fg-dim);margin-top:8px;font-size:12px}.work-tags{flex-wrap:wrap;gap:8px;display:flex}.chip{font-family:var(--font-mono);letter-spacing:.18em;border:1px solid var(--line);color:var(--fg-dim);border-radius:2px;padding:4px 10px;font-size:9px}.work:hover .chip{border-color:var(--accent-soft);color:var(--accent-text)}.work .shot{aspect-ratio:3/2;margin:-26px -24px 16px;overflow:hidden}.work .shot img{object-fit:cover;width:100%;height:100%;display:block}.work-photo{border-color:var(--line);grid-column:1/-1;height:clamp(280px,40vw,440px);min-height:0;padding:0;transform:none}.work-photo:hover{border-color:var(--accent);transform:none}.work-photo img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .45s;position:absolute;inset:0}.work-photo img.on{opacity:.85}.work-photo:hover img.on{opacity:1}.work-photo .cap{z-index:2;background:linear-gradient(#0000,#06070ceb);padding:clamp(24px,4vw,44px);position:absolute;bottom:0;left:0;right:0}.work-photo .cap .work-no{color:var(--fg-dim)}.work-photo .cap h3{font-size:clamp(28px,4vw,42px)}.works-more{text-align:center;margin-top:36px}.price-cols{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:60px;display:grid}.price-group h3{font-family:var(--font-jp-serif);letter-spacing:.2em;border-bottom:1px solid var(--fg);justify-content:space-between;align-items:baseline;margin-bottom:6px;padding-bottom:14px;font-size:19px;font-weight:600;display:flex}.price-group h3 span{font-family:var(--font-mono);letter-spacing:.24em;color:var(--accent-text);font-size:9.5px;transition:color .5s}.price-row{border-bottom:1px dashed var(--line);align-items:baseline;gap:12px;padding:13px 0;font-size:13.5px;display:flex}.price-row .dots{border-bottom:1px dotted var(--line);flex:1;transform:translateY(-4px)}.price-row b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:14.5px;font-weight:500}.price-row b small{color:var(--fg-faint);margin-left:2px;font-size:10px}.price-note{color:var(--fg-faint);margin-top:26px;font-size:11.5px;line-height:2.1}.price-cta{text-align:center;margin-top:60px}.price-cta p{font-family:var(--font-jp-serif);letter-spacing:.2em;color:var(--fg-dim);margin-bottom:24px;font-size:16px}.btn{font-family:var(--font-mono);letter-spacing:.3em;border:1px solid var(--accent);color:var(--accent-text);cursor:pointer;background:0 0;padding:16px 44px;font-size:11px;transition:color .35s 50ms,border-color .5s;display:inline-block;position:relative;overflow:hidden}.btn:before{content:"";background:var(--accent);transition:transform .38s cubic-bezier(.7,0,.2,1);position:absolute;inset:0;transform:translate(-101%)skew(-12deg)scaleX(1.2)}.btn:hover{color:var(--accent-ink)}.btn:hover:before{transform:translate(0)skew(0)scaleX(1.2)}.btn span{z-index:1;position:relative}.btn--fill{background:var(--accent);color:var(--accent-ink)}.btn--fill:before{background:var(--ink0)}.btn--fill:hover{color:var(--accent-text)}.btn--quiet{border-color:var(--line);color:var(--fg-dim)}.btn--quiet:hover{border-color:var(--accent)}.flow{grid-template-columns:repeat(4,1fr);list-style:none;display:grid;position:relative}.flow:before{content:"";background:var(--line);transform-origin:0;height:1px;transition:transform 1.1s cubic-bezier(.7,0,.2,1) .1s;position:absolute;top:46px;left:0;right:0;transform:scaleX(0)}.flow.in:before{transform:scaleX(1)}.flow-step{border-left:1px solid var(--line);opacity:0;padding:0 30px;transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1);position:relative;transform:translateY(20px)}.flow.in .flow-step{opacity:1;transform:none}.flow.in .flow-step:first-child{transition-delay:.15s}.flow.in .flow-step:nth-child(2){transition-delay:.32s}.flow.in .flow-step:nth-child(3){transition-delay:.49s}.flow.in .flow-step:nth-child(4){transition-delay:.66s}.flow-step:first-child{border-left:none;padding-left:0}.flow-num{font-family:var(--font-display);color:#0000;-webkit-text-stroke:1px #ededf338;font-size:clamp(52px,6vw,88px);line-height:.85;transition:-webkit-text-stroke-color .4s,color .4s;display:block}.flow-step:before{content:"";background:var(--ink0);border:1px solid var(--accent);border-radius:50%;width:9px;height:9px;transition:background .4s,border-color .5s;position:absolute;top:42px;left:30px}.flow-step:first-child:before{left:0}.flow-step:hover .flow-num{color:var(--accent-text);-webkit-text-stroke-color:var(--accent)}.flow-step:hover:before{background:var(--accent)}.flow-label{font-family:var(--font-mono);letter-spacing:.3em;color:var(--accent-text);margin-top:26px;font-size:9.5px;transition:color .5s;display:block}.flow-step h3{font-family:var(--font-jp-serif);letter-spacing:.12em;margin:12px 0 0;font-size:17px;font-weight:600}.flow-step p{color:var(--fg-dim);margin-top:14px;font-size:12.5px}.faq{max-width:860px}.faq-item{border-bottom:1px solid var(--line)}.faq-item:first-child{border-top:1px solid var(--line)}.faq-item summary{cursor:pointer;align-items:center;gap:20px;padding:24px 6px;list-style:none;transition:padding-left .3s,background .3s;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover{background:var(--ink2);padding-left:16px}.faq-q{font-family:var(--font-display);color:var(--accent-text);flex:none;font-size:21px;line-height:1;transition:color .5s}.faq-question{font-family:var(--font-jp-serif);letter-spacing:.06em;flex:1;font-size:15px;font-weight:600}.faq-icon{flex:none;width:16px;height:16px;transition:transform .35s cubic-bezier(.7,0,.2,1);position:relative}.faq-icon:before,.faq-icon:after{content:"";background:var(--accent);transition:background .5s;position:absolute;top:50%;left:50%}.faq-icon:before{width:14px;height:1.5px;transform:translate(-50%,-50%)}.faq-icon:after{width:1.5px;height:14px;transform:translate(-50%,-50%)}.faq-item[open] .faq-icon{transform:rotate(135deg)}.faq-a p{color:var(--fg-dim);max-width:64ch;padding:0 6px 26px 44px;font-size:13.5px;line-height:2}.faq-a p:has(+.faq-link){padding-bottom:12px}.faq-a .faq-link a{color:var(--accent-text);border-bottom:1px solid var(--line);transition:border-color .3s}.faq-a .faq-link a:hover{border-color:var(--accent)}.faq-item::details-content{content-visibility:hidden;height:0;transition:height .38s cubic-bezier(.2,.6,.2,1),content-visibility .38s allow-discrete;overflow:hidden}.faq-item[open]::details-content{content-visibility:visible;height:auto}@media (width<=700px){.faq-a p{padding-left:38px}}#news{background:var(--ink1);border-block:1px solid var(--line-soft)}.news-list{max-width:840px}.news-item{border-bottom:1px solid var(--line);color:inherit;align-items:baseline;gap:34px;padding:22px 6px;transition:padding-left .3s,background .3s;display:flex}.news-item:first-child{border-top:1px solid var(--line)}.news-item:hover{background:var(--ink2);padding-left:18px}.news-item time{font-family:var(--font-mono);letter-spacing:.14em;color:var(--accent-text);flex:none;font-size:11px;transition:color .5s}.news-item p{color:var(--fg-dim);font-size:13.5px}.news-item .new{font-family:var(--font-mono);letter-spacing:.2em;color:var(--accent-ink);background:var(--accent);flex:none;margin-left:auto;padding:2px 8px;font-size:8.5px;transition:background .5s}.news-all{font-family:var(--font-mono);letter-spacing:.24em;color:var(--accent);margin-top:28px;font-size:11px;transition:opacity .3s;display:inline-block}.news-all:hover{opacity:.6}.co-wrap{grid-template-columns:minmax(240px,.9fr) 2fr;gap:60px;display:grid}@media (width<=860px){.co-wrap{grid-template-columns:1fr}}.co-side{position:relative}.co-side img{opacity:.9;width:min(200px,60%)}.co-side .jp-rail{writing-mode:vertical-rl;font-family:var(--font-jp-serif);letter-spacing:.5em;color:var(--fg-dim);margin-top:34px;font-size:13px;line-height:2.4}.co-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 46px;display:grid}.co-row{border-bottom:1px solid var(--line);padding:16px 0}.co-row dt{font-family:var(--font-mono);letter-spacing:.28em;color:var(--fg-faint);margin-bottom:6px;font-size:9.5px}.co-row dd{font-size:13.5px}.co-row dd a{border-bottom:1px solid var(--accent-soft);transition:border-color .3s}.co-row dd a:hover{border-color:var(--accent)}.co-row dd a .ext{font-family:var(--font-mono);color:var(--fg-faint);margin-left:.45em;font-size:10px}#contact{text-align:center;padding-block:clamp(110px,18vh,200px);overflow:hidden}#contact .big{font-family:var(--font-display);letter-spacing:.02em;text-wrap:balance;font-size:clamp(52px,9.5vw,150px);line-height:1}#contact .big em{color:var(--accent-text);font-style:italic;transition:color .5s}#contact .lead{font-family:var(--font-jp-serif);letter-spacing:.3em;color:var(--fg-dim);margin:34px 0 46px;font-size:15px}.contact-actions{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.contact-hours{font-family:var(--font-mono);letter-spacing:.16em;color:var(--fg-dim);text-wrap:balance;margin-top:28px;font-size:11.5px}.contact-note{color:var(--fg-faint);text-wrap:balance;margin-top:34px;font-size:12px;line-height:2}.contact-note a{color:var(--accent-text);border-bottom:1px solid var(--line);padding-bottom:2px;transition:border-color .3s}.contact-note a:hover{border-color:var(--accent)}.social{flex-wrap:wrap;align-items:center;display:flex}.social--buttons{justify-content:center;gap:14px;margin-top:30px}.social--buttons a{border:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.22em;color:var(--fg-dim);align-items:center;gap:11px;padding:13px 24px;font-size:10.5px;transition:color .3s,border-color .3s,background .3s;display:inline-flex}.social--buttons a:hover{color:var(--accent-text);border-color:var(--accent)}.social--buttons svg{flex:none;width:18px;height:18px}.social--icons{gap:12px}.social--icons a{border:1px solid var(--line);width:40px;height:40px;color:var(--fg-dim);place-items:center;transition:color .3s,border-color .3s;display:inline-grid}.social--icons a:hover{color:var(--accent-text);border-color:var(--accent)}.social--icons svg{width:18px;height:18px}.social--icons span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.promo{z-index:55;background:rgb(var(--ink0-rgb) / .82);-webkit-backdrop-filter:blur(12px);border:1px solid var(--accent);opacity:0;pointer-events:none;align-items:stretch;max-width:calc(100vw - 28px);transition:opacity .5s cubic-bezier(.2,.6,.2,1),transform .5s cubic-bezier(.2,.6,.2,1),border-color .5s;display:flex;position:fixed;bottom:clamp(14px,3vw,28px);right:clamp(14px,3vw,28px);transform:translateY(14px);box-shadow:0 20px 44px -20px #000000e6}.promo.show{opacity:1;pointer-events:auto;transform:none}.promo.menu-hidden{opacity:0!important;pointer-events:none!important}.promo-main{color:inherit;align-items:center;gap:14px;padding:11px 16px 11px 13px;display:flex}.promo-badge{border:1px solid var(--accent);width:40px;height:40px;font-family:var(--font-display);color:var(--accent-text);border-radius:50%;flex:none;place-items:center;font-size:15px;font-weight:700;line-height:1;transition:color .5s,border-color .5s;display:grid}.promo-badge small{font-size:8px;font-family:var(--font-mono)}.promo-txt{text-align:left;flex-direction:column;gap:3px;display:flex}.promo-txt em{font-style:normal;font-family:var(--font-mono);letter-spacing:.22em;color:var(--fg-faint);font-size:8px}.promo-txt b{font-family:var(--font-jp-serif);letter-spacing:.08em;color:var(--fg);font-size:13px;font-weight:600}.promo-arrow{font-family:var(--font-mono);color:var(--accent-text);margin-left:2px;font-size:12px;transition:transform .3s,color .5s}.promo-main:hover .promo-arrow{transform:translate(4px)}.promo-close{border:none;border-left:1px solid var(--line);width:34px;color:var(--fg-faint);cursor:pointer;background:0 0;flex:none;font-size:16px;line-height:1;transition:color .3s,background .3s}.promo-close:hover{color:var(--fg);background:var(--ink2)}@media (width<=480px){.promo-badge{width:34px;height:34px;font-size:13px}.promo-txt b{font-size:12px}.promo-main{gap:11px;padding:10px 13px}}footer{border-top:1px solid var(--line);padding:60px var(--gutter) 40px;position:relative;overflow:hidden}.foot-inner{flex-wrap:wrap;align-items:center;gap:30px;display:flex}.foot-brand{align-items:center;gap:14px;display:flex}.foot-brand img{width:56px}.foot-nav{flex-wrap:wrap;gap:22px;margin-left:auto;display:flex}.foot-nav a{font-family:var(--font-mono);letter-spacing:.24em;color:var(--fg-faint);font-size:9.5px}.foot-nav a:hover{color:var(--accent-text)}.copyright{font-family:var(--font-mono);letter-spacing:.2em;color:var(--fg-faint);margin-top:36px;font-size:9px}.foot-ghost{font-family:var(--font-display);color:#0000;-webkit-text-stroke:1px #ededf312;pointer-events:none;user-select:none;font-size:clamp(90px,16vw,230px);line-height:1;position:absolute;bottom:-30px;right:-1%}@media (width<=700px){.hero{min-height:0;padding-top:63px;display:block}.hero-bg{height:max(46svh,300px);position:relative;inset:auto}.hero-bg img{object-position:center 30%}.hero-bg:after{background:linear-gradient(to top,var(--ink0) 2%,transparent 34%,#06070c4d 100%)}.hero-outline,#glow{display:none}.hero-inner{flex-direction:column;padding:0 20px 56px;display:flex;position:static}h1{z-index:5;text-shadow:0 2px 20px #06070ce6;position:absolute;top:calc(63px + max(46svh,300px)/2.5);left:20px;right:20px}h1 .thin{margin-top:14px}.hero-eyebrow{z-index:5;margin:0;position:absolute;top:calc(33px + max(46svh,300px)/2.5);left:20px}.swatchbar{z-index:5;border:none;flex-direction:column;order:-1;align-items:flex-start;gap:10px;margin:16px 0 30px;padding:0;position:relative}.swatch-label{display:none}.swatch{width:40px;height:52px}.swatch:after{display:none}.swatch-now{letter-spacing:.14em;font-size:9px}.badge{transform-origin:100% 0;top:73px;right:8px;transform:scale(.66)}.hero-eyebrow{letter-spacing:.22em;margin-bottom:16px;font-size:10px}.hero-eyebrow:before{width:24px;margin-right:10px}.scroll-cue{display:none}.news-item{gap:16px}.foot-nav{margin-left:0}.flow{grid-template-columns:1fr}.flow:before{transform-origin:top;width:1px;height:auto;inset:0 auto 0 5px;transform:scaleY(0)}.flow.in:before{transform:scaleY(1)}.flow-step{border-left:1px solid var(--line);padding:0 0 34px 28px}.flow-step:first-child{border-left:1px solid var(--line);padding-left:28px}.flow-step:last-child{padding-bottom:0}.flow-step:before{top:6px;left:1px}.flow-step:first-child:before{left:1px}.flow-num{font-size:44px}.flow-label{margin-top:14px}}#intro{z-index:80;background:var(--ink0);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}#intro.clear{pointer-events:none;background:0 0}.intro-mark{flex-direction:column;align-items:center;gap:18px;animation:.7s cubic-bezier(.2,.6,.2,1) .15s both introMark;display:flex}#intro.clear .intro-mark{display:none}.intro-mark img{width:110px}.intro-mark p{font-family:var(--font-mono);color:var(--fg-dim);font-size:10px;animation:1.1s cubic-bezier(.2,.6,.2,1) .25s both introTrack}@keyframes introMark{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:none}}@keyframes introTrack{0%{letter-spacing:.16em;opacity:0}to{letter-spacing:.34em;opacity:1}}.intro-sweep{background:linear-gradient(115deg,color-mix(in srgb,var(--accent) 70%,white),var(--accent) 45%,color-mix(in srgb,var(--accent) 55%,black));position:absolute;inset:-10%;transform:translate(-130%)skew(-14deg)}#intro.sweep .intro-sweep{animation:.9s cubic-bezier(.7,0,.2,1) both sweep}html.intro-play:not(.intro-done){overflow:hidden}html.intro-play .hero-eyebrow,html.intro-play h1,html.intro-play .hero-lead,html.intro-play .swatchbar{opacity:0;transition:opacity .8s cubic-bezier(.2,.6,.2,1),transform .8s cubic-bezier(.2,.6,.2,1);transform:translateY(16px)}html.intro-play .badge,html.intro-play .scroll-cue{opacity:0;transition:opacity .9s}html.intro-done .hero-eyebrow{opacity:1;transition-delay:50ms;transform:none}html.intro-done h1{opacity:1;transition-delay:.16s;transform:none}html.intro-done .hero-lead{opacity:1;transition-delay:.3s;transform:none}html.intro-done .swatchbar{opacity:1;transition-delay:.44s;transform:none}html.intro-done .badge,html.intro-done .scroll-cue{opacity:1;transition-delay:.6s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}.rv{opacity:1;transform:none}#intro{display:none}}
