*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#37342f;font-family:"Noto Sans JP",sans-serif;font-weight:300;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%}figure{margin:0}.keep-line{white-space:nowrap}
.loader{position:fixed;z-index:20000;inset:0;display:grid;place-items:center;background:#fff;transition:.55s}.loader.hide,.loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-mark{display:flex;flex-direction:column;align-items:center;gap:9px}.loader-word{font-size:13px;letter-spacing:.38em;padding-left:.38em}.loader-icon{width:46px;height:58px;object-fit:contain}
.header{position:fixed;z-index:10000;top:0;left:0;width:100%;height:88px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;transition:.35s}.header.scrolled{height:70px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 1px rgba(40,35,30,.08)}.brand{width:230px}.brand img{height:auto}.nav{display:flex;align-items:center;gap:26px;font-size:12px;letter-spacing:.12em}.nav-store{padding:11px 14px;border:1px solid}.menu-button{display:none}.language-select{position:relative;font-size:11px}.language-select summary{list-style:none;cursor:pointer;white-space:nowrap}.language-select summary::-webkit-details-marker{display:none}.language-options{position:absolute;right:0;top:30px;min-width:195px;padding:8px;background:#fff;border:1px solid #e7e5e1;box-shadow:0 12px 35px rgba(0,0,0,.1)}.language-options a{display:flex;gap:12px;padding:9px 10px;font-size:13px}.language-flag{font-size:20px}
.hero{padding:88px 2.2vw 0;height:100svh;min-height:650px;display:flex;flex-direction:column}.hero-frame{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f7f7f7}.hero-frame img{width:100%;height:100%;object-fit:contain}.hero-bottom{height:58px;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.22em}.hero-bottom a{display:flex;align-items:center;gap:12px}.hero-bottom i{width:54px;height:1px;background:currentColor}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.reveal.is-visible{opacity:1;transform:none}.section-no,.category-title>span,.craft-block>span,.ed-copy small,.interlude-copy small,.store-panel small{font-size:11px;letter-spacing:.24em}
/* ABOUT: one reading axis. Heading, lead/copy and film move downward naturally. */
.statement{max-width:1260px;margin:auto;padding:150px 40px 170px}.statement-grid{margin-top:48px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.86fr);column-gap:72px;align-items:start}.statement h1{grid-column:1/-1;margin:0 0 62px;font-size:clamp(54px,6vw,82px);font-weight:400;line-height:1.42;letter-spacing:.055em}.statement-copy{grid-column:1;max-width:650px;font-size:16px;line-height:2.2;letter-spacing:.035em}.statement-copy .lead{font-size:21px;margin:0 0 40px}.statement-copy p{margin:0 0 30px}.statement-media{grid-column:2;grid-row:2;align-self:start;width:100%;aspect-ratio:4/5;margin:0;overflow:hidden;background:#f4f2ed}.statement-video,.statement-poster{width:100%;height:100%;object-fit:cover}.statement-poster{display:none}
/* SHURO: copy and pictures occupy separate zones. */
.editorial{position:relative;max-width:1440px;height:980px;margin:0 auto;background:#f3f3f1;overflow:hidden}.ed-copy{position:absolute;z-index:4;left:6%;top:8%;width:500px}.ed-copy p{font-size:18px;line-height:1.95;letter-spacing:.035em;margin:18px 0}.ed-word{position:absolute;z-index:1;right:5%;top:5%;font-size:clamp(100px,13vw,190px);line-height:1;color:rgba(255,255,255,.78);letter-spacing:-.02em}.ed-a,.ed-b{position:absolute;overflow:hidden}.ed-a{left:5%;bottom:5%;width:29%;height:42%}.ed-b{right:5%;bottom:5%;width:55%;height:49%}.ed-a img,.ed-b img{height:100%;object-fit:cover}
.products{padding:150px 0 160px}.category{max-width:1320px;margin:0 auto 150px;padding:0 40px}.category-hero{position:relative;width:100%;aspect-ratio:2.25/1;overflow:hidden;background:#f4f2ed}.category-hero img{height:100%;object-fit:cover}.products-overlay-title{position:absolute;left:5%;bottom:8%;font-family:Arial,sans-serif;font-size:clamp(64px,10vw,138px);font-weight:500;line-height:.85;letter-spacing:-.055em;color:#fff;pointer-events:none}.category-info{max-width:940px;padding:56px 0 68px;border-bottom:1px solid #e7e5e1}.category-title h3{margin:18px 0 6px;font-size:clamp(42px,4.5vw,60px);font-weight:400;letter-spacing:.055em}.category-en{margin:0;font-size:11px;letter-spacing:.2em;color:#817b71}.category-text{max-width:720px;margin-top:34px;font-size:16px;line-height:2.05;letter-spacing:.035em}.category-text p{margin:0 0 22px}.category-text a{display:inline-block;margin-top:8px;padding-bottom:6px;border-bottom:1px solid #777168;font-size:14px}.category-text b{font-weight:300;margin-left:12px}
/* Product stories: one large clickable photo + copy beside it; no duplicate desktop image. */
.story-scroll{margin:0 auto 130px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:6vw;align-items:start}.story-visual{position:sticky;top:10vh;height:76vh;min-height:600px;overflow:hidden;background:#f4f2ed}.story-image{position:absolute;inset:0;opacity:0;transform:scale(1.015);transition:opacity .65s,transform .9s;pointer-events:none}.story-image.is-active{opacity:1;transform:none;z-index:2;pointer-events:auto}.story-image .product-photo-link{display:block;width:100%;height:100%}.story-image img{width:100%;height:100%;object-fit:cover}.story-copy{position:relative}.story-step{min-height:76vh;display:flex;flex-direction:column;justify-content:center;opacity:.24;transition:opacity .35s}.story-step.is-active{opacity:1}.story-step>.product-photo-link{display:none}.story-product-meta{display:flex;align-items:center;justify-content:space-between;gap:16px}.story-product-meta small{font-size:11px;letter-spacing:.18em;color:#817b71}.story-view-product{font-size:10px;letter-spacing:.1em;white-space:nowrap;padding-bottom:4px;border-bottom:1px solid #aaa}.story-step h4{margin:24px 0 26px;font-size:clamp(32px,3vw,44px);font-weight:400;line-height:1.55;letter-spacing:.045em}.story-step p{max-width:440px;margin:0;font-size:16px;line-height:2;letter-spacing:.03em}.story-swipe-hint{display:none}
/* Stairs: portrait crop on the large desktop story too, without beige bars. */
#cleaning .story-image:nth-child(4) img{object-fit:cover;object-position:43% center}
.other-category{max-width:1320px;margin:0 auto 90px;padding:0 40px}.other-inner{display:grid;grid-template-columns:.7fr .6fr 1fr;gap:4vw;align-items:center;padding:72px 0;border-top:1px solid #ddd}.other-photo{height:58vh;overflow:hidden}.other-photo img{height:100%;object-fit:cover}
.craft{display:grid;grid-template-columns:56% 44%;min-height:220vh;background:#f7f7f5}.craft-sticky{position:sticky;top:0;height:100vh;overflow:hidden;background:#f2f0eb}.craft-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.craft-image-base{z-index:1}.craft-image-fade{z-index:2;opacity:0;transform:scale(1.025)}.craft-copy{padding:15vh 7vw}.craft-block{min-height:70vh;display:flex;flex-direction:column;justify-content:center}.craft-block h2{margin:28px 0 34px;font-size:clamp(44px,4.6vw,66px);font-weight:400;line-height:1.5}.craft-block h3{margin:28px 0 32px;font-size:clamp(32px,3.2vw,46px);font-weight:400;line-height:1.55}.craft-block p{font-size:15px;line-height:2.15;letter-spacing:.035em}
.interlude{height:90vh;min-height:700px;position:relative;overflow:hidden;background:#222;color:#fff}.interlude-image{position:absolute;inset:-5%}.interlude-image img{height:100%;object-fit:cover}.interlude:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,20,16,.5),rgba(25,20,16,.05))}.interlude-copy{position:absolute;z-index:2;left:7vw;bottom:11vh}.interlude h2{margin:25px 0 0;font-size:clamp(40px,4.5vw,62px);font-weight:400;line-height:1.55}
.instagram{padding:130px 0 110px;background:#5c5b58;color:#fff}.section-head{max-width:1200px;margin:0 auto 50px;padding:0 40px;display:flex;align-items:end;justify-content:space-between}.section-head>div{display:flex;align-items:baseline;gap:22px}.section-head h2{margin:0;font-size:clamp(42px,5vw,64px);font-weight:300;letter-spacing:.12em}.section-head p{font-size:16px}.ig-feed,.ig-actions{max-width:1200px;margin:auto;padding:0 40px}.lightwidget-widget{width:100%;border:0}.ig-actions{margin-top:36px;display:flex;flex-direction:column;align-items:center}.outline-button{width:570px;max-width:100%;padding:19px;border:1px solid rgba(255,255,255,.85);text-align:center;font-size:15px}.text-link{margin-top:23px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.6);font-size:13px}
.store-cta{display:grid;grid-template-columns:1fr 1fr;min-height:76vh;background:#2d2a27;color:#fff}.store-photo{min-height:620px}.store-photo img{height:100%;object-fit:cover}.store-panel{padding:9vw;display:flex;flex-direction:column;justify-content:center}.store-panel h2{margin:30px 0 65px;font-size:clamp(42px,4.5vw,62px);font-weight:400;line-height:1.5}.store-panel>span{font-size:13px;letter-spacing:.16em}.footer{position:relative;padding:70px 5vw 45px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:6vw;background:#201e1c;color:#d8d4cc;font-size:12px;line-height:1.9}.footer-brand strong{display:block;font-size:20px;letter-spacing:.1em}.footer-brand span{font-size:9px;letter-spacing:.22em}.footer-links{display:flex;flex-direction:column;gap:8px}.copyright{position:absolute;right:5vw;bottom:22px;font-size:9px}
@media(max-width:1100px) and (min-width:821px){.statement-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);column-gap:44px}.statement h1{font-size:58px}.story-scroll{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:4vw}.story-step h4{font-size:34px}}
@media(max-width:820px){
 .keep-line{white-space:normal}.header{height:68px;padding:0 20px}.header.scrolled{height:62px}.brand{width:190px}.menu-button{display:flex;align-items:center;gap:10px;background:none;border:0;font-size:11px;letter-spacing:.15em}.menu-button i{width:20px;height:1px;background:currentColor;position:relative}.menu-button i:after{content:"";position:absolute;left:0;top:6px;width:20px;height:1px;background:currentColor}.nav{position:fixed;inset:0;z-index:-1;width:100vw;height:100dvh;padding:110px 28px 40px;background:#fff;display:flex;flex-direction:column;align-items:flex-start;gap:22px;font-size:30px;opacity:0;visibility:hidden;pointer-events:none}.menu-open .nav{opacity:1;visibility:visible;pointer-events:auto}.nav-store{font-size:13px}.language-select{width:100%;font-size:14px}.language-options{position:static;width:100%;margin-top:10px;box-shadow:none}.hero{padding:68px 0 0;height:auto;min-height:0}.hero-frame{height:auto;flex:none}.hero-frame img{height:auto}.hero-bottom{height:50px;padding:0 18px;font-size:9px}
 .statement{padding:100px 24px 120px}.statement-grid{margin-top:34px;display:block}.statement h1{margin-bottom:48px;font-size:44px;line-height:1.42}.statement-copy{max-width:none;font-size:15px;line-height:2.1}.statement-copy .lead{font-size:20px;margin-bottom:34px}.statement-media{width:100%;aspect-ratio:4/3;margin-top:55px}.statement-video{display:block}.statement-poster{display:none}
 .editorial{height:auto;margin:0;padding:0 0 76px;display:flex;flex-direction:column}.ed-a,.ed-b,.ed-copy,.ed-word{position:relative;inset:auto}.ed-a{order:1;width:100%;height:auto}.ed-a img{height:auto;aspect-ratio:4/5;object-fit:cover}.ed-word{order:2;margin:-24px 0 0 22px;font-size:80px;color:rgba(255,255,255,.88);z-index:2}.ed-copy{order:3;width:auto;margin:30px 24px 48px}.ed-copy p{font-size:17px;line-height:1.95}.ed-b{order:4;width:82%;height:auto;align-self:flex-end}.ed-b img{height:auto;aspect-ratio:4/3;object-fit:cover}
 .products{padding:95px 0 110px}.category{margin-bottom:90px;padding:0}.category-hero{aspect-ratio:1.45/1}.category-hero img{object-position:center}.products-overlay-title{left:20px;bottom:20px;font-size:17vw}.category-info{padding:38px 24px 48px}.category-title h3{font-size:39px}.category-text{margin-top:28px;font-size:15px;line-height:2}.category-text a{font-size:14px}
 /* Mobile: simple horizontal cards. No sticky image, no duplicated visual. */
 .story-scroll{display:block;margin:0 0 88px}.story-visual{display:none}.story-swipe-hint{display:block;padding:0 24px 14px;font-size:11px;letter-spacing:.12em;color:#777}.story-copy{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 20px 8px;scrollbar-width:none}.story-copy::-webkit-scrollbar{display:none}.story-step{display:flex;flex:0 0 84vw;min-height:0;opacity:1;flex-direction:column;justify-content:flex-start;padding:0 20px 26px;background:#f4f2ed;border-radius:22px;overflow:hidden;scroll-snap-align:center}.story-step>.product-photo-link{display:block;order:1;width:calc(100% + 40px);height:340px;margin:0 -20px 22px;overflow:hidden}.story-mobile-image{width:100%;height:100%;object-fit:cover}.story-product-meta{order:2;margin-bottom:12px}.story-product-meta small{font-size:11px}.story-view-product{font-size:9px}.story-step h4{order:3;margin:0 0 14px;font-size:26px;line-height:1.45}.story-step p{order:4;font-size:15px;line-height:1.85}.story-step.is-active{opacity:1}
 /* Explicit requested crop: stairs image fills the same portrait card as coffee-mill. */
 #cleaning [data-step="3"]>.product-photo-link{height:auto;aspect-ratio:3/4}#cleaning [data-step="3"] .story-mobile-image{height:100%}#cleaning [data-step="3"] .story-mobile-image{object-fit:cover;object-position:43% center}
 .other-category{padding:0 24px;margin-bottom:70px}.other-inner{grid-template-columns:1fr;gap:28px;padding:55px 0}.other-photo{height:56vh}.craft{display:block;min-height:0}.craft-sticky{position:relative;height:72vh}.craft-copy{padding:55px 24px 85px}.craft-block{min-height:0;padding:52px 0}.craft-block h2{font-size:42px}.craft-block h3{font-size:33px}.craft-block p{font-size:15px}.interlude{height:72vh;min-height:560px}.interlude-copy{left:24px;bottom:60px}.interlude h2{font-size:36px}.instagram{padding:95px 0}.section-head{padding:0 24px;display:block}.section-head h2{font-size:38px}.section-head p{margin-top:18px}.ig-feed,.ig-actions{padding:0 20px}.store-cta{grid-template-columns:1fr;min-height:0}.store-photo{min-height:0;height:62vh}.store-panel{padding:72px 24px}.store-panel h2{font-size:40px;margin-bottom:55px}.footer{padding:60px 24px 70px;grid-template-columns:1fr;gap:28px;font-size:12px}.copyright{left:24px;right:auto;bottom:25px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.story-image{transition:none}.motion-img{transform:none!important}}

/* v84 final readability / hierarchy adjustments */
@media (min-width:821px){
  .statement-copy{font-size:18px;line-height:2.12}
  .statement-copy .lead{font-size:23px;margin-bottom:30px}
  .category-text{font-size:18px;line-height:1.95}
  .story-step p{font-size:18px;line-height:1.9}
  .craft-block p,.craft-side p,.interlude p{font-size:18px}
}
.products-overlay-title small{font-size:.16em;letter-spacing:.12em;font-weight:400;vertical-align:top;margin-right:.12em}
@media (max-width:820px){
  .statement-copy{font-size:17px;line-height:2.05}
  .statement-copy .lead{font-size:22px;margin-bottom:28px}
  .category-text{font-size:17px;line-height:1.95}
  .story-step p{font-size:17px;line-height:1.82}
  .products-overlay-title small{font-size:.2em}
}


/* v85 — numberless editorial hierarchy */
.products-overlay-title{left:50%!important;right:auto!important;transform:translate(-50%,-50%)!important;text-align:center!important;width:max-content!important;max-width:90%!important;}
.products-overlay-title small{display:none!important;}
.section-no{letter-spacing:.28em;}
.category-title>span,.craft-block>span{letter-spacing:.18em;}
.story-product-meta>small{letter-spacing:.08em;}
.section-head>div{display:block;}
@media(max-width:760px){.products-overlay-title{left:50%!important;transform:translate(-50%,-50%)!important;width:auto!important;max-width:92%!important;white-space:nowrap;}}

/* v86: PRODUCTS scroll-linked fade */
.products-overlay-title{
  --products-scroll-opacity:1;
  --products-scroll-y:0px;
  opacity:var(--products-scroll-opacity);
  transform:translate(-50%, calc(-50% + var(--products-scroll-y)))!important;
  will-change:opacity,transform;
}
@media (prefers-reduced-motion: reduce){
  .products-overlay-title{opacity:1!important;transform:translate(-50%,-50%)!important;}
}
