/* r001: scoped to the new fuwafuwa LP. Shared theme files stay independent. */
html:has(.lp-fuwafuwa-collection) { visibility: visible; }
.lp-fuwafuwa-collection {
  --fw-pink: #fbf4f1;
  background: #f5e9e2; color: #000; padding-bottom: 147px;
  font: 400 16px/1.875 "dnp-shuei-gothic-gin-std", "DNP ShueiGoGinStd", "游ゴシック体", YuGothic, "Yu Gothic", sans-serif;
}
.lp-fuwafuwa-collection *, .lp-fuwafuwa-collection *::before, .lp-fuwafuwa-collection *::after { box-sizing: border-box; }
.lp-fuwafuwa-collection :where(h1,h2,p,figure) { margin: 0; padding: 0; }
.lp-fuwafuwa-collection img { display: block; width: 100%; max-width: 100%; height: auto; }
.lp-fuwafuwa-collection .fw-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.lp-fuwafuwa-collection .fw-canvas { position: relative; max-width: 650px; margin-inline: auto; background: #fff; }
.lp-fuwafuwa-collection .fw-image { position: relative; line-height: 0; }
.lp-fuwafuwa-collection .fw-image--crop { overflow: hidden; }
.lp-fuwafuwa-collection .fw-image--crop img { position: absolute; width: var(--fw-img-w); max-width: none; height: var(--fw-img-h); left: var(--fw-img-x); top: var(--fw-img-y); }
.lp-fuwafuwa-collection .fw-concept { padding: 100px 40px 95px; }
.lp-fuwafuwa-collection :is(.fw-concept,.fw-product-text,.fw-description) > span { display: block; }
.lp-fuwafuwa-collection .fw-section { position: relative; isolation: isolate; }
.lp-fuwafuwa-collection .fw-section::before { content: ""; position: absolute; inset: 0 0 auto; background: var(--fw-pink); z-index: -1; }
.lp-fuwafuwa-collection .fw-description { font-size: 16px; line-height: 30px; overflow-wrap: anywhere; }
.lp-fuwafuwa-collection :is(.fw-heading,.fw-item-heading) { font: 400 28px/1.875 Inter, Arial, sans-serif; }
.lp-fuwafuwa-collection .fw-product-text { font-size: 14px; line-height: 26.25px; letter-spacing: -1px; overflow-wrap: anywhere; }
.lp-fuwafuwa-collection .fw-info { min-width: 0; }
.lp-fuwafuwa-collection .fw-button { display: flex; align-items: center; justify-content: center; width: 245px; max-width: 100%; min-height: 54px; padding: 10px 8px; border-radius: 30px; background: #000; color: #fff; font-size: 16px; line-height: 30px; text-decoration: none; text-align: center; }
.lp-fuwafuwa-collection a.fw-button:is(:hover,:active,:focus-visible) { color: #fff; background: #333; }
.lp-fuwafuwa-collection a.fw-button:focus-visible { outline: 3px solid #8e685c; outline-offset: 4px; }
.lp-fuwafuwa-collection .fw-button--unset { background: #777; }
/* Smooth knit: keep Figma image crops and the overlapping editorial composition. */
.lp-fuwafuwa-collection .fw-section--smooth::before { height: 669.797px; top: 0; }
.lp-fuwafuwa-collection .fw-section--smooth .fw-editorial { position: relative; padding-bottom: 65px; }
.lp-fuwafuwa-collection .fw-smooth-scene { position: relative; aspect-ratio: 650 / 1160; }
.lp-fuwafuwa-collection .fw-smooth-scene .fw-main { position: absolute; left: 0; top: 8.62069%; width: 74.46154%; }
.lp-fuwafuwa-collection .fw-smooth-scene .fw-sub { position: absolute; left: 48.76923%; top: 50.68966%; width: 43.38462%; }
.lp-fuwafuwa-collection .fw-smooth-scene .fw-detail { position: absolute; left: 5.69231%; top: 68.18966%; width: 37.69231%; }
.lp-fuwafuwa-collection .fw-section--smooth .fw-description { position: absolute; left: 53.38462%; top: 1053px; width: 38.61538%; letter-spacing: -1px; }
.lp-fuwafuwa-collection .fw-items { padding: 180px 0; }
.lp-fuwafuwa-collection .fw-item-heading { text-align: center; }
.lp-fuwafuwa-collection .fw-items-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; width: 520px; max-width: calc(100% - 40px); margin: 55px auto 0; }
.lp-fuwafuwa-collection .fw-item-image { aspect-ratio: 245 / 294; overflow: hidden; }
.lp-fuwafuwa-collection .fw-item-image:not(.fw-image--crop) img { height: 100%; object-fit: cover; }
.lp-fuwafuwa-collection .fw-items-grid .fw-info { padding-top: 16px; }
.lp-fuwafuwa-collection .fw-items-grid .fw-product-text { min-height: 132px; }
.lp-fuwafuwa-collection .fw-items-grid .fw-button { margin-top: 45px; }
/* Cardigan: four independent photos; product information stays in document flow. */
.lp-fuwafuwa-collection .fw-section--cardigan { padding-bottom: 180px; }
.lp-fuwafuwa-collection .fw-section--cardigan::before { top: 40px; height: 669.8px; }
.lp-fuwafuwa-collection .fw-cardigan-scene { position: relative; aspect-ratio: 650 / 1262; }
.lp-fuwafuwa-collection .fw-cardigan-scene .fw-ivory-front { position: absolute; left: 6.15385%; top: 10.61807%; width: 60.15385%; }
.lp-fuwafuwa-collection .fw-cardigan-scene .fw-ivory-back { position: absolute; left: 51.69231%; top: 37.55943%; width: 45.38462%; }
.lp-fuwafuwa-collection .fw-cardigan-scene .fw-navy-front { position: absolute; left: 6.15385%; top: 56.97306%; width: 50.30769%; }
.lp-fuwafuwa-collection .fw-cardigan-scene .fw-navy-back { position: absolute; left: 51.69231%; top: 76.62441%; width: 39.84615%; }
.lp-fuwafuwa-collection .fw-section--cardigan > .fw-item { margin-left: 48px; width: 230px; padding-top: 16px; }
.lp-fuwafuwa-collection .fw-section--cardigan .fw-product-text { min-height: 132px; }
.lp-fuwafuwa-collection .fw-section--cardigan .fw-button { width: 188px; margin-top: 10px; }
/* Summer knit: text determines row height on narrow screens. */
.lp-fuwafuwa-collection .fw-section--summer::before { height: 803.188px; }
.lp-fuwafuwa-collection .fw-section--summer .fw-editorial { padding-top: 70px; }
.lp-fuwafuwa-collection .fw-section--summer .fw-main { width: 87.53846%; }
.lp-fuwafuwa-collection .fw-summer-row { display: grid; grid-template-columns: minmax(0,239fr) minmax(0,329fr); gap: 12px; padding: 0 40px 0 30px; margin-top: 40px; }
.lp-fuwafuwa-collection .fw-summer-row .fw-sub { margin-top: -157px; }
.lp-fuwafuwa-collection .fw-section--summer .fw-detail { width: 50.61538%; margin: 30px 0 0 40px; }
/* Shorts. */
.lp-fuwafuwa-collection .fw-section--shorts { padding: 40px 40px 180px; }
.lp-fuwafuwa-collection .fw-section--shorts::before { display: none; }
.lp-fuwafuwa-collection .fw-short-heading { font-size: 20px; line-height: 34px; font-weight: 400; }
.lp-fuwafuwa-collection .fw-section--shorts > .fw-main { width: 93.85965%; margin-top: 20px; }
.lp-fuwafuwa-collection .fw-short-row { display: grid; grid-template-columns: 225px 188px; gap: 20px; align-items: end; margin-top: 10px; }
.lp-fuwafuwa-collection .fw-short-row .fw-button { margin-top: 10px; }
/* Men and gift. */
.lp-fuwafuwa-collection .fw-section--feature { padding: 40px 40px 113px; text-align: center; }
.lp-fuwafuwa-collection .fw-section--men::before { inset: 0 39px auto; height: 263px; background: #817c76; }
.lp-fuwafuwa-collection .fw-section--men .fw-heading { color: #fff; }
.lp-fuwafuwa-collection .fw-section--men .fw-main { width: 80%; margin: 30px auto 0; }
.lp-fuwafuwa-collection .fw-section--men .fw-description { margin-top: 40px; }
.lp-fuwafuwa-collection .fw-section--men .fw-feature-link { margin-top: 30px; }
.lp-fuwafuwa-collection .fw-feature-link .fw-button { width: 220px; margin-inline: auto; }
.lp-fuwafuwa-collection .fw-section--gift { padding-bottom: 180px; }
.lp-fuwafuwa-collection .fw-section--gift::before { height: 337.391px; }
.lp-fuwafuwa-collection .fw-section--gift .fw-button { width: 260px; }
.lp-fuwafuwa-collection .fw-section--gift .fw-heading { font-size: 24px; }
.lp-fuwafuwa-collection .fw-section--gift .fw-main { margin-top: 30px; }
.lp-fuwafuwa-collection .fw-section--gift .fw-description { margin-top: 30px; }
.lp-fuwafuwa-collection .fw-section--gift .fw-feature-link { margin-top: 45px; }
/* Same placement and breakpoint as pajamas, sized for the supplied 36 x 328 art. */
.lp-fuwafuwa-collection .fw-side { position: fixed; width: 44px; height: 336px; top: 50svh; z-index: 5; pointer-events: none; }
.lp-fuwafuwa-collection .fw-side--left { right: calc(50% + 325px + 24px); }
.lp-fuwafuwa-collection .fw-side--right { left: calc(50% + 325px + 24px); }
.lp-fuwafuwa-collection .fw-side img { height: 100%; object-fit: contain; }
.lp-fuwafuwa-collection .fw-side[hidden] { display: none; }
.fw-preview-notice { padding: 10px 20px; background: #222; color: #fff; text-align: center; font: 14px/1.5 sans-serif; }
@media (max-width: 809px) { .lp-fuwafuwa-collection .fw-side { display: none; } }
@media (max-width: 650px) {
  .lp-fuwafuwa-collection { padding-bottom: 80px; }
  .lp-fuwafuwa-collection .fw-concept { padding: 60px 6.15385%; }
  .lp-fuwafuwa-collection .fw-section--smooth::before { top: 0; height: 28%; }
  .lp-fuwafuwa-collection .fw-section--smooth .fw-editorial { padding-bottom: 0; }
  .lp-fuwafuwa-collection .fw-section--smooth .fw-description { position: static; width: auto; margin: 28px 8% 0; }
  .lp-fuwafuwa-collection .fw-items { padding: 80px 0 90px; }
  .lp-fuwafuwa-collection .fw-items-grid { gap: 20px; margin-top: 30px; }
  .lp-fuwafuwa-collection .fw-items-grid .fw-product-text { min-height: 0; }
  .lp-fuwafuwa-collection .fw-items-grid .fw-item { display: flex; flex-direction: column; }
  .lp-fuwafuwa-collection .fw-items-grid .fw-info { display: flex; flex: 1; flex-direction: column; }
  .lp-fuwafuwa-collection .fw-items-grid .fw-button { margin-top: auto; }
  .lp-fuwafuwa-collection .fw-items-grid .fw-product-text { padding-bottom: 25px; }
  .lp-fuwafuwa-collection .fw-section--cardigan { padding-bottom: 90px; }
  .lp-fuwafuwa-collection .fw-section--cardigan::before { top: 6vw; height: 43%; }
  .lp-fuwafuwa-collection .fw-section--cardigan > .fw-item { margin-left: 7.38462%; width: 85%; padding-top: 20px; }
  .lp-fuwafuwa-collection .fw-section--cardigan .fw-product-text { min-height: 0; }
  .lp-fuwafuwa-collection .fw-section--cardigan .fw-button { margin-top: 24px; }
  .lp-fuwafuwa-collection .fw-section--summer::before { height: 45%; }
  .lp-fuwafuwa-collection .fw-section--summer .fw-editorial { padding-top: 40px; }
  .lp-fuwafuwa-collection .fw-summer-row { padding: 0 6.15385% 0 4.61538%; gap: 4%; grid-template-columns: minmax(0,42fr) minmax(0,54fr); margin-top: 25px; }
  .lp-fuwafuwa-collection .fw-summer-row .fw-sub { margin-top: -20vw; }
  .lp-fuwafuwa-collection .fw-section--summer .fw-detail { margin-left: 6.15385%; margin-top: 25px; }
  .lp-fuwafuwa-collection .fw-section--shorts { padding: 30px 6.15385% 90px; }
  .lp-fuwafuwa-collection .fw-section--shorts::before { height: 40%; }
  .lp-fuwafuwa-collection .fw-short-row { grid-template-columns: minmax(0,43fr) minmax(0,53fr); gap: 4%; }
  .lp-fuwafuwa-collection .fw-section--feature { padding: 30px 6.15385% 90px; }
  .lp-fuwafuwa-collection .fw-section--men::before { left: 6%; right: 6%; height: 45%; }
  .lp-fuwafuwa-collection .fw-section--men .fw-description { margin-top: 30px; }
  .lp-fuwafuwa-collection .fw-section--gift::before { height: 42%; }
  .lp-fuwafuwa-collection .fw-section--gift .fw-feature-link { margin-top: 30px; }
}
@media (max-width: 450px) {
  .lp-fuwafuwa-collection { font-size: 13px; }
  .lp-fuwafuwa-collection .fw-concept { padding: 45px 6.15385%; line-height: 2.1; }
  .lp-fuwafuwa-collection .fw-description { font-size: 13px; line-height: 24px; }
  .lp-fuwafuwa-collection .fw-product-text { font-size: 12px; line-height: 22px; letter-spacing: -.5px; }
  .lp-fuwafuwa-collection .fw-items-grid { gap: 15px; }
  .lp-fuwafuwa-collection .fw-button { font-size: 13px; line-height: 24px; min-height: 48px; }
  .lp-fuwafuwa-collection :is(.fw-heading,.fw-item-heading) { font-size: 24px; }
  .lp-fuwafuwa-collection .fw-short-heading { font-size: 16px; line-height: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .lp-fuwafuwa-collection [data-fw-reveal] { opacity: 1 !important; transform: none !important; }
}
/* Keep the longer renamed pants title balanced when its card wraps on mobile. */
.lp-fuwafuwa-collection [data-fw-slot="summer-long-pants"] .fw-product-text > span:nth-child(2) { text-wrap: balance; }
