:root{--ink:#111;--paper:#f7f7f4;--line:#c9c9c3;--muted:#73736e;--ease:cubic-bezier(.76,0,.24,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Arial,sans-serif;letter-spacing:.03em}body.is-locked,body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}.opening{position:fixed;z-index:100;inset:0;background:var(--paper);display:grid;place-items:center;transition:transform 1.25s var(--ease),visibility 1.25s}.opening::before,.opening::after{content:"";position:absolute;background:var(--line)}.opening::before{height:1px;left:0;right:0;top:50%}.opening::after{width:1px;top:0;bottom:0;left:50%}.opening.is-open{transform:translateY(-102%);visibility:hidden}.door-trigger{position:relative;width:min(88vw,760px);height:min(82vh,760px);border:0;background:transparent;cursor:pointer;display:grid;place-items:center}.door-frame{position:relative;z-index:1;display:block;width:230px;height:400px;border:1px solid var(--ink);perspective:900px;background:var(--paper);box-shadow:0 0 0 9px var(--paper),0 0 0 10px var(--ink)}.door{position:absolute;inset:0;background:var(--paper);border:1px solid var(--ink);transform-origin:left;transition:transform 1s var(--ease);transform-style:preserve-3d}.door-trigger:hover .door,.door-trigger:focus-visible .door{transform:rotateY(-18deg)}.door-number{position:absolute;top:20px;left:22px;font:11px Arial}.door-knob{position:absolute;right:24px;top:50%;width:10px;height:10px;border:1px solid;border-radius:50%}.door-depth{position:absolute;inset:16px;background:repeating-radial-gradient(circle at 60% 50%,transparent 0 18px,#ddd 19px 20px);z-index:-1}.door-copy{position:absolute;z-index:2;top:6%;left:1%;text-align:left}.door-eyebrow{display:block;font:10px Arial;letter-spacing:.2em}.door-title{display:block;font:clamp(55px,10vw,110px)/.9 Arial,sans-serif;letter-spacing:-.07em}.door-hint{position:absolute;z-index:2;right:0;bottom:6%;font:10px Arial;letter-spacing:.2em}.door-hint::before{content:"";display:inline-block;width:42px;height:1px;background:var(--ink);vertical-align:middle;margin-right:12px}.site-header{height:92px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 3vw;position:sticky;top:0;z-index:20;background:rgba(247,247,244,.94);backdrop-filter:blur(12px)}.wordmark{font:bold 15px/1 Arial;letter-spacing:-.04em;display:flex;flex-direction:column}.global-nav{display:flex;height:100%}.global-nav a{font:12px Arial;display:flex;gap:7px;align-items:center;padding:0 1.25vw;border-left:1px solid transparent;transition:border-color .2s}.global-nav a:hover{border-color:var(--ink)}.global-nav span{font-size:8px;color:var(--muted);align-self:flex-start;margin-top:31px}.menu-toggle{display:none}.hero{min-height:calc(100vh - 92px);position:relative;overflow:hidden;padding:11vh 6vw 6vh;display:flex;flex-direction:column;justify-content:space-between}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(to right,rgba(0,0,0,.055) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.055) 1px,transparent 1px);background-size:6.25vw 6.25vw;mask-image:linear-gradient(to bottom,black,transparent 85%)}.hero-kicker,.section-heading>p,.contact>p:first-child{font:10px Arial;letter-spacing:.18em;position:relative}.hero-title{font-size:clamp(56px,10vw,145px);line-height:.92;letter-spacing:-.09em;margin:4vh 0;position:relative}.hero-title span{display:block}.hero-title .outline{color:var(--paper);-webkit-text-stroke:1px var(--ink)}.hero-bottom{display:flex;align-items:end;justify-content:space-between;position:relative}.hero-bottom>p{font-size:13px;line-height:2}.circle-link{width:130px;height:130px;border:1px solid;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:18px;font:10px Arial;transition:background .25s,color .25s}.circle-link:hover{background:var(--ink);color:var(--paper)}.circle-link i{font-size:18px;font-style:normal}.orbit-mark{position:absolute;right:22%;top:24%;width:150px;height:150px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;animation:float 6s ease-in-out infinite}.orbit-mark i{position:absolute;width:190px;height:60px;border:1px solid;border-radius:50%;transform:rotate(-18deg)}.orbit-mark b{font:42px Georgia;font-weight:normal}.section{padding:130px 6vw;border-top:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:25% 1fr;margin-bottom:90px}.section-heading h2{font-size:clamp(42px,6vw,88px);line-height:1.08;letter-spacing:-.07em;margin:0;font-weight:500}.news-list{margin-left:25%}.news-list a{display:grid;grid-template-columns:130px 1fr 25px;gap:20px;align-items:center;padding:28px 0;border-top:1px solid var(--line);font-size:14px}.news-list a:last-child{border-bottom:1px solid var(--line)}.news-list time{font:10px Arial;color:var(--muted)}.news-list i{font-style:normal;font-size:18px;transition:transform .25s}.news-list a:hover i{transform:translate(5px,-5px)}.about{display:grid;grid-template-columns:50% 50%;background:var(--ink);color:var(--paper)}.about .section-heading{display:block}.about .section-heading p{margin-bottom:70px}.about-copy{padding-top:85px;max-width:600px}.about-copy>p{font-size:14px;line-height:2.1;max-width:520px}.about-copy .lead{font-size:25px;margin-bottom:40px}.about-copy dl{margin-top:70px;border-top:1px solid #444}.about-copy dl div{display:grid;grid-template-columns:1fr 1fr;padding:17px 0;border-bottom:1px solid #444}.about-copy dt{font:10px Arial;letter-spacing:.14em}.about-copy dd{margin:0;font-size:12px}.member-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.member-card{background:var(--paper);padding:12px}.portrait{aspect-ratio:4/5;background:#e9e9e4;display:grid;place-items:center;position:relative;overflow:hidden}.portrait::before,.portrait::after{content:"";position:absolute;border:1px solid #aaa;border-radius:50%}.portrait::before{width:52%;height:52%;top:13%}.portrait::after{width:95%;height:75%;top:60%}.portrait span{font:100px Georgia;color:transparent;-webkit-text-stroke:1px #aaa;z-index:2}.p2::before{border-radius:0;transform:rotate(45deg)}.p3::after{border-radius:0 0 50% 50%}.member-card>p{font:9px Arial;color:var(--muted);margin-top:20px}.member-card h3{font:30px Arial;letter-spacing:-.04em;margin:8px 0}.member-card small{font-size:11px;color:var(--muted)}.featured-product{display:grid;grid-template-columns:58% 42%;border:1px solid var(--ink)}.product-art{min-height:600px;background:var(--ink);position:relative;overflow:hidden}.product-art::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 49px,#292929 50px),repeating-linear-gradient(0deg,transparent 0 49px,#292929 50px)}.product-door{position:absolute;width:190px;height:330px;border:1px solid var(--paper);left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 10px var(--ink),0 0 0 11px var(--paper)}.product-door::after{content:"?";position:absolute;inset:0;display:grid;place-items:center;color:var(--paper);font:70px Georgia}.product-no{position:absolute;left:25px;bottom:25px;color:var(--paper);font:10px Arial;letter-spacing:.2em}.product-copy{padding:55px;display:flex;flex-direction:column;justify-content:center}.product-copy>p:first-child{font:9px Arial;letter-spacing:.18em}.product-copy h3{font:clamp(35px,5vw,70px)/.9 Arial;letter-spacing:-.07em;margin:55px 0}.product-copy>p:nth-of-type(2){font-size:13px;line-height:2;margin-bottom:40px}.tag{font:9px Arial;margin-right:15px}.contact{min-height:90vh;background:var(--ink);color:var(--paper);padding:130px 6vw;display:flex;flex-direction:column;justify-content:center}.contact h2{font-size:clamp(48px,9vw,130px);line-height:.95;letter-spacing:-.08em;font-weight:500;margin:60px 0}.contact h2 span{color:var(--ink);-webkit-text-stroke:1px var(--paper)}.contact-link{border-top:1px solid #444;border-bottom:1px solid #444;padding:25px 0;display:flex;justify-content:space-between;font:18px Arial}.contact-link i{font-style:normal}.contact-note{font-size:11px!important;line-height:1.9;letter-spacing:.04em!important;margin-top:35px}footer{height:160px;padding:0 3vw;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line)}footer p{font:9px Arial;letter-spacing:.15em}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s var(--ease)}.reveal.is-visible{opacity:1;transform:none}@keyframes float{50%{transform:translateY(15px) rotate(4deg)}}
@media(max-width:760px){.site-header{height:68px;padding:0 20px}.menu-toggle{display:block;border:0;background:none;position:relative;z-index:2;font:10px Arial;letter-spacing:.15em}.menu-toggle i{display:block;width:34px;height:1px;background:var(--ink);margin-top:6px;transition:.3s}.global-nav{position:fixed;inset:0;z-index:1;width:100vw;height:100svh;min-height:100svh;background:var(--paper);display:flex;flex-direction:column;padding:90px 8vw 32px;transform:translateY(-101%);transition:transform .7s var(--ease)}.global-nav.is-open{transform:none}.global-nav a{height:auto;flex:1;font-size:clamp(25px,8vw,40px);border-top:1px solid var(--line);padding:0}.global-nav span{margin:20px 0 0;font-size:8px}.menu-toggle[aria-expanded=true] i:first-of-type{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] i:last-of-type{transform:translateY(-3.5px) rotate(-45deg)}.hero{min-height:calc(100svh - 68px);padding:14vh 20px 35px}.hero-title{font-size:14.8vw}.hero-bottom{align-items:flex-end}.hero-bottom>p{max-width:60%;font-size:10px}.circle-link{width:90px;height:90px}.orbit-mark{right:8%;top:17%;width:90px;height:90px}.orbit-mark i{width:115px;height:40px}.section{padding:90px 20px}.section-heading{display:block;margin-bottom:60px}.section-heading>p{margin-bottom:35px}.news-list{margin-left:0}.news-list a{grid-template-columns:80px 1fr 15px;gap:10px;font-size:11px;line-height:1.6}.about{display:block}.about-copy{padding-top:0}.member-grid{grid-template-columns:1fr}.featured-product{grid-template-columns:1fr}.product-art{min-height:440px}.product-copy{padding:40px 25px}.product-copy h3{margin:35px 0}.contact{padding:90px 20px}.contact h2{margin:45px 0 80px}footer{height:130px;padding:0 20px}footer p:last-child{display:none}.door-frame{width:170px;height:300px}.door-title{font-size:18vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
.product-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:80px;background:var(--ink);border:1px solid var(--ink)}
.product-card{background:var(--paper);min-width:0}.product-card-art{aspect-ratio:4/3;position:relative;overflow:hidden;border-bottom:1px solid var(--ink);display:grid;place-items:center;background:#e9e9e4}.product-card-art span{position:relative;z-index:2;font:clamp(42px,6vw,78px)/1 Georgia;color:transparent;-webkit-text-stroke:1px var(--ink)}.product-card-art i,.product-card-art b{position:absolute;border:1px solid var(--ink)}
.art-site{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:32px 32px}.art-site i{width:55%;height:70%;transform:rotate(7deg);box-shadow:10px 10px 0 var(--paper)}
.art-survey i{width:62%;height:62%;border-radius:50%}.art-survey b{width:84%;height:25%;border-radius:50%;transform:rotate(-15deg)}
.art-kuraimori{background:var(--ink)}.art-kuraimori span{color:var(--ink);-webkit-text-stroke:1px var(--paper)}.art-kuraimori i{width:0;height:0;border-left:75px solid transparent;border-right:75px solid transparent;border-bottom:200px solid var(--paper);border-top:0;bottom:-50px;left:8%}.art-kuraimori b{width:0;height:0;border-left:90px solid transparent;border-right:90px solid transparent;border-bottom:240px solid #666;border-top:0;bottom:-70px;right:-5%}
.product-card-copy{position:relative;padding:28px 24px 34px;min-height:210px}.product-card-copy p{font:9px Arial;letter-spacing:.14em;color:var(--muted);margin:0 0 36px}.product-card-copy h3{font-size:clamp(20px,2.3vw,34px);line-height:1.2;letter-spacing:-.05em;font-weight:500;margin:0 35px 18px 0}.product-card-copy span{font-size:11px;line-height:1.8;color:var(--muted)}.product-card-copy>i{position:absolute;right:24px;top:74px;font-size:20px;font-style:normal;transition:transform .25s}.product-card:hover .product-card-copy>i{transform:translate(5px,-5px)}
@media(max-width:760px){.product-list{grid-template-columns:1fr;margin-top:50px}.product-card-art{aspect-ratio:16/10}.product-card-copy{min-height:190px}.product-card-copy h3{font-size:28px}}
