/* Controlled changes: mobile hero captions, signal bar and Living Horizon. */
.travel-signal{height:54px;position:relative;overflow:hidden;display:flex;align-items:center;background:#f7f5ee;border-top:1px solid #ab925c2b;border-bottom:1px solid #ab925c2b;color:#625a46}
.signal-copy{display:flex;width:max-content;animation:signal-travel 55s linear infinite;white-space:nowrap;font-family:Body,Arial,sans-serif;font-size:12px;letter-spacing:.15em}
.signal-copy span{flex:none;padding-right:20px}
.signal-route{position:absolute;bottom:4px;left:0;right:0;height:1px;background:#ac91551a}
.signal-route i{position:absolute;top:-2px;width:5px;height:5px;border-radius:50%;background:#b5995f;animation:signal-node 16s linear infinite}
.signal-route i:before{content:'';position:absolute;right:3px;top:2px;width:35px;height:1px;background:linear-gradient(90deg,transparent,#b5995f8a)}
@keyframes signal-travel{to{transform:translateX(-50%)}}@keyframes signal-node{from{left:-40px}to{left:calc(100% + 40px)}}
.living-horizon{--horizon-progress:0;--horizon-x:0;position:relative;background:#f7f5ee;color:#29372d;scroll-margin-top:88px;overflow:clip}
.horizon-frame{position:relative;padding:45px 7% 20px;isolation:isolate}
.horizon-intro{position:relative;z-index:5;pointer-events:none}
.horizon-intro>span{font-size:12px;letter-spacing:.14em;color:#947b48}
.horizon-intro h2{font-family:CampaignSerif,Georgia,serif;font-size:clamp(36px,3.6vw,54px);line-height:1.05;letter-spacing:-.04em;margin-top:22px}
.horizon-intro>p{font-family:Editorial,Georgia,serif;font-style:italic;font-size:32px;color:#9b804a;margin:13px 0 0}
.horizon-worlds{position:relative;height:380px;margin:25px -8.14% 0;isolation:isolate}
.horizon-slice{position:absolute;margin:0;overflow:hidden;inset:auto;transform-origin:center;transition:opacity .7s,clip-path 1.3s cubic-bezier(.2,.7,.2,1)}
.horizon-slice img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.06) translateX(calc(var(--horizon-x)*-7px));transition:transform 1.4s ease}
.slice-dawn{left:0;top:12%;width:32%;height:76%;clip-path:polygon(0 0,100% 0,92% 100%,0 100%)}
.slice-city{left:27%;top:-10%;width:26%;height:106%;z-index:2;clip-path:polygon(8% 0,100% 0,94% 100%,0 100%)}
.slice-coast{left:49%;top:6%;width:30%;height:94%;z-index:3;clip-path:polygon(7% 0,100% 0,92% 100%,0 100%)}
.slice-dusk{right:0;top:-4%;width:26%;height:86%;z-index:4;clip-path:polygon(8% 0,100% 0,100% 100%,0 100%)}
.horizon-line{position:absolute;inset:0;width:100%;height:100%;z-index:6;pointer-events:none;overflow:visible}
.horizon-line path{fill:none;stroke:#c4a15d;stroke-width:1.3;vector-effect:non-scaling-stroke;opacity:.85}
.mobile-horizon{display:none}
.horizon-signature{position:relative;display:flex;justify-content:space-between;gap:25px;align-items:baseline;margin-top:32px;padding:18px 0 0;z-index:6}
.horizon-signature span{font-size:12px;letter-spacing:.14em;color:#9b804a}
.horizon-signature p{font-family:Editorial,Georgia,serif;font-size:25px;line-height:1.3}
.living-horizon.horizon-ready:not(.horizon-still) .horizon-track{height:235svh}
.living-horizon.horizon-ready:not(.horizon-still) .horizon-frame{position:sticky;top:88px;min-height:700px;height:calc(100svh - 88px);padding-top:30px}
.living-horizon.horizon-ready:not(.horizon-still) .horizon-worlds{height:calc(100% - 380px);min-height:280px}
.horizon-release{position:relative;padding:35px 7% 8px;display:flex;justify-content:flex-end;background:#f7f5ee}
.horizon-release>span{position:absolute;width:1px;height:65px;left:50%;top:0;background:linear-gradient(#b29354aa,#b2935430)}
.horizon-release a{display:flex;gap:30px;align-items:center;min-height:48px;padding:12px 0;border-bottom:1px solid #a38a5155;font-size:12px;letter-spacing:.1em}
.horizon-release i{font-size:22px;color:#a38a51;font-style:normal}
/* Only the entrance edge changes; the product gallery remains intact. */
.living-horizon + #range .gallery-arrival{height:95px;background:#f7f5ee}
.living-horizon + #range .gallery-arrival svg{opacity:.4}
@media(max-width:700px){
 .campaign-hero .hero-object figcaption{display:none!important}
 .travel-signal{height:44px}.signal-copy{font-size:12px;letter-spacing:.09em;animation-duration:65s}
 .living-horizon{scroll-margin-top:75px}
 .horizon-frame,.living-horizon.horizon-ready:not(.horizon-still) .horizon-frame{position:relative;top:auto;height:auto;min-height:0;padding:35px 7% 0}
 .living-horizon.horizon-ready:not(.horizon-still) .horizon-track{height:auto}
 .horizon-intro h2{font-size:clamp(24px,7.4vw,43px);line-height:1.1;margin-top:23px}
 .horizon-intro>p{font-size:29px;margin-top:14px}
 .horizon-worlds,.living-horizon.horizon-ready:not(.horizon-still) .horizon-worlds{height:auto;min-height:0;margin:32px -8.14% 0;display:flex;flex-direction:column;gap:0}
 .horizon-slice{position:relative;inset:auto;width:100%;height:48svh;min-height:310px;max-height:440px;clip-path:none!important;z-index:auto;mask-image:linear-gradient(transparent,#000 9%,#000 88%,transparent);margin:0}
 .horizon-slice img{transform:scale(1.02);object-position:center}
 .horizon-slice + .horizon-slice{margin-top:-16px}
 .desktop-horizon{display:none}.mobile-horizon{display:block;opacity:.8}
 .mobile-horizon path{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--horizon-progress))}
 .horizon-signature{display:block;padding:0;margin-top:20px}
 .horizon-signature p{font-size:26px;max-width:270px;margin-top:14px}
 .horizon-release{padding:28px 7% 8px;justify-content:flex-start}
 .horizon-release>span{left:auto;right:12%;height:74px}
 .horizon-release a{font-size:12px;gap:20px}
 .living-horizon + #range .gallery-arrival{height:75px}
}
@media(prefers-reduced-motion:reduce){.signal-copy,.signal-route i{animation:none}.signal-route i{left:50%}.horizon-slice,.horizon-slice img{transition:none!important;transform:none!important}.mobile-horizon path{stroke-dashoffset:0}}
.motion-paused .signal-copy,.motion-paused .signal-route i{animation-play-state:paused}
.motion-paused .horizon-slice,.motion-paused .horizon-slice img{transition:none!important;transform:none!important}
