:root {
  --ink: #1e3e47;
  --deep: #14343e;
  --sky: #dceaf0;
  --mist: #eef5f4;
  --paper: #fbfcfa;
  --sand: #e9dfd2;
  --line: rgba(30, 62, 71, .18);
  --serif: "Libre Baskerville", "Yu Mincho", "Hiragino Mincho ProN", serif;
  --sans: "Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif;
  --mono: "DM Mono", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 16px; line-height: 1.7; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.skip-link { position: fixed; z-index: 100; left: 1rem; top: -4rem; padding: .7rem 1rem; background: var(--ink); color: white; transition: top .2s; }
.skip-link:focus { top: 1rem; }

.site-header { position: absolute; z-index: 20; top: 0; left: 0; width: 100%; transition: background .3s, box-shadow .3s, color .3s; }
.site-header.is-scrolled { position: fixed; background: rgba(251,252,250,.94); box-shadow: 0 1px 0 rgba(30,62,71,.1); backdrop-filter: blur(14px); }
.header-inner { display: flex; justify-content: space-between; align-items: center; height: 88px; width: min(1440px, calc(100% - 80px)); margin: auto; }
.brand { display: inline-block; line-height: 0; }
.brand img { display: block; width: 168px; height: auto; }
.site-nav { display: flex; align-items: center; gap: clamp(18px, 2.2vw, 38px); font: 500 10px/1 var(--mono); letter-spacing: .08em; }
.site-nav a { position: relative; padding: .55rem 0; }
.site-nav a:not(.nav-shop)::after { position: absolute; content: ""; height: 1px; bottom: 0; left: 0; width: 0; background: currentColor; transition: width .25s; }
.site-nav a:hover::after, .site-nav a:focus-visible::after { width: 100%; }
.nav-shop { padding: 12px 17px !important; border: 1px solid var(--ink); }
.nav-shop:hover { background: var(--ink); color: var(--paper); }
.menu-button { display: none; }

.hero { position: relative; min-height: min(900px, 100svh); overflow: hidden; background: #e5f0f1; }
.hero::before { position: absolute; inset: 0; content: ""; background: linear-gradient(100deg, rgba(251,252,250,.92) 0%, rgba(251,252,250,.72) 34%, rgba(251,252,250,.08) 66%); }
.hero-inner { position: relative; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; min-height: min(900px, 100svh); width: min(1320px, calc(100% - 160px)); margin: auto; }
.hero-copy { position: relative; z-index: 2; padding-top: 65px; }
.eyebrow, .section-kicker { margin: 0; font: 500 10px/1.3 var(--mono); letter-spacing: .13em; }
.hero h1 { margin: 24px 0 31px; font-family: var(--serif); font-size: clamp(38px, 4.3vw, 70px); font-weight: 400; line-height: 1.38; letter-spacing: -.09em; }
.hero h1 em, .quality h2 em { font-style: italic; font-weight: 400; }
.hero-lead { margin: 0 0 35px; font-size: 15px; line-height: 2.15; }
.only-mobile { display: none; }
.text-link { display: inline-flex; align-items: center; gap: 18px; width: max-content; padding-bottom: 7px; border-bottom: 1px solid currentColor; font-size: 13px; line-height: 1.4; transition: opacity .2s, gap .2s; }
.text-link:hover { gap: 27px; opacity: .72; }
.text-link span { font-size: 16px; }
.hero-scroll { position: absolute; z-index: 3; left: max(40px, calc((100% - 1320px)/2)); bottom: 35px; display: flex; align-items: center; gap: 13px; font: 10px/1 var(--mono); letter-spacing: .1em; }
.hero-scroll span { width: 29px; height: 1px; background: currentColor; }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(2px); }
.glow-one { width: 46vw; height: 46vw; right: -10vw; top: -14vw; background: rgba(147,204,208,.34); }
.glow-two { width: 27vw; height: 27vw; left: 38vw; bottom: -14vw; background: rgba(255,255,255,.7); }

.hero-object { position: relative; display: grid; place-items: end center; width: min(540px, 95%); height: 570px; justify-self: center; margin-top: 64px; }
.hero-product-halo { position: absolute; top: 39px; width: 390px; height: 390px; border: 1px solid rgba(255,255,255,.54); border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.54) 0%, rgba(255,255,255,.18) 45%, transparent 70%); }
.hero-product-image { position: relative; z-index: 1; display: block; width: min(510px, 100%); height: 555px; object-fit: contain; object-position: center bottom; filter: drop-shadow(24px 30px 19px rgba(22,65,74,.16)); }

.section-padding { padding-right: max(40px, calc((100% - 1320px)/2)); padding-left: max(40px, calc((100% - 1320px)/2)); }
.intro { padding-top: 168px; padding-bottom: 175px; background: var(--paper); }
.intro-grid { display: grid; grid-template-columns: 1fr 2fr; gap: 8.2%; }
.intro-main { max-width: 765px; }
.intro-overline { margin: 0 0 20px; font: 10px/1 var(--mono); letter-spacing: .14em; }
h2 { margin: 0; font-family: var(--serif); font-size: clamp(31px, 3.1vw, 51px); font-weight: 400; line-height: 1.5; letter-spacing: -.09em; }
.body-copy { margin: 36px 0 31px; font-size: 14px; line-height: 2.25; }

