:root{--c-concrete: #8e9194;--c-concrete-light: #c9cbcc;--c-ink: #1a1a1a;--c-ivory: #f2ede4;--c-plum: #4a1e3a;--font-en: "Cormorant Garamond", serif;--font-ja-heading: "Shippori Mincho", serif;--font-ja-body: "Noto Sans JP", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--c-ivory);color:var(--c-ink);font-family:var(--font-ja-body);font-weight:300;font-size:14px;line-height:1.9;letter-spacing:.03em;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none;margin:0;padding:0}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}.reveal{opacity:0;transform:translateY(18px);transition:opacity 1.1s ease,transform 1.1s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.intro{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;background:var(--c-ink);cursor:pointer;transition:opacity .9s ease}.intro.is-hidden{opacity:0;pointer-events:none}.intro-flower{width:140px;height:auto;max-width:42vw;overflow:visible}.intro-flower path{fill:none}.intro-stem{transition:stroke-dashoffset .7s cubic-bezier(.65,0,.35,1) 0s}.intro-petal{transition:stroke-dashoffset 1.3s cubic-bezier(.65,0,.35,1) .5s}.intro-spadix{transition:stroke-dashoffset .6s cubic-bezier(.65,0,.35,1) 1.6s}.intro.is-drawing .intro-stem,.intro.is-drawing .intro-petal,.intro.is-drawing .intro-spadix{stroke-dashoffset:0}@media(min-width:900px){.intro-flower{width:180px}}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:20px 24px}.brand-mark{font-family:var(--font-en);font-size:22px;letter-spacing:.12em;font-weight:500;color:#f2ede4;mix-blend-mode:difference}.nav-toggle{position:relative;z-index:110;width:28px;height:18px;display:flex;flex-direction:column;justify-content:space-between;color:#f2ede4;mix-blend-mode:difference}.nav-toggle span{display:block;height:1px;background:currentColor;width:100%;transition:transform .4s ease,opacity .4s ease}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(8.5px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-8.5px) rotate(-45deg)}.site-nav{position:fixed;inset:0;background:var(--c-ink);color:var(--c-ivory);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .5s ease}.site-nav.is-open{opacity:1;visibility:visible}.site-nav ul{display:flex;flex-direction:column;align-items:center;gap:28px}.nav-link{font-family:var(--font-en);font-size:22px;letter-spacing:.14em}.nav-cta{display:inline-block;margin-top:12px;padding:12px 28px;border:1px solid var(--c-ivory);font-size:12px;letter-spacing:.14em}@media(min-width:900px){.site-header{padding:32px 48px}.nav-toggle{display:none}.site-nav{position:static;background:none;opacity:1;visibility:visible;mix-blend-mode:difference}.site-nav ul{flex-direction:row;gap:36px}.nav-link{font-size:13px;font-family:var(--font-ja-body);letter-spacing:.08em}.nav-cta{padding:8px 20px;font-size:11px}}.hero{position:relative;height:100svh;min-height:560px;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 30%}.hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,#1a1a1a59,#1a1a1a0d 40%,#1a1a1a8c)}.hero-content{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:0 24px 96px;color:var(--c-ivory)}.hero-brand{font-family:var(--font-en);font-size:15vw;line-height:.9;font-weight:400;letter-spacing:.04em;margin:0 0 18px}.hero-copy{font-family:var(--font-ja-heading);font-size:17px;font-weight:500;letter-spacing:.08em;margin:0}.hero-copy-sub{display:block;margin-top:10px;font-family:var(--font-en);font-style:italic;font-size:14px;font-weight:300;letter-spacing:.06em;opacity:.9}.hero-scroll{position:absolute;right:24px;bottom:28px;font-family:var(--font-en);font-size:11px;letter-spacing:.3em;color:var(--c-ivory);writing-mode:vertical-rl}.hero-scroll:after{content:"";display:block;width:1px;height:40px;margin:10px auto 0;background:currentColor;opacity:.6}@media(min-width:900px){.hero-content{padding:0 64px 120px}.hero-brand{font-size:8vw}.hero-copy{font-size:20px}}.section{padding:120px 24px;max-width:1180px;margin:0 auto}.eyebrow{font-family:var(--font-en);font-style:italic;font-size:13px;letter-spacing:.28em;color:var(--c-plum);margin:0 0 20px}.section-title{font-family:var(--font-ja-heading);font-weight:500;font-size:22px;letter-spacing:.1em;margin:0 0 56px}@media(min-width:900px){.section{padding:180px 64px}}.concept{padding-bottom:80px}.concept-lead{max-width:30em;font-size:15px;line-height:2.2;font-weight:300}@media(min-width:900px){.concept-lead{margin-left:12%;font-size:16px}}.works-grid{display:grid;grid-template-columns:1fr;gap:72px 40px}.work-item{display:flex;flex-direction:column}.work-media{position:relative;width:100%;aspect-ratio:2 / 3;overflow:hidden;background:var(--c-concrete-light)}.work-media .cut{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 1.4s ease,transform 6s ease}.work-media .cut-02,.work-media:hover .cut-01,.work-media.is-active .cut-01{opacity:0}.work-media:hover .cut-02,.work-media.is-active .cut-02{opacity:1}.work-caption{margin-top:20px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.work-title{font-family:var(--font-en);font-size:20px;font-style:italic;letter-spacing:.04em;margin:0}.work-sub{font-family:var(--font-ja-heading);font-size:12px;letter-spacing:.12em;color:var(--c-concrete);margin:0}.work-materials{flex-basis:100%;font-size:11px;letter-spacing:.05em;color:var(--c-concrete);margin:4px 0 0}@media(min-width:700px){.works-grid{grid-template-columns:repeat(2,1fr);gap:96px 48px}.work-item.is-offset{margin-top:96px}}@media(min-width:1100px){.works-grid{grid-template-columns:repeat(3,1fr)}.work-item:nth-child(3n-1){margin-top:96px}.work-item.is-offset{margin-top:0}}.order-list{display:flex;flex-direction:column;max-width:640px}.order-item{display:flex;gap:24px;padding:28px 0;border-top:1px solid var(--c-concrete-light)}.order-item:last-child{border-bottom:1px solid var(--c-concrete-light)}.order-number{font-family:var(--font-en);font-size:22px;font-weight:300;color:var(--c-plum);min-width:2.2em}.order-title{font-family:var(--font-ja-heading);font-size:15px;letter-spacing:.06em;margin:0 0 8px}.order-text{font-size:13px;color:#454545;margin:0}.order-note{margin-top:32px;font-size:12px;letter-spacing:.05em;color:var(--c-concrete)}.price-list{display:flex;flex-direction:column;max-width:640px}.price-item{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:18px;padding:24px 0;border-top:1px solid var(--c-concrete-light)}.price-list li:last-child{border-bottom:1px solid var(--c-concrete-light)}.price-size{font-family:var(--font-en);font-size:26px;font-style:italic;color:var(--c-plum)}.price-label{font-size:13px;letter-spacing:.04em}.price-value{font-family:var(--font-en);font-size:16px;letter-spacing:.03em}.price-note{margin-top:28px;font-size:12px;color:var(--c-concrete);max-width:32em}.about-text{max-width:30em;font-size:15px;line-height:2.2;font-weight:300}@media(min-width:900px){.about-text{margin-left:12%;font-size:16px}}.faq-list{max-width:720px}.faq-item{border-top:1px solid var(--c-concrete-light);padding:22px 0}.faq-list details:last-child{border-bottom:1px solid var(--c-concrete-light)}.faq-question{cursor:pointer;font-size:14px;letter-spacing:.03em;font-weight:400;display:flex;justify-content:space-between;align-items:center;list-style:none}.faq-question::-webkit-details-marker{display:none}.faq-question:after{content:"+";font-family:var(--font-en);font-size:20px;color:var(--c-plum);transition:transform .3s ease;margin-left:16px}details[open] .faq-question:after{transform:rotate(45deg)}.faq-answer{margin:16px 0 0;font-size:13px;color:#454545;line-height:2}.site-footer{background:var(--c-ink);color:var(--c-ivory);text-align:center;padding:140px 24px 60px}.footer-lead{font-family:var(--font-ja-heading);font-size:16px;letter-spacing:.08em;margin:0 0 32px}.footer-cta{display:inline-block;padding:18px 40px;border:1px solid var(--c-ivory);font-family:var(--font-en);font-size:14px;letter-spacing:.1em;transition:background .3s ease,color .3s ease}.footer-cta:hover{background:var(--c-ivory);color:var(--c-ink)}.footer-links{margin-top:56px;font-size:12px;letter-spacing:.08em;display:flex;justify-content:center;gap:12px;opacity:.85}.footer-copyright{margin-top:40px;font-family:var(--font-en);font-size:11px;letter-spacing:.08em;opacity:.5}
