/* BackMat: an editorial product introduction with a short, useful motion sequence. */
.product-story{height:220svh;position:relative}
.stage{height:calc(100svh - 80px);min-height:620px;position:sticky;top:80px;overflow:hidden;isolation:isolate}
.masthead{position:absolute;inset:3% var(--gutter) auto;display:flex;align-items:center;justify-content:space-between;gap:1.5vw;z-index:3;pointer-events:none;line-height:.75}
.masthead>span:first-child{font-size:14vw;letter-spacing:-.1em;font-weight:800}
.masthead>span:last-child{font-family:Cormorant,Georgia,serif;font-size:17vw;font-style:italic;letter-spacing:-.08em;font-weight:400;line-height:.7;padding-right:.05em}
.masthead>small{font-size:12px;font-weight:600;line-height:1.65;letter-spacing:.025em;align-self:flex-end;padding-bottom:1.5vw;flex-shrink:0}
.hero-copy{position:absolute;z-index:4;top:35%;left:var(--gutter);width:31%;max-width:460px}
.hero-copy h1{font-size:clamp(32px,3.1vw,50px);line-height:1.06;letter-spacing:-.055em;font-weight:600}
.hero-description{font-size:clamp(18px,1.6vw,23px);line-height:1.5;letter-spacing:-.015em;margin-top:22px;max-width:28ch}
.hero-copy .pill{margin-top:24px;gap:22px}
.hero-details{display:flex;align-items:center;gap:18px;min-height:44px;font-size:13px;width:fit-content;margin-top:6px;text-decoration:underline;text-underline-offset:5px}
.scene{position:absolute;width:64%;height:65%;right:0;bottom:10%;z-index:1}
.scene canvas{width:100%;height:100%;display:block;pointer-events:none;opacity:0}
.scene .fallback{position:absolute;width:100%;height:100%;object-fit:contain;pointer-events:none}
.scene.ready canvas{opacity:1}
.scene.ready .fallback{opacity:0}
.scene-caption{position:absolute;left:39%;right:var(--gutter);bottom:9%;display:flex;justify-content:center;align-items:baseline;gap:17px;z-index:5;font-size:14px}
.scene-step{font-size:11px;letter-spacing:.08em;flex-shrink:0;color:var(--muted)}
.scene-caption p{max-width:44ch}
.scene-note{position:absolute;bottom:20px;left:var(--gutter);font-size:12px;color:var(--muted);z-index:5}
.scroll-cue{position:absolute;bottom:9px;right:var(--gutter);font-size:11px;font-weight:600;letter-spacing:.05em;min-height:44px;display:flex;align-items:center;gap:15px;z-index:6}
.fit-chapter{padding-block:100px 95px;border-top:1px solid var(--line);scroll-margin-top:100px}
.chapter-heading h2,.fit-chapter h2{font-size:clamp(56px,6.5vw,108px);line-height:.91}
.chapter-heading h2 em,.fit-chapter h2 em{font-size:1.18em}
.chapter-heading>p{font-size:16px;line-height:1.85;max-width:42ch}
.placement-layout{display:grid;grid-template-columns:1.12fr .88fr;gap:7vw;align-items:center;margin-top:55px}
.placement-figure img{width:100%;height:auto}
.placement-figure figcaption{padding-top:17px;max-width:52ch}
.fit-copy>p:not(.eyebrow):not(.fit-dimension){font-size:15px;line-height:1.8;color:var(--muted);max-width:42ch}
.fit-dimension{font-size:clamp(50px,5.2vw,83px);letter-spacing:-.07em;line-height:1.25;margin:12px 0}
.fit-dimension span{font-size:25px;letter-spacing:-.02em}
.placement-detail{margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}
.placement-detail h3,.storage-detail h3{font-size:18px;letter-spacing:-.025em}
.placement-detail img{width:100%;max-width:490px;margin-top:18px}
.storage-detail{margin-top:25px}
.storage-detail p{font-size:15px;color:var(--muted);line-height:1.8;margin-top:7px;max-width:42ch}
.fit-copy .text-link{margin-top:19px}
.texture-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:4vw;padding-block:95px 100px;align-items:center;border-top:1px solid var(--line)}
.texture-section h2{font-size:clamp(65px,7vw,118px);line-height:.82;letter-spacing:-.07em;margin-top:30px}
.texture-section h2 em{font-size:1.19em}
.texture-section>div>p:not(.eyebrow){font-size:17px;line-height:1.85;margin-top:34px}
.texture-section .text-link{margin-top:22px}
.construction-figure img{width:100%;height:auto}
.construction-figure figcaption{padding-inline:10%;max-width:60ch}
.room-photo{padding-bottom:35px}
.room-photo .framed-photo img,.home-chapter .framed-photo img{height:auto;width:100%;object-fit:contain;transform:none}
.origin{display:grid;grid-template-columns:1.15fr .85fr;gap:10vw;padding-block:100px 125px;align-items:center}
.origin h2{font-size:clamp(65px,7vw,118px);line-height:.94;letter-spacing:-.065em;margin-top:27px}
.origin h2 em{font-size:1.1em}
.origin>div:last-child>p{font-size:clamp(16px,1.6vw,24px);line-height:1.7;letter-spacing:-.025em;margin-bottom:22px}
.origin .pill{margin-top:13px}
.couch-chapter{padding-top:30px;padding-bottom:90px}
.couch-chapter .chapter-heading h2{font-size:clamp(56px,6.5vw,108px);line-height:.91}
.couch-chapter .chapter-heading p{font-size:16px;line-height:1.8}
.home-questions{display:grid;grid-template-columns:1fr 1.1fr;gap:8vw;padding-block:85px 110px;border-top:1px solid var(--line)}
.home-questions h2{font-size:clamp(58px,6vw,96px);line-height:.97;margin:24px 0}
.home-questions .faq-list summary{font-size:16px}
.home-questions .faq-list details>p{font-size:15px}
.home-questions .faq-list a{text-decoration:underline;text-underline-offset:4px}
.last-word{text-align:center;background:#e6e3d9;padding:90px var(--gutter) 100px}
.last-word .eyebrow{margin:auto}
.last-word h2{font-size:clamp(65px,8vw,128px);line-height:.9;letter-spacing:-.06em;margin:35px auto 28px}
.last-word h2 em{font-size:1.1em}
.closing-copy{font-size:17px;line-height:1.75;margin-inline:auto}
.last-word .pill{margin-top:28px}
.closing-details{display:block;width:fit-content;font-size:13px;min-height:44px;margin:12px auto 0;padding:10px 0;text-decoration:underline;text-underline-offset:5px}
.home-page .site-footer{border-top:0}
.webgl-fallback .scene .fallback{opacity:1}
.webgl-fallback .scene canvas{display:none}
.webgl-fallback .product-story,.static-story .product-story{height:auto}
.webgl-fallback .stage,.static-story .stage{position:relative;top:0}
@media(max-width:1100px) and (min-width:801px){.hero-copy{width:34%;top:32%}.hero-copy h1{font-size:32px}.hero-description{font-size:18px}.hero-copy .pill{font-size:12px;padding-inline:19px}.scene{width:62%}.scene-caption{left:39%;font-size:12px}.masthead>small{font-size:10px}.placement-layout{gap:5vw}.origin{gap:7vw}}
@media(max-width:800px){
 .product-story{height:185svh}.stage{height:calc(100svh - 72px);min-height:710px;top:72px}
 .masthead{top:2%;gap:2vw}.masthead>span:first-child{font-size:17vw}.masthead>span:last-child{font-size:20vw}.masthead>small{display:none}
 .hero-copy{top:18%;width:86%;max-width:540px}.hero-copy h1{font-size:clamp(29px,4.8vw,39px);line-height:1.04}.hero-description{font-size:17px;line-height:1.45;max-width:34ch;margin-top:13px}
 .hero-copy .pill{font-size:12px;min-height:46px;padding:12px 18px;margin-top:16px}.hero-details{display:inline-flex;margin-left:15px;font-size:12px;gap:9px}
 .scene{width:100%;height:39%;bottom:12%;right:0}.scene-caption{left:var(--gutter);right:var(--gutter);bottom:8%;font-size:12px;gap:12px;justify-content:center}.scene-step{font-size:10px}.scene-note{font-size:11px;bottom:19px}.scroll-cue{font-size:9px;bottom:9px}
 .fit-chapter{padding-block:60px}.chapter-heading h2,.fit-chapter h2{font-size:clamp(52px,10vw,80px)}.chapter-heading>p{font-size:15px}
 .placement-layout{grid-template-columns:1fr;gap:35px;margin-top:30px}.placement-figure{max-width:600px;width:100%;margin-inline:auto}.fit-copy{max-width:620px;width:100%;margin-inline:auto}.fit-dimension{font-size:64px}.placement-detail{margin-top:22px}.placement-detail img{max-width:500px}.storage-detail{margin-top:20px}
 .texture-section{grid-template-columns:1fr;gap:30px;padding-block:62px}.texture-section h2{font-size:clamp(72px,15vw,112px)}.texture-section>div>p:not(.eyebrow){margin-top:29px;font-size:16px}.construction-figure figcaption{padding-inline:0}.construction-figure{margin-inline:-12px}.construction-figure figcaption{margin-inline:12px}
 .room-photo{padding-bottom:5px}.origin{grid-template-columns:1fr;gap:35px;padding-block:65px}.origin h2{font-size:clamp(66px,13vw,104px);margin-top:24px}.origin>div:last-child>p{font-size:18px;max-width:55ch}.couch-chapter{padding-top:20px;padding-bottom:55px}.couch-chapter .chapter-heading h2{font-size:clamp(52px,10vw,80px)}.couch-chapter .chapter-heading p{font-size:15px}
 .home-questions{grid-template-columns:1fr;gap:35px;padding-block:60px}.home-questions h2{font-size:65px;margin:22px 0 10px}.home-questions .faq-list summary{font-size:15px}.home-questions .faq-list details>p{font-size:14px}.last-word{padding-block:65px 75px}.last-word h2{font-size:clamp(54px,10vw,80px);margin-block:30px}.last-word .eyebrow{font-size:10px}.closing-copy{font-size:16px}
}
@media(max-width:380px){.hero-copy{top:16%}.hero-copy h1{font-size:27px}.hero-description{font-size:16px}.hero-copy .pill{font-size:11px;padding-inline:16px;gap:12px}.hero-details{margin-left:8px;font-size:11px}.scene{height:35%;bottom:10%}.scene-caption{font-size:11px;gap:9px}.scene-note{font-size:10px}.scroll-cue{font-size:8px}.fit-dimension{font-size:57px}.origin>div:last-child>p{font-size:16px}.last-word h2{font-size:49px}}
@media(max-width:800px) and (max-height:740px){.product-story{height:auto}.stage{position:relative;top:0;height:710px}}
@media(prefers-reduced-motion:reduce){.product-story{height:auto}.stage{position:relative;top:0}.scene{will-change:auto}}
/* The static introduction is complete even when module scripts cannot run. */
html:not(.js) .product-story{height:auto}
html:not(.js) .stage{position:relative;top:0}

/* A full-width use scene with Tactile typography; the subject stays unobstructed. */
/* Use-led opening: keep the entire mat clear of the copy and its localized scrim. */
.use-hero{position:relative;isolation:isolate;background:var(--paper);overflow:hidden}
.use-hero-visual{position:relative;aspect-ratio:3/2;overflow:hidden}
.use-hero-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.use-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 62% 75% at 100% 0%,var(--paper) 28%,oklch(95.4% .018 85 / .97) 52%,oklch(95.4% .018 85 / .6) 67%,transparent 88%)}
.use-hero-copy{position:absolute;z-index:2;top:7%;right:var(--gutter);width:33%;max-width:520px}
.use-hero-copy h1{font-size:clamp(36px,3.8vw,62px);line-height:.98;letter-spacing:-.05em;font-weight:600}
.use-hero-copy h1 em{display:block;font-family:Cormorant,Georgia,serif;font-weight:400;letter-spacing:-.035em;font-size:1.16em;line-height:.9;margin-top:10px}
.use-hero-description{font-size:clamp(16px,1.3vw,20px);line-height:1.5;letter-spacing:-.015em;margin-top:24px;max-width:28ch}
.use-hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:20px}
.use-hero-actions .pill{color:var(--paper);background:var(--ink);border-color:var(--ink);font-size:13px;min-height:50px;gap:28px}
.use-hero-details{display:inline-flex;align-items:center;gap:24px;min-height:44px;font-size:13px;text-decoration:underline;text-underline-offset:5px}
.use-hero-copy a:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
.desktop-nav a{min-width:44px}
.fit-chapter .chapter-heading h2{font-size:clamp(42px,6.2vw,100px);line-height:.9;letter-spacing:-.055em}
@media(hover:hover){.use-hero-actions .pill:hover{background:var(--olive);border-color:var(--olive)}}
@media(min-width:1700px){.use-hero-copy{top:8%;right:6vw}}
@media(max-width:1100px) and (min-width:801px){.use-hero-copy{top:5%;width:35%;right:3vw}.use-hero-copy h1{font-size:clamp(32px,3.6vw,40px)}.use-hero-description{font-size:16px;margin-top:16px}.use-hero-actions{margin-top:14px;gap:0}.use-hero-actions .pill{min-height:46px}}
@media(max-width:800px){
 .use-hero{overflow:visible}
 .use-hero::after{display:none}
 .use-hero-visual{aspect-ratio:1.06}
 .use-hero-visual img{object-position:50% 50%}
 .use-hero-copy{position:relative;top:auto;right:auto;width:auto;max-width:none;padding:25px var(--gutter) 34px;background:var(--paper)}
 .use-hero-copy h1{font-size:clamp(34px,7.8vw,52px)}
 .use-hero-copy h1 em{font-size:1.4em;line-height:.92;margin-top:5px}
 .use-hero-copy h1 em br{display:none}
 .use-hero-description{font-size:17px;margin-top:20px;max-width:34ch}
 .use-hero-actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 22px;margin-top:20px}
 .use-hero-actions .pill{min-height:50px;font-size:12px;padding-inline:21px;gap:25px}
 .use-hero-details{font-size:12px;gap:10px}
}
@media(max-width:380px){.use-hero-copy h1 em{font-size:1.22em}.use-hero-description{margin-top:18px}}
/* The desktop navigation already links to the mat; retain the secondary hero link on mobile. */
@media(min-width:801px){.use-hero-details{display:none}}