.values { border-top: 1px solid var(--line); background: #f2f5f1; }
.values-head { display: grid; grid-template-columns: 1fr 2fr; gap: 8.2%; padding-top: 52px; padding-bottom: 76px; }
.values-lead { margin: 0; font-family: var(--serif); font-size: clamp(25px, 2.3vw, 36px); line-height: 1.55; letter-spacing: -.07em; }
.value-list { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.value-card { display: grid; grid-template-columns: auto 1fr; gap: 22px; min-height: 267px; padding: 44px max(32px, calc((100vw - 1320px)/6)); border-right: 1px solid var(--line); }
.value-card:last-child { border-right: 0; }
.value-number { margin: 2px 0; font: 10px/1 var(--mono); }
.value-card h3 { margin: 0 0 16px; font-size: 16px; font-weight: 600; }
.value-card p:not(.value-number) { margin: 0; font-size: 12px; line-height: 2; }

.products { padding-top: 154px; padding-bottom: 160px; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 63px; }
.section-heading h2 { margin-top: 22px; }
.product-grid { display: grid; grid-template-columns: 1.05fr 1fr 1fr; gap: 16px; }
.product-card { position: relative; min-height: 480px; overflow: hidden; }
.product-card-blue { background: #e0edf0; }
.product-card-sand { background: #d7e7e8; }
.product-card-advance { color: #e8f1ee; background: #245865; }
.product-art { position: absolute; inset: 0 0 110px; overflow: hidden; }
.product-art::before { position: absolute; content: ""; width: 230px; height: 230px; top: 56px; left: calc(50% - 115px); border-radius: 50%; background: rgba(255,255,255,.4); }
.product-art-spray { display: grid; place-items: end center; }.product-art-spray::before { background: rgba(255,255,255,.5); }.product-photo { position: relative; z-index: 2; display: block; width: 80%; height: 100%; object-fit: contain; object-position: center bottom; filter: drop-shadow(15px 18px 12px rgba(21,62,72,.15)); }
.product-art-towel { display: grid; place-items: center; }.product-art-towel::before { width: 250px; height: 250px; top: 48px; left: calc(50% - 125px); background: rgba(255,255,255,.23); }.product-photo-towel { width: 92%; height: 91%; transform: rotate(-4deg) translateY(-2px); filter: drop-shadow(17px 19px 13px rgba(25,74,88,.2)); }
.product-art-advance { display: grid; place-items: end center; }.product-art-advance::before { background: rgba(255,255,255,.1); }.product-photo-advance { width: 80%; height: 105%; object-position: center bottom; filter: drop-shadow(16px 20px 13px rgba(0,0,0,.22)); }
.product-meta { position: absolute; z-index: 4; display: flex; align-items: end; justify-content: space-between; right: 24px; bottom: 23px; left: 24px; }
.product-meta p { margin: 0 0 9px; font: 9px/1 var(--mono); letter-spacing: .12em; }
.product-meta h3 { margin: 0; font-size: 17px; font-weight: 500; line-height: 1.65; }
.product-meta span { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid currentColor; border-radius: 50%; font-size: 15px; transition: transform .25s; }
.product-card:hover .product-meta span { transform: rotate(45deg); }
.ultra-feature { position: relative; display: grid; grid-template-columns: .8fr 1.2fr; min-height: 368px; margin-top: 16px; overflow: hidden; color: #edf4f1; background: #173e48; }.ultra-copy { position: relative; z-index: 2; align-self: center; padding: 45px clamp(28px, 4vw, 62px); }.ultra-copy p { margin: 0 0 18px; color: #b9d2cf; font: 9px/1 var(--mono); letter-spacing: .12em; }.ultra-copy h3 { margin: 0 0 26px; font-family: var(--serif); font-size: clamp(26px, 2.6vw, 39px); font-weight: 400; line-height: 1.35; letter-spacing: -.07em; }.ultra-copy > span { display: flex; align-items: center; gap: 15px; font-size: 12px; }.ultra-adoption { margin-top: 18px; padding-left: 13px; border-left: 2px solid #88beb7; }.ultra-adoption small { display: block; margin-bottom: 5px; color: #a7d3cd; font: 9px/1.3 var(--mono); letter-spacing: .11em; }.ultra-adoption strong { display: block; color: #f1f8f5; font: 400 15px/1.62 var(--serif); letter-spacing: -.04em; }.ultra-note { display: block; width: fit-content; margin-top: 15px; padding: 6px 9px; border: 1px solid rgba(201,229,223,.42); color: #c9e5df; font: 9px/1.55 var(--mono); letter-spacing: .04em; }.ultra-copy b { display: grid; place-items: center; width: 26px; height: 26px; border: 1px solid currentColor; border-radius: 50%; font-size: 14px; font-weight: 400; transition: transform .25s; }.ultra-feature:hover .ultra-copy b { transform: rotate(45deg); }.ultra-media { position: relative; min-height: 368px; overflow: hidden; background: radial-gradient(circle at 72% 36%, rgba(70,151,190,.26), transparent 42%); }.ultra-media::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, #173e48 0%, rgba(23,62,72,.16) 36%, transparent 68%); }.ultra-media img { position: absolute; z-index: 1; right: -3%; bottom: -34%; width: min(720px, 106%); height: 139%; object-fit: contain; object-position: right bottom; filter: drop-shadow(16px 19px 16px rgba(0,0,0,.25)); transition: transform .45s ease; }.ultra-feature:hover .ultra-media img { transform: scale(1.025); }

.scenes { display: grid; grid-template-columns: .9fr 1.1fr; gap: 8%; align-items: center; min-height: 690px; color: #e9f1ef; background: var(--deep); }
.scene-copy .section-kicker { color: #b8d3d0; }
.scene-copy h2 { margin-top: 23px; }
.scene-copy .body-copy { color: #cfdddd; }
.scene-copy .text-link { color: #fff; }
.scene-gallery { display: grid; grid-template: repeat(2, 205px) / repeat(2, 1fr); gap: 12px; }
.scene { position: relative; isolation: isolate; overflow: hidden; padding: 17px; color: #f7fbf8; background: #517f82; }
.scene::before, .scene::after { position: absolute; z-index: -1; content: ""; transition: transform .55s cubic-bezier(.2,.7,.2,1), opacity .4s ease; }
.scene::before { top: -12%; left: -20%; width: 140%; height: 97%; border-radius: 50%; opacity: .88; }
.scene::after { inset: 0; background: linear-gradient(0deg, rgba(9,38,46,.88) 0%, rgba(12,50,58,.22) 58%, rgba(255,255,255,.03) 100%); }
.scene-home { background: #76978f; }.scene-home::before { background: radial-gradient(circle at 70% 86%, #dbe9da 0 28%, #b4d0c4 53%, transparent 54%); }.scene-out { background: #a87f60; }.scene-out::before { background: radial-gradient(circle at 78% 87%, #f0d7b3 0 29%, #d0ad86 54%, transparent 55%); }.scene-preparedness { background: #557f89; }.scene-preparedness::before { background: radial-gradient(circle at 69% 90%, #c8dde0 0 28%, #9ebec4 55%, transparent 56%); }.scene-professional { background: #687f87; }.scene-professional::before { background: radial-gradient(circle at 68% 87%, #d5e2e4 0 29%, #a8c0c5 54%, transparent 55%); }
.scene-number { position: relative; z-index: 2; display: block; font: 10px/1 var(--mono); }
.scene-text { position: absolute; z-index: 3; right: 16px; bottom: 15px; left: 16px; }
.scene-text p { margin: 0; font: 10px/1 var(--mono); letter-spacing: .11em; }
.scene-text h3 { max-width: 205px; max-height: 0; margin: 0; overflow: hidden; color: #fff; font-size: 17px; font-weight: 500; line-height: 1.45; letter-spacing: .01em; opacity: 0; transform: translateY(7px); transition: max-height .45s ease, margin .35s ease, opacity .3s ease, transform .4s ease; }
.scene-text > span { display: block; max-height: 0; overflow: hidden; margin-top: 0; color: rgba(247,251,248,.82); font-size: 10px; line-height: 1.55; letter-spacing: .04em; opacity: 0; transform: translateY(7px); transition: max-height .45s ease, margin .35s ease, opacity .3s ease .04s, transform .4s ease .04s; }
.scene-product { position: absolute; z-index: 1; right: -2%; bottom: -10%; width: 57%; height: 83%; margin: 0; opacity: .45; pointer-events: none; transform: translate(12px, 12px) rotate(-4deg); transition: opacity .35s ease, transform .55s cubic-bezier(.2,.7,.2,1), filter .35s ease; }
.scene-product img { width: 100%; height: 100%; object-fit: contain; object-position: right bottom; mix-blend-mode: multiply; filter: drop-shadow(8px 12px 10px rgba(8,39,45,.3)); }
.scene-product-portable { right: -6%; bottom: -17%; width: 59%; height: 86%; }.scene-product-portable img, .scene-product-bosai img { mix-blend-mode: normal; }.scene-product-bosai { right: -9%; bottom: -12%; width: 69%; height: 87%; }.scene-product-ultra { right: -17%; bottom: -15%; width: 88%; height: 98%; }
@media (hover: hover) { .scene:hover::before { transform: scale(1.13) translateY(-4px); opacity: 1; }.scene:hover::after { opacity: .9; }.scene:hover .scene-product { opacity: .96; transform: translate(0, 0) rotate(0); filter: saturate(1.04); }.scene:hover .scene-text h3 { max-height: 58px; margin-top: 9px; opacity: 1; transform: translateY(0); }.scene:hover .scene-text > span { max-height: 32px; margin-top: 8px; opacity: 1; transform: translateY(0); } }

.quality { position: relative; display: grid; place-items: center; min-height: 700px; overflow: hidden; color: #ecf4f0; background: #265c64; text-align: center; }
.quality-inner { position: relative; z-index: 2; padding: 130px 30px; }.section-kicker-light { color: #b8d4cf; }.quality h2 { margin-top: 25px; font-size: clamp(34px, 4vw, 58px); }.quality-inner > p:not(.section-kicker) { margin: 29px 0 35px; font-size: 14px; line-height: 2.2; color: #d4e2df; }.quality small { display: block; margin-top: 21px; color: #bed2ce; font-size: 10px; }.quality-orbit { position: absolute; border: 1px solid rgba(231,247,239,.18); border-radius: 50%; }.orbit-outer { width: min(800px, 98vw); height: min(800px, 98vw); }.orbit-inner { width: min(535px, 70vw); height: min(535px, 70vw); }.quality::before { position: absolute; content: ""; width: 330px; height: 330px; border-radius: 50%; background: rgba(126,210,204,.16); filter: blur(45px); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 29px; min-height: 52px; padding: 0 24px; font-size: 13px; transition: background .25s, color .25s, gap .25s; }.button:hover { gap: 35px; }.button-light { color: var(--deep); background: #eef4ef; }.button-light:hover { background: #fff; }

.contents { padding-top: 154px; padding-bottom: 160px; }.contents-description { margin: 0; font-size: 12px; line-height: 2; }.article-list { border-top: 1px solid var(--line); }.article-item { display: grid; grid-template-columns: 9% 21% 1fr auto; align-items: center; min-height: 111px; gap: 1rem; border-bottom: 1px solid var(--line); transition: padding .25s, background .25s; }.article-item:hover { padding: 0 17px; background: #f1f5f2; }.article-index, .article-type { font: 10px/1 var(--mono); letter-spacing: .1em; }.article-type { color: #658388; }.article-title { font-family: var(--serif); font-size: 19px; letter-spacing: -.04em; }.article-arrow { font-size: 21px; }

.shop { padding-top: 82px; padding-bottom: 90px; background: #dbe8e4; }.shop-inner { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-top: 27px; }.shop-actions { display: flex; align-items: center; gap: 33px; }.shop-note { max-width: 225px; margin: 0; font-size: 11px; line-height: 1.9; }.button-dark { color: #eef5f2; background: var(--ink); }.button-dark:hover { background: #315c63; }.shop .text-link { font-size: 12px; }
.site-footer { padding: 48px max(40px, calc((100% - 1320px)/2)) 30px; color: #dfeae7; background: #183940; }.footer-top { display: flex; justify-content: space-between; align-items: center; padding-bottom: 48px; }.brand-footer { filter: brightness(0) invert(1); }.brand-footer img { width: 186px; }.footer-top > p { margin: 0; color: #a7c0bd; font: 10px/1 var(--mono); letter-spacing: .1em; }.footer-company-return { display: grid; grid-template-columns: 1fr auto; column-gap: 18px; align-items: center; margin-bottom: 33px; padding: 17px 20px 18px; border: 1px solid rgba(232,246,242,.33); color: #eef6f3; transition: border-color .25s, color .25s, background .25s; }.footer-company-return span { grid-column: 1; color: #a8c9c3; font: 9px/1 var(--mono); letter-spacing: .11em; }.footer-company-return strong { grid-column: 1; margin-top: 7px; font: 400 18px/1.25 var(--serif); letter-spacing: -.03em; }.footer-company-return i { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-size: 20px; font-style: normal; }.footer-company-return:hover, .footer-company-return:focus-visible { border-color: #dcebe7; color: #173b43; background: #dcebe7; outline: 0; }.footer-company-return:hover span, .footer-company-return:focus-visible span { color: #4b7477; }.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-top: 23px; border-top: 1px solid rgba(232,246,242,.2); color: #a7c0bd; font: 9px/1 var(--mono); letter-spacing: .06em; }.footer-bottom p { margin: 0; }.prototype-note { text-align: right; }

.js .reveal { opacity: 0; transform: translateY(16px); transition: opacity .7s ease, transform .7s ease; }.js .reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 900px) {
  .header-inner { height: 70px; width: calc(100% - 40px); }.site-nav { gap: 16px; font-size: 9px; }.nav-shop { padding: 10px 13px !important; }.hero-inner { width: calc(100% - 80px); }.hero-object { transform: scale(.88); transform-origin: center right; }.section-padding { padding-right: 40px; padding-left: 40px; }.value-card { padding-right: 30px; padding-left: 30px; }.scene-gallery { grid-template-rows: repeat(2, 160px); }.product-card { min-height: 430px; }
}

@media (max-width: 680px) {
  .site-header { position: absolute; }.header-inner { width: calc(100% - 40px); }.brand img { width: 145px; }.site-nav { position: absolute; top: 70px; left: 0; right: 0; display: grid; gap: 0; padding: 12px 20px 20px; background: rgba(251,252,250,.98); box-shadow: 0 14px 20px rgba(20,52,62,.07); opacity: 0; pointer-events: none; transform: translateY(-12px); transition: opacity .2s, transform .2s; }.site-nav.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }.site-nav a { padding: 13px 0; border-bottom: 1px solid var(--line); }.site-nav .nav-shop { margin-top: 12px; border: 1px solid var(--ink); text-align: center; }.menu-button { display: grid; align-content: center; gap: 6px; width: 39px; height: 39px; padding: 0; border: 1px solid var(--ink); border-radius: 0; color: var(--ink); background: transparent; }.menu-button span { display: block; width: 15px; height: 1px; margin: 0 auto; background: currentColor; transition: transform .2s; }.menu-button[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }.menu-button[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .hero { min-height: 760px; }.hero::before { background: linear-gradient(180deg, rgba(251,252,250,.9) 0%, rgba(251,252,250,.72) 50%, rgba(251,252,250,.04) 100%); }.hero-inner { display: block; width: calc(100% - 48px); min-height: 760px; }.hero-copy { padding-top: 146px; }.eyebrow { font-size: 9px; }.hero h1 { margin-top: 17px; margin-bottom: 21px; font-size: 39px; line-height: 1.42; }.hero-lead { margin-bottom: 24px; font-size: 13px; line-height: 2; }.only-mobile { display: block; }.hero-object { position: absolute; right: -27px; bottom: -87px; width: 405px; height: 430px; margin: 0; transform: scale(.75); transform-origin: bottom right; }.hero-product-halo { top: 14px; width: 315px; height: 315px; }.hero-product-image { width: 430px; height: 460px; }.hero-scroll { display: none; }.glow-one { width: 92vw; height: 92vw; right: -27vw; top: 47%; }.glow-two { width: 70vw; height: 70vw; left: -29vw; bottom: -18vw; }
  .section-padding { padding-right: 24px; padding-left: 24px; }.intro { padding-top: 86px; padding-bottom: 89px; }.intro-grid, .values-head { display: block; }.intro .section-kicker { margin-bottom: 49px; }.intro-overline { margin-bottom: 16px; }.intro h2, .section-heading h2 { font-size: 31px; }.body-copy { margin-top: 25px; font-size: 13px; line-height: 2.15; }.values-head { padding-top: 25px; padding-bottom: 46px; }.values-head .section-kicker { margin-bottom: 33px; }.values-lead { font-size: 26px; }.value-list { display: block; }.value-card { min-height: auto; padding: 33px 24px 35px; border-right: 0; border-bottom: 1px solid var(--line); }.value-card:last-child { border-bottom: 0; }.value-card h3 { margin-bottom: 9px; }.value-card p:not(.value-number) { font-size: 12px; }
  .products { padding-top: 84px; padding-bottom: 89px; }.section-heading { display: block; margin-bottom: 38px; }.desktop-link { display: none; }.product-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }.product-card { min-height: 400px; }.product-card:first-child { min-height: 455px; }.product-meta { right: 19px; bottom: 19px; left: 19px; }.product-art { bottom: 98px; }.ultra-feature { grid-template-columns: 1fr; min-height: 520px; margin-top: 10px; }.ultra-copy { align-self: start; padding: 32px 25px; }.ultra-copy h3 { font-size: 30px; }.ultra-media { position: absolute; right: 0; bottom: 0; left: 0; min-height: 330px; }.ultra-media::after { background: linear-gradient(180deg, #173e48 0%, rgba(23,62,72,.1) 43%, transparent 74%); }.ultra-media img { right: -9%; bottom: -34%; width: 114%; height: 129%; }
  .scenes { display: block; min-height: 0; padding-top: 84px; padding-bottom: 85px; }.scene-copy h2 { font-size: 31px; }.scene-copy .body-copy { margin-bottom: 26px; }.scene-gallery { grid-template: repeat(2, 168px) / repeat(2, 1fr); gap: 7px; margin-top: 55px; }.scene { padding: 11px; }.scene-number { font-size: 9px; }.scene-text { right: 10px; bottom: 10px; left: 10px; }.scene-text p { font-size: 8px; }.scene-text h3 { max-width: 135px; max-height: 48px; margin-top: 7px; font-size: 12px; line-height: 1.42; opacity: 1; transform: none; }.scene-text > span { max-width: 132px; max-height: 31px; margin-top: 5px; font-size: 8px; line-height: 1.45; opacity: 1; transform: none; }.scene-product { right: -11%; bottom: 0; width: 64%; height: 78%; opacity: .7; transform: translate(0, 0) rotate(-2deg); }.scene-product-portable { right: -14%; bottom: -4%; width: 69%; }.scene-product-bosai { right: -20%; bottom: -4%; width: 82%; }.scene-product-ultra { right: -27%; bottom: -7%; width: 103%; }
  .quality { min-height: 610px; }.quality-inner { padding: 90px 20px; }.quality h2 { font-size: 37px; }.quality-inner > p:not(.section-kicker) { font-size: 12px; }.quality-inner > p br { display: none; }.quality small { font-size: 9px; line-height: 1.8; }.orbit-outer { width: 540px; height: 540px; }.orbit-inner { width: 340px; height: 340px; }
  .contents { padding-top: 84px; padding-bottom: 90px; }.contents-description { margin-top: 23px; font-size: 11px; }.article-item { grid-template-columns: 33px 1fr auto; min-height: 94px; gap: 9px; }.article-type { display: none; }.article-title { font-size: 15px; }.article-arrow { font-size: 18px; }.shop { padding-top: 52px; padding-bottom: 55px; }.shop-inner { display: block; margin-top: 22px; }.shop h2 { font-size: 29px; }.shop-actions { display: grid; justify-items: start; gap: 18px; margin-top: 31px; }.shop-note { max-width: 250px; font-size: 11px; }.button { min-height: 49px; font-size: 12px; }.site-footer { padding: 39px 24px 24px; }.footer-top { align-items: flex-start; padding-bottom: 38px; }.footer-top > p { max-width: 110px; font-size: 8px; line-height: 1.6; text-align: right; }.footer-company-return { margin-bottom: 26px; padding: 15px 16px 16px; }.footer-company-return strong { font-size: 17px; }.footer-bottom { display: flex; flex-wrap: wrap; gap: 13px 17px; padding-top: 20px; font-size: 8px; }.footer-bottom p:last-child { width: 100%; opacity: .65; }.prototype-note { width: 100%; text-align: left; opacity: .65; }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } .js .reveal { opacity: 1; transform: none; } }

/* One-page brand-site sections */
.lineup-summary { display: grid; grid-template-columns: minmax(230px, .7fr) 1.3fr; gap: 40px 8%; margin-top: 16px; padding: 56px 60px 38px; border: 1px solid var(--line); background: #f1f5f2; }
.lineup-summary h3 { margin: 18px 0 0; font: 400 clamp(28px, 2.6vw, 39px)/1.4 var(--serif); letter-spacing: -.07em; }
.lineup-summary ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; margin: 0; padding: 0; list-style: none; }
.lineup-summary li { display: flex; flex-direction: column; gap: 7px; min-height: 86px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.lineup-summary strong { font-size: 13px; font-weight: 600; line-height: 1.7; }.lineup-summary span { color: #58767d; font: 10px/1.8 var(--mono); letter-spacing: .02em; }.lineup-summary sup { font-size: 8px; }.lineup-note { grid-column: 1 / -1; margin: -10px 0 0; color: #60787d; font-size: 10px; line-height: 1.9; }
.story-list { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.story-list span { display: flex; align-items: center; min-height: 122px; padding: 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: #416a70; font: 500 11px/1.4 var(--mono); letter-spacing: .1em; background: #f2f5f1; }

/* Product information, evidence, and brand story */
.lineup-intro { margin: 18px 0 0; max-width: 280px; font-size: 12px; line-height: 2; }
.product-grid { grid-template-columns: 1.08fr .92fr; grid-template-rows: repeat(2, minmax(300px, 1fr)); gap: 16px; }
.product-card { min-height: 0; }.product-card-standard { grid-row: 1 / span 2; min-height: 648px; color: #f2f7f6; background: radial-gradient(circle at 74% 29%, #aed7d8 0, #699da4 29%, #24545e 72%); }.product-card-standard .product-art { inset: 0; }.product-card-standard .product-art::before { display: none; }.product-card-standard .product-art::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(16,54,64,.72) 0%, rgba(16,54,64,.19) 48%, rgba(16,54,64,0) 100%); }.product-card-standard .product-photo { position: absolute; z-index: 1; right: 4%; bottom: 4%; width: 63%; height: 89%; object-fit: contain; object-position: center; filter: drop-shadow(18px 26px 19px rgba(6,34,43,.34)); }.product-card-standard .product-orbit { position: absolute; z-index: 0; right: 12%; top: 12%; width: 57%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; }.product-card-standard .product-meta { z-index: 4; display: block; right: auto; left: 36px; bottom: 40px; max-width: 240px; }.product-card-standard .product-meta h3 { font-family: var(--serif); font-size: 31px; font-weight: 400; line-height: 1.4; letter-spacing: -.07em; }.product-card-standard .product-meta p { margin-bottom: 15px; }.product-size { display: block; margin-top: 16px; color: #c9e1df; font: 9px/1.6 var(--mono); letter-spacing: .06em; }
.product-card-towel { min-height: 316px; color: #f5fbfb; background: #257eab; }.product-card-towel .product-art { inset: 0; }.product-card-towel .product-art::before { display: none; }.product-card-towel .product-art::after { position: absolute; z-index: 1; inset: 0; content: ""; background: linear-gradient(0deg, rgba(8,55,80,.75), transparent 52%); }.product-card-towel .product-photo-towel { width: 89%; height: 89%; transform: none; object-fit: contain; object-position: center; filter: drop-shadow(12px 18px 10px rgba(12,53,74,.22)); }.product-card-towel .product-meta, .product-card-advance .product-meta { z-index: 4; display: block; right: 26px; left: 26px; bottom: 24px; }.product-card-towel .product-meta h3, .product-card-advance .product-meta h3 { font-family: var(--serif); font-size: 22px; font-weight: 400; line-height: 1.45; letter-spacing: -.06em; }.product-card-towel .product-meta p, .product-card-advance .product-meta p { margin-bottom: 11px; }
.product-card-advance { min-height: 316px; color: #eef7f5; background: radial-gradient(circle at 72% 28%, #537c88 0%, #1d4551 49%, #112f38 100%); }.product-card-advance .product-art { inset: 0; }.product-card-advance .product-art::before { display: none; }.product-card-advance .product-art::after { position: absolute; z-index: 1; inset: 0; content: ""; background: linear-gradient(90deg, rgba(12,38,47,.73), transparent 66%); }.product-card-advance .product-photo-advance { position: absolute; z-index: 1; right: 8%; bottom: 4%; width: 45%; height: 88%; object-fit: contain; object-position: center; filter: drop-shadow(15px 18px 15px rgba(0,0,0,.35)); }.product-card-advance .product-orbit { position: absolute; z-index: 0; right: 10%; top: 18%; width: 37%; aspect-ratio: 1; border: 1px solid rgba(202,238,235,.28); border-radius: 50%; }.product-card-advance .product-size { color: #b6d8d4; }
.ultra-feature { min-height: 445px; }.ultra-media { min-height: 445px; background: radial-gradient(circle at 70% 42%, rgba(80,167,216,.34), transparent 47%), #173e48; }.ultra-media img { right: 2%; bottom: 4%; width: min(700px, 92%); height: 88%; object-fit: contain; object-position: right center; }.ultra-media::after { background: linear-gradient(90deg, #173e48 0%, rgba(23,62,72,.16) 52%, transparent 85%); }
.lineup-summary { grid-template-columns: minmax(230px, .62fr) 1.38fr; }.lineup-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }.lineup-product-card { min-width: 0; }.lineup-product-image { position: relative; display: grid; place-items: center; height: 152px; margin: 0 0 14px; overflow: hidden; background: #dcebed; }.lineup-product-image::after { position: absolute; inset: auto 0 0; height: 30%; content: ""; background: linear-gradient(transparent, rgba(27,68,77,.12)); pointer-events: none; }.lineup-product-image img { position: relative; z-index: 1; display: block; width: 80%; height: 89%; object-fit: contain; object-position: center; filter: drop-shadow(8px 11px 7px rgba(16,61,72,.18)); }.lineup-product-image-spray { background: #bcdce0; }.lineup-product-image-spray img { width: 56%; height: 89%; }.lineup-product-image-advance { background: #254f5a; }.lineup-product-image-advance img { width: 44%; height: 89%; }.lineup-product-image-towel { background: #3186b4; }.lineup-product-image-towel img { width: 89%; height: 89%; object-fit: contain; filter: drop-shadow(8px 11px 7px rgba(16,61,72,.18)); }.lineup-product-image-ultra { background: #254c5c; }.lineup-product-image-ultra img { width: 91%; height: 89%; object-fit: contain; object-position: center; }.lineup-product-image-portable, .lineup-product-image-bosai { align-content: center; color: #e5f2ee; background: #507984; }.lineup-product-image-bosai { background: #638b91; }.lineup-product-image-portable b, .lineup-product-image-bosai b { position: relative; z-index: 1; display: block; font: 400 43px/.8 var(--serif); letter-spacing: -.08em; }.lineup-product-image-portable b span, .lineup-product-image-bosai b span { margin-left: 3px; font: 500 13px/1 var(--mono); letter-spacing: 0; }.lineup-product-image-portable em, .lineup-product-image-bosai em { position: relative; z-index: 1; margin-top: 11px; font: 9px/1 var(--mono); font-style: normal; letter-spacing: .11em; }.lineup-product-card > p { margin: 0 0 7px; color: #648489; font: 8px/1.4 var(--mono); letter-spacing: .1em; }.lineup-product-card h4 { min-height: 46px; margin: 0 0 7px; font-size: 12px; font-weight: 600; line-height: 1.7; }.lineup-product-card > span { display: block; min-height: 32px; color: #58767d; font: 9px/1.7 var(--mono); letter-spacing: .01em; }.lineup-product-card sup { font-size: 7px; }
.product-details { margin-top: 110px; }
.detail-heading { display: grid; grid-template-columns: minmax(220px, .7fr) 1.3fr; gap: 8%; align-items: end; margin-bottom: 32px; }
.detail-heading h3 { margin: 0; font: 400 clamp(28px, 2.65vw, 40px)/1.45 var(--serif); letter-spacing: -.07em; }
.primary-detail { display: grid; grid-template-columns: minmax(240px, .76fr) 1.24fr; gap: 7%; padding: clamp(36px, 5vw, 72px); background: #e5f0f1; }
.detail-number { margin: 0 0 20px; color: #527378; font: 10px/1 var(--mono); letter-spacing: .12em; }
.primary-detail h4, .family-detail h4 { margin: 0; font: 400 clamp(28px, 2.65vw, 40px)/1.37 var(--serif); letter-spacing: -.07em; }
.primary-detail-copy > p:not(.detail-number) { margin: 30px 0 0; max-width: 380px; font-size: 13px; line-height: 2.1; }
.spec-list { margin: 0; border-top: 1px solid var(--line); }
.spec-list div { display: grid; grid-template-columns: 110px 1fr; gap: 22px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.spec-list dt { color: #5a777c; font: 10px/1.8 var(--mono); letter-spacing: .08em; }.spec-list dd { margin: 0; font-size: 13px; line-height: 1.9; }
.family-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
.family-detail { min-height: 370px; padding: clamp(30px, 4vw, 56px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fbfcfa; }
.family-detail h4 { font-size: clamp(25px, 2.25vw, 34px); }.family-detail > p:not(.detail-number) { max-width: 430px; min-height: 76px; margin: 25px 0 32px; font-size: 12px; line-height: 2; }.family-detail dl { display: grid; gap: 8px; margin: 0; }.family-detail dl div { display: grid; grid-template-columns: 84px 1fr; gap: 14px; }.family-detail dt { color: #527378; font: 9px/1.8 var(--mono); letter-spacing: .05em; }.family-detail dd { margin: 0; font-size: 11px; line-height: 1.8; }.family-detail-warm { background: #f2eee6; }.family-detail-blue { background: #e9f1f3; }
.family-detail-professional { grid-column: 1 / -1; min-height: 320px; color: #e9f3f0; background: #1d4b55; }.family-detail-professional .detail-number, .family-detail-professional dt { color: #b6d6d1; }.family-detail-professional > p:not(.detail-number) { max-width: 600px; }.family-detail-professional dd { max-width: 660px; }

/* User-authorized Amazon official image: portable eco set */
.lineup-product-image-portable { background: #f6f8f6; }
.lineup-product-image-portable img { width: 88%; height: 89%; object-fit: contain; object-position: center; filter: drop-shadow(8px 11px 7px rgba(16,61,72,.15)); }
.lineup-product-image-bosai { background: #f5f3ed; }
.lineup-product-image-bosai img { width: 95%; height: 95%; object-fit: contain; object-position: center; filter: drop-shadow(8px 11px 7px rgba(66,46,22,.18)); }
.technology { padding-top: 150px; padding-bottom: 154px; background: #f3f0e9; }
.technology-heading { display: grid; grid-template-columns: minmax(340px, 1.04fr) minmax(260px, .74fr); gap: 9%; align-items: end; margin-bottom: 58px; }
.technology-heading h2 { margin: 22px 0 0; font: 400 clamp(34px, 3.35vw, 52px)/1.42 var(--serif); letter-spacing: -.075em; }
.technology-heading > p { max-width: 360px; margin: 0 0 5px; color: #4c6c70; font-size: 12px; line-height: 2.1; }
.technology-main { display: grid; grid-template-columns: .84fr 1.16fr; color: #e9f3f0; background: #1d4b55; }
.technology-intro { padding: clamp(42px, 5vw, 72px); border-right: 1px solid rgba(233,243,240,.2); }
.technology-label { margin: 0 0 27px; color: #b8d7d2; font: 10px/1.5 var(--mono); letter-spacing: .12em; }
.technology-intro h3 { margin: 0; font: 400 clamp(27px, 2.7vw, 39px)/1.42 var(--serif); letter-spacing: -.07em; }
.technology-intro > p:not(.technology-label) { margin: 28px 0 33px; color: #d5e5e1; font-size: 12px; line-height: 2.15; }
.technology-specs { margin: 0; border-top: 1px solid rgba(233,243,240,.24); }
.technology-specs div { display: grid; grid-template-columns: 72px 1fr; gap: 13px; padding: 15px 0; border-bottom: 1px solid rgba(233,243,240,.2); }
.technology-specs dt { color: #b9d7d1; font: 9px/1.8 var(--mono); letter-spacing: .07em; }.technology-specs dd { margin: 0; font-size: 11px; line-height: 1.8; }
.technology-points { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.technology-points article { min-height: 236px; padding: clamp(30px, 3.5vw, 50px); border-bottom: 1px solid rgba(233,243,240,.2); }
.technology-points article:nth-child(odd) { border-right: 1px solid rgba(233,243,240,.2); }.technology-points article:nth-last-child(-n+2) { border-bottom: 0; }
.technology-points article > p:first-child { margin: 0 0 35px; color: #acd1cb; font: 9px/1.4 var(--mono); letter-spacing: .1em; }
.technology-points h3 { margin: 0; font: 400 22px/1.45 var(--serif); letter-spacing: -.055em; }
.technology-points article > p:last-child { margin: 17px 0 0; color: #d2e3df; font-size: 11px; line-height: 2; }
.technology-note { max-width: 830px; margin: 21px 0 0 auto; color: #58747a; font-size: 10px; line-height: 2; }

.evidence-detail { padding-top: 148px; padding-bottom: 152px; background: #eef5f4; }
.test-overview { color: #eaf3ef; background: #1d4b55; }.test-overview-head { display: grid; grid-template-columns: .62fr 1fr 1.05fr; gap: 5%; align-items: center; padding: 36px 42px; border-bottom: 1px solid rgba(234,243,239,.2); }.test-overview-head > p { margin: 0; color: #b5d1cc; font: 10px/1.4 var(--mono); letter-spacing: .12em; }.test-overview-head h3 { margin: 0; font: 400 18px/1.8 var(--serif); letter-spacing: -.04em; }.test-overview-head h3 strong { color: #bce1da; font-family: var(--mono); font-size: 15px; font-weight: 500; letter-spacing: .04em; }.test-overview-head > span { color: #c9dcda; font-size: 11px; line-height: 1.95; }
.test-columns { display: grid; grid-template-columns: 1.13fr .87fr; }.test-columns article { padding: 49px 42px 45px; }.test-columns article + article { border-left: 1px solid rgba(234,243,239,.2); }.test-label { margin: 0 0 17px; color: #a9ceca; font: 10px/1.2 var(--mono); letter-spacing: .1em; }.test-columns h3 { margin: 0 0 29px; font: 400 25px/1.4 var(--serif); letter-spacing: -.06em; }.test-groups { display: grid; grid-template-columns: 1fr 1.15fr; gap: 22px; }.test-groups div { padding: 19px; background: rgba(255,255,255,.065); }.test-groups h4 { margin: 0 0 13px; color: #b5d8d2; font-size: 12px; font-weight: 600; }.test-groups p { margin: 0 0 15px; font-size: 11px; line-height: 2; }.test-groups small, .safety-results small { color: #b4ceca; font: 9px/1.7 var(--mono); letter-spacing: .02em; }
.safety-results { display: grid; gap: 12px; }.safety-results div { display: grid; gap: 5px; padding: 18px 19px; background: rgba(255,255,255,.065); }.safety-results span { color: #b7d5d0; font-size: 11px; }.safety-results b { font-size: 14px; font-weight: 500; line-height: 1.7; }.test-photo-note { display: grid; grid-template-columns: .65fr 1.35fr; gap: 4%; padding: 22px 42px; border-top: 1px solid rgba(234,243,239,.2); background: rgba(0,0,0,.08); }.test-photo-note span { color: #a9ceca; font: 9px/1.7 var(--mono); letter-spacing: .11em; }.test-photo-note p { margin: 0; font-size: 11px; line-height: 2; }.evidence-caution { max-width: 850px; margin: 22px 0 0 auto; color: #55757a; font-size: 10px; line-height: 2; }

.story-intro { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: clamp(36px, 7vw, 115px); align-items: center; max-width: 930px; margin: 0 auto 84px; }.story-intro p { max-width: 650px; margin: 0; font-size: 14px; line-height: 2.3; }.hexagon-mark { display: grid; place-items: center; width: 130px; height: 150px; margin: 0 auto; border: 1px solid #74969a; clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%); }.hexagon-mark span { display: block; width: 83px; height: 96px; background: #dbe9e7; clip-path: inherit; }
.story-timeline { display: grid; grid-template-columns: .68fr 1.32fr; gap: 8%; margin: 0 0 86px; padding: 48px 50px 53px; color: #eaf3f0; background: #1d4b55; }.timeline-head h3 { margin: 21px 0 0; font: 400 clamp(28px, 2.55vw, 39px)/1.4 var(--serif); letter-spacing: -.07em; }.timeline-head .section-kicker { color: #b8d7d2; }.timeline-record { margin-top: 38px; padding: 17px 0 0; border-top: 1px solid rgba(230,246,242,.23); }.timeline-record span { display: block; color: #a9d0c9; font: 9px/1.5 var(--mono); letter-spacing: .09em; }.timeline-record strong { display: block; margin: 7px 0 3px; color: #f0f7f3; font: 400 clamp(45px, 4.1vw, 63px)/.86 var(--serif); letter-spacing: -.09em; }.timeline-record strong em { margin-left: 3px; color: #dfa984; font-size: .48em; font-style: normal; }.timeline-record small { color: #c5dcd7; font-size: 10px; line-height: 1.7; }.story-timeline ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; margin: 0; padding: 0; list-style: none; }.story-timeline li { display: grid; grid-template-columns: 64px 1fr; gap: 12px; min-height: 105px; padding: 17px 0; border-top: 1px solid rgba(230,246,242,.2); }.story-timeline li:nth-last-child(-n+2) { border-bottom: 1px solid rgba(230,246,242,.2); }.story-timeline time { color: #bfe0da; font: 500 10px/1.8 var(--mono); letter-spacing: .04em; }.story-timeline h4 { margin: 0 0 7px; color: #f0f7f3; font: 400 16px/1.4 var(--serif); letter-spacing: -.035em; }.story-timeline p { margin: 0; color: #d0e1dc; font-size: 10px; line-height: 1.85; }.story-timeline li:last-child { grid-column: 1 / -1; }
.story-list { overflow: hidden; }.story-list article { position: relative; min-height: 248px; padding: 25px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #f2f5f1; }.story-list article > span { display: block; min-height: auto; padding: 0; border: 0; background: transparent; color: #6e9091; font: 10px/1 var(--mono); }.story-list h3 { margin: 43px 0 10px; font: 400 25px/1.25 var(--serif); letter-spacing: -.06em; }.story-list p { margin: 0; max-width: 190px; font-size: 11px; line-height: 1.9; }.story-list em { position: absolute; right: 22px; bottom: 21px; color: #6f9091; font: 9px/1 var(--mono); font-style: normal; letter-spacing: .09em; }

/* PEACE LINK STOCK */
.peace-link { padding-top: 151px; padding-bottom: 145px; background: #f1ede5; }.peace-link-heading { display: grid; grid-template-columns: 1.05fr .95fr; gap: 8%; align-items: end; margin-bottom: 60px; }.peace-link-logo { display: block; width: min(250px, 85%); height: auto; margin: 18px 0 25px; mix-blend-mode: multiply; }.peace-link-heading h2 { margin: 0; }.peace-link-heading > p { max-width: 450px; margin: 0 0 4px; color: #4b686c; font-size: 13px; line-height: 2.2; }.peace-link-panel { display: grid; grid-template-columns: .7fr 1.3fr; color: #eaf3f0; background: #1d4b55; }.peace-link-stock { position: relative; display: flex; flex-direction: column; min-height: 370px; padding: 42px; overflow: hidden; background: #285762; }.peace-link-stock::before, .peace-link-stock::after { position: absolute; content: ""; width: 250px; height: 250px; border: 1px solid rgba(234,245,240,.18); border-radius: 50%; }.peace-link-stock::before { right: -117px; bottom: -107px; }.peace-link-stock::after { right: -31px; bottom: -21px; width: 128px; height: 128px; border-color: rgba(221,166,130,.7); }.peace-link-stock > * { position: relative; z-index: 1; }.peace-link-stock p, .peace-link-stock > span { margin: 0; color: #b9d7d1; font: 9px/1.5 var(--mono); letter-spacing: .1em; }.peace-link-stock > span { margin-top: auto; color: #dfa984; }.peace-link-stock strong { margin: 2px 0 2px; color: #f1f6f2; font: 400 74px/.95 var(--serif); letter-spacing: -.09em; }.peace-link-stock strong em { margin-left: 7px; color: #e1aa84; font-size: 29px; font-style: normal; letter-spacing: -.04em; }.peace-link-stock small { color: #c8dcd7; font-size: 10px; letter-spacing: .03em; }.peace-link-body { padding: 42px 45px 37px; }.peace-link-overline { margin: 0 0 29px; color: #e0a67f; font: 10px/1.5 var(--mono); letter-spacing: .11em; }.peace-link-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(234,245,240,.22); }.peace-link-steps li { min-height: 185px; padding: 24px 22px 18px 0; border-bottom: 1px solid rgba(234,245,240,.22); }.peace-link-steps li + li { padding-left: 22px; border-left: 1px solid rgba(234,245,240,.22); }.peace-link-steps span { color: #e0a67f; font: 10px/1 var(--mono); letter-spacing: .08em; }.peace-link-steps h3 { margin: 35px 0 10px; color: #f1f6f2; font: 400 23px/1.25 var(--serif); letter-spacing: -.06em; }.peace-link-steps p { margin: 0; color: #c9dbd6; font-size: 10px; line-height: 1.95; }.peace-link-more { display: inline-flex; align-items: center; gap: 26px; margin-top: 28px; color: #e8f3ef; font: 10px/1.5 var(--mono); letter-spacing: .04em; }.peace-link-more span { font-size: 16px; transition: transform .2s; }.peace-link-more:hover span, .peace-link-more:focus-visible span { transform: translate(3px, -3px); }.peace-link-note { max-width: 710px; margin: 20px 0 0 auto; color: #5e7777; font-size: 10px; line-height: 2; }

/* Purchase paths */
.purchase-guide { padding-top: 147px; padding-bottom: 140px; color: #e9f1ee; background: #173d46; }.purchase-guide-heading { display: grid; grid-template-columns: 1.05fr .95fr; gap: 8%; align-items: end; margin-bottom: 63px; }.purchase-guide-heading .section-kicker { color: #b5d5d0; }.purchase-guide-heading h2 { margin: 21px 0 0; color: #f0f6f3; }.purchase-guide-heading > p { max-width: 445px; margin: 0 0 5px; color: #c9dbd6; font-size: 13px; line-height: 2.2; }.purchase-channel-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid rgba(231,244,240,.22); border-left: 1px solid rgba(231,244,240,.22); }.purchase-channel { position: relative; display: flex; flex-direction: column; min-height: 315px; padding: 29px 27px 26px; border-right: 1px solid rgba(231,244,240,.22); border-bottom: 1px solid rgba(231,244,240,.22); overflow: hidden; transition: background .25s, color .25s, transform .25s; }.purchase-channel::after { position: absolute; right: -27px; bottom: -36px; content: ""; width: 135px; height: 135px; border: 1px solid rgba(232,246,241,.16); border-radius: 50%; transition: transform .35s ease, background .35s ease; }.purchase-channel:hover, .purchase-channel:focus-visible { color: #193c44; background: #d9e8e4; outline: 0; }.purchase-channel:hover::after, .purchase-channel:focus-visible::after { background: rgba(255,255,255,.25); transform: scale(1.9); }.purchase-channel > * { position: relative; z-index: 1; }.purchase-channel > span { color: #afd0ca; font: 10px/1 var(--mono); letter-spacing: .09em; transition: color .25s; }.purchase-channel:hover > span, .purchase-channel:focus-visible > span { color: #477077; }.purchase-channel h3 { min-height: 66px; margin: 42px 0 13px; font: 400 25px/1.32 var(--serif); letter-spacing: -.055em; }.purchase-channel p { margin: 0; color: #c2d8d3; font-size: 11px; line-height: 2; transition: color .25s; }.purchase-channel:hover p, .purchase-channel:focus-visible p { color: #41646a; }.purchase-channel b { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 29px; color: #e9f4f0; font: 500 10px/1.4 var(--mono); letter-spacing: .04em; transition: color .25s; }.purchase-channel:hover b, .purchase-channel:focus-visible b { color: #173d46; }.purchase-channel b i { font-size: 16px; font-style: normal; }.purchase-channel-direct { background: rgba(255,255,255,.035); }.purchase-channel-amazon { background: rgba(85,142,147,.09); }.purchase-channel-rakuten { background: rgba(247,249,245,.045); }.purchase-channel-furusato { background: rgba(209,181,137,.09); }.purchase-guide-note { max-width: 670px; margin: 21px 0 0 auto; color: #a9c4bf; font-size: 10px; line-height: 2; }
.purchase-channel { --channel-accent: #a9d3ca; }.purchase-channel::before { position: absolute; z-index: 2; top: 0; left: 27px; width: 50px; height: 3px; content: ""; background: var(--channel-accent); }.purchase-channel-direct { --channel-accent: #a9d3ca; }.purchase-channel-amazon { --channel-accent: #d8a76e; }.purchase-channel-rakuten { --channel-accent: #d8897d; }.purchase-channel-furusato { --channel-accent: #dda682; }
.purchase-dock { position: fixed; z-index: 40; right: 24px; bottom: 23px; display: grid; grid-template-columns: 1fr auto; column-gap: 17px; min-width: 215px; padding: 13px 16px 14px; color: #f0f7f4; background: rgba(22,58,68,.94); box-shadow: 0 10px 25px rgba(9,35,41,.23); backdrop-filter: blur(12px); transition: transform .25s, background .25s; }.purchase-dock span { grid-column: 1; color: #b1d1cb; font: 8px/1 var(--mono); letter-spacing: .11em; }.purchase-dock strong { grid-column: 1; margin-top: 6px; font: 500 12px/1 var(--sans); }.purchase-dock > i { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-size: 19px; font-style: normal; }.purchase-dock:hover, .purchase-dock:focus-visible { color: #173d46; background: #dbeae5; outline: 0; transform: translateY(-3px); }.purchase-dock:hover span, .purchase-dock:focus-visible span { color: #55787e; }

@media (max-width: 680px) {
  .technology { padding-top: 83px; padding-bottom: 86px; }.technology-heading { display: block; margin-bottom: 36px; }.technology-heading h2 { margin-top: 21px; font-size: 31px; }.technology-heading > p { margin: 25px 0 0; font-size: 11px; }.technology-main { display: block; }.technology-intro { padding: 35px 24px 31px; border-right: 0; border-bottom: 1px solid rgba(233,243,240,.2); }.technology-label { margin-bottom: 20px; }.technology-intro h3 { font-size: 28px; }.technology-intro > p:not(.technology-label) { margin: 20px 0 25px; font-size: 11px; }.technology-points { display: block; }.technology-points article { min-height: 0; padding: 28px 24px 29px; border-bottom: 1px solid rgba(233,243,240,.2); }.technology-points article:nth-child(odd) { border-right: 0; }.technology-points article:nth-last-child(-n+2) { border-bottom: 1px solid rgba(233,243,240,.2); }.technology-points article:last-child { border-bottom: 0; }.technology-points article > p:first-child { margin-bottom: 20px; }.technology-points h3 { font-size: 21px; }.technology-points article > p:last-child { margin-top: 13px; font-size: 10px; }.technology-note { margin-top: 15px; font-size: 9px; }
  .lineup-summary { display: block; margin-top: 10px; padding: 37px 24px 26px; }.lineup-summary h3 { font-size: 29px; }.lineup-intro { margin-top: 15px; font-size: 11px; }.lineup-summary ul { display: block; margin-top: 28px; }.lineup-summary li { min-height: auto; padding: 15px 0; }.lineup-summary strong { font-size: 12px; }.lineup-summary span { font-size: 9px; }.lineup-note { margin-top: 18px; font-size: 9px; }
  .product-details { margin-top: 75px; }.detail-heading { display: block; margin-bottom: 26px; }.detail-heading .section-kicker { margin-bottom: 25px; }.detail-heading h3 { font-size: 28px; }.primary-detail { display: block; padding: 34px 24px; }.primary-detail h4 { font-size: 30px; }.primary-detail-copy > p:not(.detail-number) { margin-top: 21px; font-size: 12px; }.spec-list { margin-top: 30px; }.spec-list div { grid-template-columns: 78px 1fr; gap: 10px; padding: 15px 0; }.spec-list dd { font-size: 11px; }.family-detail-grid { display: block; }.family-detail { min-height: 0; padding: 31px 24px; }.family-detail h4 { font-size: 27px; }.family-detail > p:not(.detail-number) { min-height: 0; margin: 19px 0 25px; font-size: 11px; }.family-detail + .family-detail { border-top: 0; }.family-detail dl div { grid-template-columns: 73px 1fr; }
  .evidence-detail { padding-top: 84px; padding-bottom: 88px; }.test-overview-head { display: block; padding: 31px 24px; }.test-overview-head h3 { margin: 17px 0; font-size: 16px; }.test-overview-head > span { font-size: 10px; }.test-columns { display: block; }.test-columns article { padding: 31px 24px; }.test-columns article + article { border-top: 1px solid rgba(234,243,239,.2); border-left: 0; }.test-columns h3 { margin-bottom: 22px; font-size: 23px; }.test-groups { display: block; }.test-groups div + div { margin-top: 10px; }.test-groups p { font-size: 10px; }.test-photo-note { display: block; padding: 20px 24px; }.test-photo-note p { margin-top: 9px; font-size: 10px; }.evidence-caution { margin-top: 16px; font-size: 9px; }
  .product-grid { display: block; }.product-card-standard, .product-card-towel, .product-card-advance { min-height: 438px; margin-bottom: 10px; }.product-card-standard .product-meta { left: 24px; bottom: 28px; }.product-card-standard .product-meta h3 { font-size: 27px; }.product-card-standard .product-photo { right: 3%; bottom: 4%; width: 70%; height: 88%; }.product-card-standard .product-orbit { right: 2%; width: 69%; }.product-card-towel { min-height: 305px; }.product-card-towel .product-meta, .product-card-advance .product-meta { right: 20px; left: 20px; bottom: 19px; }.product-card-towel .product-meta h3, .product-card-advance .product-meta h3 { font-size: 20px; }.product-card-advance .product-photo-advance { right: 7%; bottom: 4%; width: 53%; height: 86%; }.product-card-advance .product-orbit { right: 0; width: 52%; }.ultra-feature { min-height: 525px; }.ultra-media { min-height: 343px; }.ultra-media img { right: 4%; bottom: 4%; width: 92%; height: 86%; }
  .lineup-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 10px; }.lineup-product-image { height: 137px; margin-bottom: 11px; }.lineup-product-card h4 { min-height: 40px; font-size: 11px; }.lineup-product-card > span { font-size: 8px; }.lineup-product-card > p { font-size: 7px; }
  .story-intro { display: block; margin: 0 0 53px; }.hexagon-mark { width: 90px; height: 104px; margin: 0 0 29px; }.hexagon-mark span { width: 57px; height: 66px; }.story-intro p { font-size: 12px; line-height: 2.15; }.story-timeline { display: block; margin-bottom: 52px; padding: 31px 24px 33px; }.timeline-head h3 { margin-top: 15px; font-size: 29px; }.story-timeline ol { display: block; margin-top: 28px; }.story-timeline li { grid-template-columns: 52px 1fr; min-height: auto; padding: 13px 0; }.story-timeline li:nth-last-child(-n+2) { border-bottom: 0; }.story-timeline li:last-child { border-bottom: 1px solid rgba(230,246,242,.2); }.story-timeline p { font-size: 10px; }.story-list { grid-template-columns: repeat(2, 1fr); }.story-list article { min-height: 207px; padding: 17px; }.story-list h3 { margin: 31px 0 8px; font-size: 23px; }.story-list p { font-size: 10px; line-height: 1.75; }.story-list em { right: 15px; bottom: 15px; font-size: 8px; }
  .peace-link { padding-top: 83px; padding-bottom: 86px; }.peace-link-heading { display: block; margin-bottom: 38px; }.peace-link-logo { width: min(224px, 84%); margin: 16px 0 21px; }.peace-link-heading h2 { margin: 0; font-size: 31px; }.peace-link-heading > p { margin: 23px 0 0; font-size: 11px; line-height: 2.1; }.peace-link-panel { display: block; }.peace-link-stock { min-height: 230px; padding: 29px 24px; }.peace-link-stock::before { right: -94px; bottom: -112px; width: 225px; height: 225px; }.peace-link-stock::after { right: -20px; bottom: -15px; width: 106px; height: 106px; }.peace-link-stock strong { font-size: 65px; }.peace-link-stock strong em { font-size: 26px; }.peace-link-body { padding: 31px 24px 28px; }.peace-link-overline { margin-bottom: 22px; font-size: 9px; }.peace-link-steps { display: block; }.peace-link-steps li { min-height: auto; padding: 19px 0; }.peace-link-steps li + li { padding-left: 0; border-left: 0; }.peace-link-steps h3 { margin: 23px 0 8px; font-size: 21px; }.peace-link-steps p { font-size: 10px; }.peace-link-more { margin-top: 23px; }.peace-link-note { margin-top: 16px; font-size: 9px; }
  body { padding-bottom: 79px; }.purchase-guide { padding-top: 84px; padding-bottom: 83px; }.purchase-guide-heading { display: block; margin-bottom: 39px; }.purchase-guide-heading h2 { margin-top: 19px; font-size: 31px; }.purchase-guide-heading > p { margin: 23px 0 0; font-size: 11px; line-height: 2.1; }.purchase-channel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.purchase-channel { min-height: 250px; padding: 20px 17px 17px; }.purchase-channel::before { left: 17px; width: 34px; }.purchase-channel::after { right: -37px; bottom: -42px; width: 112px; height: 112px; }.purchase-channel h3 { min-height: 52px; margin: 29px 0 11px; font-size: 19px; }.purchase-channel p { font-size: 9px; line-height: 1.8; }.purchase-channel b { padding-top: 18px; font-size: 8px; }.purchase-channel b i { font-size: 13px; }.purchase-guide-note { margin-top: 16px; font-size: 9px; }.purchase-dock { right: 12px; bottom: 12px; left: 12px; min-width: 0; padding: 12px 16px 13px; }.purchase-dock strong { font-size: 12px; }
}

/* Ambient motion: a deliberately quiet layer behind the product and copy. */
.hero { isolation: isolate; }
.hero::before { z-index: 0; background-size: 150% 145%; background-position: 0% 50%; animation: hero-light-shift 34s ease-in-out infinite alternate; }
.hero-inner { z-index: 1; }
.hero-glow { z-index: 0; will-change: transform; }
.glow-one { animation: glow-drift-one 27s cubic-bezier(.45,0,.55,1) infinite alternate; }
.glow-two { animation: glow-drift-two 34s cubic-bezier(.45,0,.55,1) infinite alternate; }
.hero-product-halo { animation: halo-breathe 12s ease-in-out infinite alternate; }
.quality-orbit { will-change: transform; }
.orbit-outer { animation: quality-orbit-outer 38s ease-in-out infinite alternate; }
.orbit-inner { animation: quality-orbit-inner 29s ease-in-out infinite alternate; }
.quality::before { animation: quality-bloom 23s ease-in-out infinite alternate; }

@keyframes hero-light-shift { from { background-position: 0% 50%; } to { background-position: 100% 50%; } }
@keyframes glow-drift-one { from { transform: translate3d(0, 0, 0) scale(1); } to { transform: translate3d(-5vw, 5vh, 0) scale(1.09); } }
@keyframes glow-drift-two { from { transform: translate3d(0, 0, 0) scale(1); } to { transform: translate3d(5vw, -4vh, 0) scale(1.12); } }
@keyframes halo-breathe { from { transform: scale(.96); opacity: .72; } to { transform: scale(1.055); opacity: 1; } }
@keyframes quality-orbit-outer { from { transform: translate3d(-2vw, -1vh, 0) rotate(-3deg); } to { transform: translate3d(2vw, 2vh, 0) rotate(3deg); } }
@keyframes quality-orbit-inner { from { transform: translate3d(2vw, 1vh, 0) rotate(2deg); } to { transform: translate3d(-2vw, -2vh, 0) rotate(-2deg); } }
@keyframes quality-bloom { from { transform: translate3d(-7vw, -4vh, 0) scale(.9); opacity: .55; } to { transform: translate3d(7vw, 4vh, 0) scale(1.18); opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
  .hero::before, .hero-glow, .hero-product-halo, .quality-orbit, .quality::before { animation: none !important; }
}
