/* One scene at a time: browse categories, then see real phrase examples. */
.home-scene-tabs{display:flex;justify-content:safe center;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px 0 12px;overscroll-behavior-x:contain}.home-scene-tabs::-webkit-scrollbar{display:none}.home-scene-tabs button{flex:none;min-height:40px;padding:9px 16px;background:transparent;border:0;border-radius:99px;font-size:14px;font-weight:400;line-height:1.5;color:var(--tertiary);white-space:nowrap;transition:background-color .16s,color .16s}.home-scene-tabs button:hover{background:#00000005}.home-scene-tabs button[aria-selected=true]{background:#e2eee9;color:var(--green);font-weight:500}.home-scene-tabs button:active{background:#dce9e3}.home-scene-tabs button:focus-visible{outline:2px solid var(--ui-focus);outline-offset:1px}.home-scene-panel[hidden]{display:none}.home-scene-intro{text-align:center;margin:22px 0 24px}.home-scene-intro h3{font-size:22px;font-weight:600;line-height:1.5;margin:0 0 6px}.home-scene-intro p{font-size:15px;font-weight:400;line-height:1.8;color:var(--tertiary);margin:0}.home-scene-samples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.home-scene-sample{min-width:0;background:#fff;border:1px solid var(--ui-card-stroke);border-radius:20px;overflow:hidden}.home-scene-sample img{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:contain}.home-scene-sample>div{padding:20px 22px 22px}.home-scene-sample h4{font-size:22px;line-height:1.5;font-weight:600;margin:0;text-wrap:wrap}.home-scene-sample p{font-size:15px;line-height:1.75;font-weight:400;color:var(--tertiary);margin:6px 0 0}.home-dialogue-showcase .home-floor-action{margin-top:30px}.home-scene-panel:focus-visible{outline:2px solid var(--ui-focus);outline-offset:4px;border-radius:16px}
@media(max-width:1000px){.home-scene-tabs{justify-content:flex-start}.home-scene-samples{gap:16px}.home-scene-sample>div{padding:18px}.home-scene-sample h4{font-size:20px}}
@media(max-width:700px){.home-scene-tabs{gap:6px;padding-bottom:8px}.home-scene-tabs button{font-size:14px;padding:8px 14px;min-height:38px}.home-scene-intro{text-align:left;margin:18px 0 20px}.home-scene-intro h3{font-size:21px}.home-scene-intro p{font-size:14px}.home-scene-samples{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding-bottom:4px}.home-scene-samples::-webkit-scrollbar{display:none}.home-scene-sample{scroll-snap-align:start;border-radius:20px}.home-scene-sample h4{font-size:22px}.home-scene-sample>div{padding:18px}.home-dialogue-showcase .home-floor-action{text-align:left;margin-top:24px}}
@media(prefers-reduced-motion:reduce){.home-scene-tabs button{transition:none}}
/* Homepage floor contract: same tokens and container as the original word floors. */
.home-floor-band{min-height:100svh;display:flex;align-items:center;padding-block:var(--floor-space);background:transparent}.home-floor-band>.wrap{width:min(1240px,calc(100% - 80px));margin-inline:auto}.home-floor-heading{max-width:none;margin:0 auto var(--floor-content-gap);text-align:center}.home-floor-heading h2,.home-floor-copy h2{font-size:var(--floor-title-size);line-height:var(--floor-title-line);font-weight:700;margin:0;text-wrap:balance}.home-floor-heading .eyebrow,.home-floor-copy .eyebrow{font-size:14px;line-height:1.6;font-weight:500;margin:0 0 12px}.home-floor-heading>p:not(.eyebrow),.home-floor-copy>p:not(.eyebrow){font-size:var(--floor-body-size);line-height:1.75;font-weight:400;margin:12px 0 0}.home-dialogue-showcase .home-floor-heading{max-width:none;margin-bottom:var(--floor-content-gap);text-align:center}.home-scene-tabs{padding:0;gap:8px}.home-scene-intro{margin:var(--floor-content-gap) 0;text-align:center}.home-dialogue-showcase .home-floor-action{margin-top:var(--floor-content-gap);text-align:center}.home-floor-action .primary{min-height:52px;padding:0 32px;font-size:16px;line-height:1.5;font-weight:600;gap:10px;border-radius:99px}
@media(max-width:900px){.home-floor-band>.wrap{width:calc(100% - 48px)}}
@media(max-width:700px){.home-floor-band>.wrap{width:calc(100% - 40px)}.home-floor-heading,.home-dialogue-showcase .home-floor-heading{text-align:center;margin-bottom:var(--floor-content-gap)}.home-scene-intro{text-align:center;margin:var(--floor-content-gap) 0}.home-floor-copy{text-align:center}.home-dialogue-showcase .home-floor-action{text-align:center;margin-top:var(--floor-content-gap)}}
/* Reserve identical geometry before load, after load, and on error. */
.home-scene-sample>.home-scene-image{position:relative;aspect-ratio:5/4;width:100%;padding:0;overflow:hidden;background:#f1f4f1}.home-scene-image>img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain}.home-scene-image-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--tertiary);font-size:13px;font-weight:400;padding:16px;text-align:center}.home-scene-image-fallback[hidden]{display:none}.home-scene-image-fallback svg{width:28px;height:28px}.home-scene-image.is-error>img{visibility:hidden}
/* Continuous rail: the next category follows the third card directly. */
.home-scene-continuous{position:relative;display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding-block:2px 4px}.home-scene-continuous::-webkit-scrollbar{display:none}.home-scene-continuous>.home-scene-sample{flex:0 0 calc((100% - 40px)/3);scroll-snap-align:center}.home-scene-continuous:focus-visible{outline:2px solid var(--ui-focus);outline-offset:4px;border-radius:20px}.home-scene-tabs{position:relative}.home-scene-tabs button[aria-selected=true]{background:var(--green);color:#fff}.home-scene-tabs button{border:1px solid transparent;padding:9px 14px;font-size:14px;font-weight:400;border-radius:99px}.home-scene-tabs button:hover:not([aria-selected=true]){background:rgb(0 0 0/.04)}
@media(max-width:900px){.home-scene-tabs button{padding:8px 12px}}
@media(max-width:700px){.home-scene-continuous{width:calc(100% + 40px);margin-inline:-20px;gap:14px}.home-scene-continuous>.home-scene-sample{flex-basis:82%}.home-scene-tabs{gap:6px}.home-scene-tabs button{padding:8px 12px;font-size:14px}}
/* Tablet/desktop snap by a whole category; phones snap by one phrase. */
@media(min-width:701px){.home-scene-continuous>.home-scene-sample{scroll-snap-align:none}.home-scene-continuous>.home-scene-sample:nth-child(3n){scroll-snap-align:center;scroll-snap-stop:always}}
/* Match the word category rail: fade only where more tabs remain. */
.home-scene-tabs{--fade-start:#000;--fade-end:#000;mask-image:linear-gradient(90deg,var(--fade-start),#000 12px,#000 calc(100% - 12px),var(--fade-end));-webkit-mask-image:linear-gradient(90deg,var(--fade-start),#000 12px,#000 calc(100% - 12px),var(--fade-end))}.home-scene-tabs.fade-left{--fade-start:transparent}.home-scene-tabs.fade-right{--fade-end:transparent}
/* Both tab rails reach the viewport edge; their fade is not inset by the content gutter. */
:root{--home-tab-edge-fade:32px;--home-tab-gutter:40px}.theme-preview .catalog-controls{width:100vw;max-width:none;flex-shrink:0}.theme-preview .categories,.home-scene-tabs{box-sizing:border-box;width:100vw;max-width:none;margin-right:0;padding-inline:var(--home-tab-gutter);mask-image:linear-gradient(90deg,var(--fade-start,#000),#000 var(--home-tab-edge-fade),#000 calc(100% - var(--home-tab-edge-fade)),var(--fade-end,#000));-webkit-mask-image:linear-gradient(90deg,var(--fade-start,#000),#000 var(--home-tab-edge-fade),#000 calc(100% - var(--home-tab-edge-fade)),var(--fade-end,#000))}.home-scene-tabs{margin-left:calc((100% - 100vw)/2)}
@media(max-width:900px){:root{--home-tab-gutter:24px}}
@media(max-width:700px){:root{--home-tab-gutter:20px;--home-tab-edge-fade:28px}}
/* The same moving selection surface serves both category rails. */
.theme-preview .categories.has-moving-selection,.home-scene-tabs.has-moving-selection{position:relative;isolation:isolate}.has-moving-selection::before{content:"";position:absolute;left:0;top:0;width:var(--tab-selection-w);height:var(--tab-selection-h);transform:translate(var(--tab-selection-x),var(--tab-selection-y));border-radius:99px;background:var(--green);pointer-events:none;z-index:0}.has-moving-selection.selection-motion-ready::before{transition:transform 220ms cubic-bezier(.22,.68,.3,1),width 220ms cubic-bezier(.22,.68,.3,1),height 220ms cubic-bezier(.22,.68,.3,1)}.theme-preview .categories.has-moving-selection button,.home-scene-tabs.has-moving-selection button{position:relative;z-index:1;transition:color 160ms ease}.theme-preview .categories.has-moving-selection button[aria-pressed=true],.home-scene-tabs.has-moving-selection button[aria-selected=true]{background:transparent;color:#fff}
@media(prefers-reduced-motion:reduce){.has-moving-selection.selection-motion-ready::before,.theme-preview .categories.has-moving-selection button,.home-scene-tabs.has-moving-selection button{transition:none}}

/* Keep the rail still for visible tabs so the sliding selection remains perceptible. */
.has-moving-selection.selection-motion-ready::before{transition:transform 340ms cubic-bezier(.2,.75,.25,1),width 340ms cubic-bezier(.2,.75,.25,1),height 340ms cubic-bezier(.2,.75,.25,1)}
@media(prefers-reduced-motion:reduce){.has-moving-selection.selection-motion-ready::before{transition:none}}

/* A touched tab must not leave a second filled pill after the rail recenters. */
.theme-preview .categories button:hover:not([aria-pressed=true]),.theme-preview .categories button:active:not([aria-pressed=true]),.home-scene-tabs button:hover:not([aria-selected=true]),.home-scene-tabs button:active:not([aria-selected=true]){background:transparent}
