@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400&family=Noto+Serif+JP:wght@400&display=swap');
:root{--jp:"Noto Serif JP","Yu Mincho",serif;--en:"garamond-premier-pro-display","Cormorant Garamond",Garamond,serif;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0b3e36;color:white;font-family:var(--jp);font-weight:400;font-feature-settings:"halt" 1}h1,h2,h3,p{margin:0;font-weight:400}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #fff;outline-offset:5px}img{display:block}img:not([src$=".svg"]){max-width:100%}[lang=en],.pill:not(.all-collection),.map{font-family:var(--en)}.sp,.sp-break{display:none}.skip-link{position:fixed;top:-100px;left:20px;z-index:50;background:#0b3e36;padding:12px}.skip-link:focus{top:20px}
header{position:fixed;z-index:10;top:40px;right:3.333333%}.brand{display:block;position:relative;width:54px;height:60px}.brand span{position:absolute}.brand img{transform-origin:0 0}.svg-slot{position:relative}.svg-slot img{transform-origin:0 0}
.story{overflow:hidden}.scene{position:relative;height:800px;background:url("asset/7a65f.png") center center/cover no-repeat}.scene+.scene{margin-top:-1px}.collection-title{position:absolute;left:8.416667%;top:265px;width:244px;text-align:center}.collection-title .svg-slot{width:244px;height:65px}.collection-title p{font-size:24px;letter-spacing:1.2px;line-height:29px;margin-top:20px}
.poem{position:absolute;z-index:2}.poem-one{left:61.666667%;top:280px;width:337px}.poem-two{left:17.583333%;top:243px;width:470px}.poem h2{font-size:24px;line-height:32px}.subtitle{font-size:17px;line-height:21px;margin-top:10px}.poem .jp{font-size:16px;line-height:30px;margin-top:33px}.poem .en{font-size:17px;line-height:21px;width:337px;margin-top:10px}
.paper{position:absolute;z-index:1;perspective:1100px;will-change:transform}.paper .flutter,.paper .crop{width:100%;height:100%}.paper .crop{position:relative;overflow:hidden;transform-style:preserve-3d}.paper img{position:absolute;max-width:none!important;pointer-events:none}.paper-0{left:19.083333%;top:280px;width:272px;height:202px}.paper-1{left:32.416667%;top:545px;width:191px;height:150px}.paper-2{left:41.666667%;top:0;width:223px;height:96px}.paper-3{left:78.916667%;top:275px;width:451px;height:525px}.paper-4{left:60.25%;top:122px;width:196px;height:272px}.paper-5{left:0;top:0;width:259px;height:243px}
.is-visible .flutter{animation:drift 9s ease-in-out infinite;animation-delay:var(--phase)}.is-visible .crop{animation:flutter 5.3s ease-in-out infinite;animation-delay:var(--phase)}
@keyframes drift{0%,100%{transform:translate3d(0,0,0) rotate(calc(-2deg * var(--float,1)))}50%{transform:translate3d(calc(12px * var(--float,1)),calc(-18px * var(--float,1)),0) rotate(calc(4deg * var(--float,1)))}}@keyframes flutter{0%,100%{transform:rotateX(calc(-8deg * var(--float,1))) rotateY(calc(7deg * var(--float,1)))}50%{transform:rotateX(calc(12deg * var(--float,1))) rotateY(calc(-12deg * var(--float,1)))}}
.kimono{position:absolute;inset:0}.kimono img{width:100%;height:100%;object-fit:cover}.pill{display:flex;align-items:center;justify-content:center;min-height:35px;width:200px;border:1px solid #fff;border-radius:21px;background:transparent;font-size:13px;line-height:20px;letter-spacing:.65px;transition:background .2s,color .2s;padding:4px 12px}.pill:hover{background:#fff;color:#0b3e36}.more-product{position:absolute;bottom:31px;left:50%;transform:translateX(-50%)}
.signature{height:800px;text-align:center;display:flex;flex-direction:column;align-items:center;padding-top:165px}.signature-label{font-size:20px;line-height:24px;letter-spacing:1px}.signature-logo{width:198.735px;height:57.26px;margin-top:50px}.signature-name{font-size:20px;line-height:24px;letter-spacing:1px;margin-top:20px}.signature-jp{font-size:16px;line-height:30px;width:calc(100% - 60px);max-width:700px;margin-top:43px}.signature-en{font-size:16px;line-height:19px;letter-spacing:.8px;max-width:698px;margin-top:16px}.all-collection{font-family:var(--jp);font-size:12px;letter-spacing:0;margin-top:30px}
.section-inner{position:relative;width:80%;max-width:1200px;margin:0 auto}.store{min-height:642px;background:#0b3e36;padding:91px 0 100px}.eyebrow{font-size:14px;line-height:38px;letter-spacing:2.8px}.section-inner>h2{font-size:45px;line-height:54px;letter-spacing:2.25px;margin-top:20px}.store-grid{display:grid;grid-template-columns:430fr 490fr;gap:40px;margin-top:86px;align-items:end}.store-photo{position:relative;overflow:hidden;aspect-ratio:430/253}.store-photo img{position:absolute;width:100%;height:169.96%;top:-39.77%;object-fit:fill}.access h3{font-family:var(--en);font-size:13px;line-height:29px}.address-jp{font-size:13px;line-height:26px}.address-en{font-size:13px;line-height:16px;letter-spacing:.65px;margin-top:10px;max-width:441px}.map{display:inline-block;font-size:12px;line-height:32px;letter-spacing:.6px;text-decoration:underline;margin-top:4px}.inquiries{position:absolute;top:145px;right:5.208333%;display:grid;gap:20px}.inquiries .pill{width:250px;font-size:12px;letter-spacing:0;font-family:var(--jp)}.inquiries [lang=en]{font-family:var(--en);font-size:13px;letter-spacing:.65px}
.about{min-height:598px;background:#1a4f47;padding:91px 0 100px}.about-copy{margin-top:33px;max-width:606px}.about-jp{font-size:14px;line-height:30px;max-width:579px;min-height:180px}.about-en{font-size:15px;line-height:18px;letter-spacing:.75px;margin-top:10px}.about-more{position:absolute;right:5.208333%;top:144px}
footer{position:relative;background:#3d3d3c;height:292px;text-align:center;padding-top:68px;color:#ccc}.footer-brand{margin:0 auto;transform:scale(1.3);transform-origin:top center}.brand-link{display:block;margin-top:44px;font-size:11px;line-height:18px}.brand-link span{display:inline-flex;justify-content:center;align-items:center;width:14px;height:14px;border:1px solid;border-radius:50%;margin-left:6px}footer nav{display:flex;justify-content:center;align-items:center;gap:28px;margin-top:34px;height:20px}footer nav a{display:flex;align-items:center;justify-content:center;width:20px;height:20px}footer nav img{transform:scale(.75);opacity:.7}footer .mail{font-family:serif;font-size:24px;opacity:.7}footer small{display:block;margin-top:27px;font-size:10px;letter-spacing:.3px}.back-top{position:absolute;right:14px;bottom:12px;font-size:24px;background:#333;width:27px;height:27px}
dialog{width:min(1000px,95vw);max-height:92svh;border:0;padding:0 0 25px;background:#0b3e36;color:white;text-align:center}dialog::backdrop{background:#000b}dialog picture img{width:100%;max-height:70svh;object-fit:contain}dialog p{margin:15px}dialog .pill{margin:auto;width:250px}.dialog-close{position:absolute;right:10px;top:10px;width:44px;height:44px;background:#0b3e36;border:1px solid #fff;border-radius:50%;font-size:25px;z-index:1}
@media(min-width:1500px){.scene{height:66.666667vw}.collection-title{top:33.125%}.poem-one{top:35%}.poem-two{top:30.375%}.signature{height:800px}}
@media(min-width:651px) and (max-width:1000px){.poem-one{left:55%;width:42%}.poem-one .en{width:95%}.poem h2{font-size:21px}.poem .jp{font-size:14px}.poem-two{left:12%;width:55%}.section-inner{width:86%}.inquiries{right:0}.about-copy{max-width:65%}.about-more{right:0}.store-grid{gap:25px}.address-jp{font-size:12px}}
@media(max-width:650px){
 .pc{display:none!important}.sp{display:inline}.sp-break{display:block}header{top:30px;right:30px}.scene{height:699px;background-image:url("asset/d99df.png")}.collection-title{left:50%;top:300px;width:224.026px;transform:translateX(-50%)}.collection-title .svg-slot{width:224.026px;height:57.363px}.collection-title p{font-size:20px;line-height:24px;letter-spacing:1px;margin-top:18.29px}
 .poem-one{left:38.676844%;top:93px;width:54%}.poem h2{font-size:22px;line-height:25.2px}.subtitle{font-size:14px;line-height:17px;letter-spacing:.7px;margin-top:11px}.poem .jp{font-size:14px;line-height:24px;margin-top:25px}.poem .en{font-size:14px;line-height:18px;letter-spacing:.7px;margin-top:10px;width:210px;max-width:100%}.poem-two{left:30px;top:237px;width:251px}.poem-two .jp{margin-top:25px}.poem-two .en{width:193px}
 .paper-0{left:-61px;top:343px}.paper-1{left:21.882952%;top:547px}.paper-2{left:16.793893%;top:0}.paper-3{left:60.559796%;top:356px;width:294px;height:343px}.paper-4{left:55.470738%;top:162px;width:135px;height:188px}.paper-5{width:204px;height:191px}
 .final-scene{height:530px}.more-product{bottom:30px;width:174px;min-height:33px}.signature{height:auto;min-height:699px;padding:66px 28px 49px}.signature-label{font-size:18px;line-height:22px;letter-spacing:.9px}.signature-logo{width:147.264px;height:39.16px;margin-top:40px}.signature-name{font-size:18px;line-height:22px;letter-spacing:.9px;margin-top:23px}.signature-jp{font-size:15px;line-height:30px;width:318px;max-width:100%;margin-top:30px}.signature-en{font-size:15px;line-height:22px;letter-spacing:.75px;max-width:337px;margin-top:11px}.all-collection{width:197px;min-height:32px;margin-top:30px}
 .section-inner{width:auto;margin:0 30px}.store{padding:50px 0 57px;min-height:873px}.eyebrow{font-size:14px;line-height:38px}.section-inner>h2{font-size:42px;line-height:50px;letter-spacing:2.1px;margin-top:20px}.inquiries{position:static;margin-top:40px;gap:17px}.inquiries .pill{width:232px;min-height:32px}.store-grid{display:block;margin-top:50px}.store-photo{aspect-ratio:333/196}.access{margin-top:15px}.access h3{font-size:16px;line-height:29px}.address-jp{font-size:14px;line-height:25px;white-space:nowrap}.address-en{font-size:15px;line-height:18px;letter-spacing:.75px;width:295px;max-width:100%;margin-top:11px}.map{margin-top:7px}
 .about{min-height:720px;padding:50px 0 71px}.about-copy{margin-top:32px;max-width:100%}.about-jp{font-size:14px;line-height:25px;max-width:295px;min-height:208px}.about-en{font-size:15px;line-height:18px;width:294px;max-width:100%;margin-top:4px}.about-more{position:static;margin-top:20px;min-height:33px;width:174px}
 footer{height:263px;padding-top:35px}.footer-brand{transform:scale(1.05)}.brand-link{margin-top:24px}footer nav{margin-top:28px}footer small{margin-top:27px;font-size:9px}.back-top{right:9px;bottom:9px}
}
@media(max-width:374px){.poem-one{left:36%;width:61%}.poem-one .jp{font-size:13px}.section-inner{margin:0 24px}.address-jp{font-size:12px}.signature{padding-left:20px;padding-right:20px}.signature-jp{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.story .flutter,.story .crop{animation:none!important;transform:none!important}.pill{transition:none}}

[lang=en],.map,.pill:not(.all-collection){font-weight:300}.subtitle{font-family:"garamond-premier-pro",var(--en);font-weight:400}.access h3{font-family:"adobe-garamond-pro",var(--en)}
@media(min-width:651px){.signature{margin-top:-1px}}
@media(max-width:650px){.scene-two{height:700px}.address-en{letter-spacing:.6px}}
.skip-link{clip-path:inset(50%)}.skip-link:focus{clip-path:none}
@media(min-width:651px){.store{margin-top:-1px}}

/* Scroll-driven intro: one pinned viewport, separate PC/SP compositions. */
.story-stage{display:contents}.paper-layer{display:none}
.story.has-motion{height:580svh;overflow:visible;position:relative}
.has-motion .story-stage{display:block;position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate;background:#061c19 url("asset/7a65f.png") center/cover no-repeat}
.has-motion .scene{position:absolute;inset:0;width:100%;height:100%;margin:0;background:none;pointer-events:none}
.has-motion .scene:not([inert]){pointer-events:auto}
.has-motion .opening{z-index:2}.has-motion .scene-one,.has-motion .scene-two{z-index:3}
.has-motion .final-scene{z-index:5}
.has-motion .paper-layer{display:block;position:absolute;inset:0;pointer-events:none;z-index:1}
.has-motion .paper{left:0;top:0}
.has-motion .collection-title{top:33.125%}
.has-motion .poem-one{top:35%}.has-motion .poem-two{top:30.375%}
.has-motion .flutter{animation-duration:8.7s}
.has-motion .crop{animation-duration:4.8s}
@media(max-width:650px){
 .story.has-motion{height:540svh}
 .has-motion .story-stage{background-image:url("asset/d99df.png")}
 .has-motion .collection-title{top:42.918%}
 .has-motion .poem-one{top:13.305%}.has-motion .poem-two{top:33.905%}
 .has-motion .kimono{display:flex;align-items:center;justify-content:center}
 .has-motion .final-scene{background:#041410}
 .has-motion .kimono img{width:116.67%;max-width:none;height:auto;flex-shrink:0;max-height:100%;object-fit:contain;mask-image:linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent)}
 .has-motion .more-product{bottom:5%}
}
@media(max-height:540px) and (min-width:651px){
 .has-motion .poem-one,.has-motion .poem-two{top:16%}
 .has-motion .poem .jp{margin-top:18px}
}


/* Native transparent layers retain their exported proportions and soft edges. */
.paper-layer .paper img{inset:0;width:100%;height:100%;object-fit:contain}
.paper-layer .paper .crop{overflow:visible}
.has-motion .paper .flutter{animation-duration:var(--drift-duration)}
.has-motion .paper .crop{animation-duration:var(--flutter-duration)}

.brand .brand-logo{width:54px;height:60px;transform:none;object-fit:contain}

/* Keep the backdrop pinned until the collection boundary reaches the viewport. */
.collection-backdrop{position:relative;isolation:isolate;display:flow-root}
.collection-background{position:absolute;inset:0;z-index:-1;pointer-events:none}
.collection-background::before{content:"";display:block;position:sticky;top:0;height:100svh;background:#061c19 url("asset/7a65f.png") center/cover no-repeat}
.scene,.has-motion .story-stage{background:transparent}
@media(max-width:650px){.collection-background::before{background-image:url("asset/d99df.png")}}

/* Transparent final artwork reveals the shared fixed backdrop. */
.has-motion .final-scene{background:transparent}

/* Match Figma crop windows while sharing the approved flutter animations. */
.paper-layer .passage-paper .crop{overflow:hidden}
.paper-layer .passage-paper img{inset:auto;object-fit:fill}


/* A lighter pause after the collection story. */
.store{background:#e4e9e2;color:#25483f}
.about{background:#d8e1d7;color:#25483f}
.store .pill,.about .pill{border-color:currentColor}
.store .pill:hover,.about .pill:hover{background:#25483f;color:#fff}
.store a:focus-visible,.about a:focus-visible{outline-color:#25483f}
header.on-light-section .brand{filter:brightness(0) saturate(100%) invert(24%) sepia(15%) saturate(1020%) hue-rotate(111deg) brightness(92%) contrast(91%)}

/* Give the approved bilingual copy room on phone screens. */
@media(max-width:650px){
 .has-motion .poem-two{top:16%}
 .poem-two .en{width:100%}
}

/* Keep Japanese copy balanced on narrow phones. */
@media(max-width:375px){
 .poem .jp{font-size:13px}
}



/* Match approved desktop copy lines; let narrow screens wrap naturally. */
@media(min-width:1001px){.poem-one{width:370px}.poem-one .en{width:370px}.poem-two .en{width:420px}.poem .en{letter-spacing:.7px}}
@media(max-width:1000px){.copy-break{display:none}}

/* Approved feedback: product details below the illustration area. */
.product-info{position:relative;text-align:center;padding:56px 24px 0}
.product-category{font-size:16px;line-height:26px}
.product-category span{display:block;font-size:17px;letter-spacing:.7px}
.product-info h2{font-size:22px;line-height:32px;margin-top:26px}
.product-info .more-product{position:static;transform:none;margin:28px auto 0}
.all-collection[lang=en]{font-family:var(--en);font-size:13px;letter-spacing:.65px}
@media(min-width:651px){
 .inquiries{left:calc((100% - 40px)*430/920 + 40px);right:auto}
 .about-more{position:static;margin:40px auto 0}
}
@media(min-width:651px) and (max-width:1000px){
 .inquiries{left:calc((100% - 25px)*430/920 + 25px)}
}
@media(max-width:650px){
 .product-info{padding-top:38px}
 .product-category{font-size:14px;line-height:24px}
 .product-category span{font-size:15px}
 .product-info h2{font-size:20px;line-height:30px;margin-top:22px}
 .product-info .more-product{margin-top:24px}
}

/* Leave a clear pause between the inquiry buttons and Access on desktop. */
@media(min-width:651px){
 .store-grid{align-items:start}
 .access{padding-top:101px}
}

.product-name-en{font-family:var(--en);font-size:18px;line-height:28px;letter-spacing:.7px;margin-top:8px}
@media(max-width:650px){.product-name-en{font-size:16px;line-height:26px}}
