/* One opening composition, with the service rail replacing page scrolling. */
.single-home .bloom-title{font-family:"Caveat",cursive!important}
/* Shrink the central companion in place, retaining the composition and drag geometry. */
html body.single-home #home .identity .robot-companion{transform:scale(.85)!important;transform-origin:50% 50%}
.single-home .film-card[data-shimmer=false] .card__shine,
.single-home.page-sleeping .card__shine{animation-play-state:paused!important}
.single-home .film-card[aria-hidden=true] .card__shine,
.single-home .film-card[aria-hidden=true] .card__glare{visibility:hidden}
.single-home .page{padding-bottom:8px!important}
html body.single-home #home.hero{min-height:calc(100svh - var(--home-top,90px) - 44px)}
.single-home .portfolio-stage{position:relative;top:clamp(0px,calc((100svh - 880px)*.09),28px)}
.single-home .horizontal-footer{position:absolute;top:15px;right:0;width:auto;height:auto;order:initial;margin:0}
.single-home .home-footer{height:36px;min-height:36px;margin:0;padding:0;border:0;display:flex;align-items:center;justify-content:space-between;gap:16px;font:11px/1.5 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:#74816e}
.home-footer-tools{display:flex;align-items:center;gap:20px}
.single-home .pause-motion{font-size:11px;letter-spacing:0}
.home-audio{position:relative}
.home-audio summary{cursor:pointer;list-style:none;padding:5px 0}
.home-audio summary::-webkit-details-marker{display:none}
.home-audio summary:hover,.home-audio[open] summary{color:var(--ink)}
.home-audio-panel{position:absolute;z-index:80;bottom:32px;right:0;width:280px;max-width:calc(100vw - 46px);padding:22px;border:1px solid #d0d8c9;border-radius:16px;background:#f4f5ee;box-shadow:0 14px 40px #25352d20;color:var(--ink);font-size:13px}
.home-setting{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.home-setting .ui-switch{flex:none}
.home-volume{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.home-audio-panel .ui-range{width:100%;margin:0 0 20px}
.home-audio-panel .music-attribution{display:block!important;position:static!important;opacity:1!important;margin:16px 0 0;padding-top:14px;border-top:1px solid #d8decf;font-size:11px;line-height:1.7;letter-spacing:0}

.single-home .card-carousel-controls{min-height:48px;margin:4px 0 0}
.service-rail{width:min(450px,100%);display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:14px;user-select:none}
.deck-count{font:10px/1.5 ui-monospace,"SFMono-Regular",monospace;letter-spacing:.8px;color:#71806d;white-space:nowrap}
.service-rail .lyre-track{position:relative;width:100%;height:44px;cursor:ew-resize;touch-action:none;isolation:isolate}
.service-rail .rail-frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.35}
.rail-progress{position:absolute;top:50%;left:20px;right:20px;height:1px;background:#b49663;transform:scaleX(0);transform-origin:left center;pointer-events:none;opacity:.75}
.rail-stops{position:absolute;inset:0}
.rail-stop{position:absolute;top:0;width:32px;height:44px;padding:0;transform:translateX(-50%);display:grid;place-items:center;border:0;background:transparent;cursor:pointer}
.rail-stop::after{content:'';width:5px;height:5px;border-radius:50%;background:#b5bda9;box-shadow:0 0 0 4px var(--page-sage);transition:background .2s,box-shadow .2s}
.rail-stop:hover::after,.rail-stop[aria-current=true]::after{background:#9d7e4e;box-shadow:0 0 0 5px var(--page-sage)}
.service-rail .robot-thumb{position:absolute;top:50%;left:0;width:36px;height:30px;padding:0;border:0;border-radius:9px;background:var(--page-sage);box-shadow:0 0 0 4px var(--page-sage);transform:translate3d(calc(var(--rail-x,2px) + var(--string-x,0px)),calc(-50% + var(--string-y,0px)),0);transition:none;z-index:4;cursor:grab;touch-action:none;will-change:transform;outline-offset:5px}
.service-rail .robot-thumb::before{inset:-7px}
.service-rail .robot-thumb:active,.service-rail.is-dragging .robot-thumb{cursor:grabbing}
.service-rail .robot-thumb:focus-visible{outline:2px solid #718469}
.service-rail .robot-aside{display:block;left:50%!important;right:auto!important;top:auto;bottom:calc(100% + 12px);transform:translateX(-50%);font-size:11px;background:#f4f5ee;color:#53654e;border-color:#ced8c5}
.service-rail .robot-aside::after{left:calc(50% - 4px)!important;right:auto;top:auto;bottom:-4px;transform:rotate(135deg)!important;background:#f4f5ee;border-color:#ced8c5}
.service-rail .robot-thumb[data-string-state=detached],.service-rail .robot-thumb[data-string-state=returning],.service-rail .robot-thumb[data-string-state=catching]{z-index:90}
.service-rail button:focus-visible,.home-audio summary:focus-visible{outline:2px solid #718469;outline-offset:3px}

/* Overlay only the moving glyphs; the original words keep layout and semantics. */
.single-home .bloom-title{pointer-events:auto}
.magnetic-lettering{position:absolute;inset:0;overflow:visible;width:100%;height:100%;z-index:3;pointer-events:none;opacity:0;contain:layout style}
.magnetic-lettering.is-active{opacity:1}
.magnetic-glyph,.magnetic-glyph use{pointer-events:none}
body.intro-playing .magnetic-lettering{display:none}
@media(min-width:851px) and (min-height:861px){
 html body.single-home #home.hero{padding-top:14px;padding-bottom:18px}
 .single-home .portfolio-stage{margin-top:0!important}
}
@media(min-width:851px) and (max-height:800px){body.single-home{--cover-width:clamp(228px,19vw,260px)}}
@media(max-width:850px){
 .single-home .portfolio-stage{top:clamp(0px,calc((100svh - 780px)*.18),80px)}
 .single-home .horizontal-footer{top:12px}
 .service-rail{width:min(400px,100%);gap:10px;grid-template-columns:48px minmax(0,1fr)}
 .single-home .card-carousel-controls{min-height:48px}
}
@media(max-width:480px){
 .service-rail{width:100%;gap:8px}
 .single-home .home-footer{font-size:10px}
 .home-footer-tools{gap:16px}
 .single-home .pause-motion{font-size:10px}
 .home-audio-panel{position:fixed;left:16px;right:16px;bottom:50px;width:auto;max-width:none;max-height:calc(100svh - 82px);overflow-y:auto}
}
@media(prefers-reduced-motion:reduce){.magnetic-lettering{display:none!important}}
@media(hover:none),(pointer:coarse){.single-home .film-card:not([data-active=true]) .card__shine{animation-play-state:paused!important}}
