/* First-screen animation, adapted from homeplus-coast-animation.html. */
.legacy-hero{display:none!important}
.homeplus-hero{--hero-risk:#baf3dc;position:relative;isolation:isolate;min-height:760px;height:100svh;overflow:hidden;background:#0b353a;color:#fff;font-family:Inter,Arial,sans-serif}
.homeplus-hero[data-scene="2"]{--hero-risk:#ff9c7f}.homeplus-hero[data-scene="3"]{--hero-risk:#ffd27c}.homeplus-hero[data-scene="4"]{--hero-risk:#8fc6ff}.homeplus-hero[data-scene="5"]{--hero-risk:#baf3dc}
.hp-hero-art,.hp-hero-art svg,.hp-hero-shade{position:absolute;inset:0;width:100%;height:100%}.hp-hero-art{z-index:-2;background:linear-gradient(130deg,#92c8c3 0%,#437a79 46%,#173d42 100%)}
.hp-hero-art svg{display:block;transform:scale(1.04);transition:transform 2.8s cubic-bezier(.22,.8,.26,1)}.homeplus-hero[data-scene="2"] .hp-hero-art svg{transform:scale(1.1) translateX(-1.4%)}.homeplus-hero[data-scene="3"] .hp-hero-art svg{transform:scale(1.065) translateX(1%)}.homeplus-hero[data-scene="4"] .hp-hero-art svg{transform:scale(1.11) translateY(-.8%)}
.hp-hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(5,26,29,.7) 0%,rgba(5,26,29,.27) 48%,rgba(5,26,29,.16) 100%)}.hp-hero-grain{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.15;background-image:radial-gradient(rgba(255,255,255,.65) .6px,transparent .6px);background-size:4px 4px;mix-blend-mode:soft-light}
.hp-copy{position:absolute;z-index:2;left:clamp(28px,8vw,132px);top:clamp(145px,22vh,220px);width:min(570px,43vw)}.hp-copy .eyebrow{color:#d8f5ec;font:500 11px 'DM Mono',monospace}.hp-copy .eyebrow span{background:var(--hero-risk)}.hp-copy h1{margin:22px 0 21px;font-size:clamp(45px,5vw,78px);font-weight:600;letter-spacing:-.064em;line-height:.98;text-wrap:balance}.hp-copy .lead{max-width:520px;color:rgba(255,255,255,.84);font-size:16px;line-height:1.65}.hp-copy .hero-actions{margin-top:32px}.hp-copy .button{background:#fff;color:#123533}.hp-copy .button b{color:#159b78}.hp-copy .text-link{color:#fff;border-color:rgba(255,255,255,.8)}
.hp-status{position:absolute;z-index:2;right:clamp(26px,5vw,82px);top:clamp(130px,20vh,190px);width:265px;padding:20px;background:rgba(8,36,40,.76);border:1px solid rgba(222,255,248,.24);box-shadow:0 20px 55px rgba(0,0,0,.18);backdrop-filter:blur(12px)}.hp-status-top{display:flex;align-items:end;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:15px}.hp-status small,.hp-event small{font:500 10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.07em;color:#c3e6dc}.hp-status strong{display:block;margin-top:5px;font-size:15px}.hp-health{font:600 30px 'Playfair Display',serif;color:var(--hero-risk);line-height:1}.hp-status-list{margin-top:10px}.hp-status-row{display:flex;justify-content:space-between;padding:9px 0;font-size:12px;color:#ecfffa;border-bottom:1px solid rgba(255,255,255,.08)}.hp-status-row em{font-style:normal;color:var(--hero-risk)}
.hp-event{position:absolute;z-index:2;right:clamp(26px,5vw,82px);bottom:106px;width:305px;padding:17px 18px 14px;background:#f7fbf7;color:#123533;box-shadow:0 18px 50px rgba(0,0,0,.18)}.hp-event-head{display:flex;gap:10px;align-items:center}.hp-event-symbol{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--hero-risk);font-weight:800}.hp-event strong{display:block;font-size:13px;margin-top:4px}.hp-event small{color:#55736d}.hp-progress{height:3px;margin:15px 0 10px;background:linear-gradient(90deg,var(--hero-risk) 72%,#e2ebe7 72%)}.hp-event-meta{display:flex;justify-content:space-between;color:#52706a;font:10px 'DM Mono',monospace}
.hp-timeline{position:absolute;z-index:3;bottom:38px;left:clamp(28px,8vw,132px);display:flex;align-items:center;gap:16px}.hp-play,.hp-dot{border:0;cursor:pointer}.hp-play{width:35px;height:35px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(6,35,36,.34);color:#fff;font-size:13px}.hp-dots{display:flex;gap:8px}.hp-dot{position:relative;width:34px;height:5px;background:rgba(255,255,255,.35);padding:0}.hp-dot::after{content:'';position:absolute;inset:0;transform:scaleX(0);transform-origin:left;background:var(--hero-risk)}.hp-dot.is-active::after{animation:hp-progress var(--scene-duration,3800ms) linear forwards}.homeplus-hero.is-paused .hp-dot.is-active::after{animation-play-state:paused}.hp-dot.is-done::after{transform:scaleX(1)}@keyframes hp-progress{to{transform:scaleX(1)}}
.hp-sensor{opacity:.35;transform-box:fill-box;transform-origin:center;transition:opacity .65s ease}.hp-sensor .hp-pulse{transform-origin:center;animation:hp-pulse 2.1s ease-out infinite}.hp-sensor.is-focused{opacity:1}.homeplus-hero.is-paused .hp-pulse,.homeplus-hero.reduce-motion .hp-pulse{animation-play-state:paused}@keyframes hp-pulse{0%{transform:scale(.65);opacity:.8}100%{transform:scale(2.2);opacity:0}}.hp-scene-mark{opacity:0;transition:opacity .65s ease}.homeplus-hero[data-scene="2"] .hp-water-mark,.homeplus-hero[data-scene="3"] .hp-signal-mark,.homeplus-hero[data-scene="4"] .hp-route-mark,.homeplus-hero[data-scene="5"] .hp-shield-mark{opacity:1}
@media(max-width:1100px){.hp-copy{width:min(570px,55vw);left:6vw}.hp-status{right:4vw}.hp-event{right:4vw}.hp-timeline{left:6vw}.hp-copy h1{font-size:clamp(46px,5.8vw,64px)}}
@media(max-width:800px){.homeplus-hero{height:auto;min-height:850px}.hp-copy{top:132px;width:84vw;left:8vw}.hp-copy h1{font-size:clamp(46px,8.5vw,64px)}.hp-copy .lead{font-size:15px;max-width:480px}.hp-status{top:auto;bottom:103px;right:8vw;width:min(265px,44vw)}.hp-event{display:none}.hp-timeline{left:8vw;bottom:34px}.hp-hero-shade{background:linear-gradient(180deg,rgba(5,26,29,.7),rgba(5,26,29,.25) 58%,rgba(5,26,29,.48))}.hp-hero-art svg{width:150%;left:-28%}}
@media(max-width:540px){.homeplus-hero{min-height:780px}.hp-copy{top:112px;width:84vw}.hp-copy h1{font-size:45px}.hp-copy .lead{font-size:14px;line-height:1.55}.hp-copy .hero-actions{gap:19px;margin-top:24px}.hp-copy .button{padding:14px 14px;font-size:11px}.hp-copy .text-link{font-size:11px}.hp-status{display:none}.hp-timeline{bottom:28px}.hp-dot{width:25px}.hp-hero-art svg{width:210%;left:-76%}}
@media(prefers-reduced-motion:reduce){.hp-hero-art svg,.hp-sensor,.hp-scene-mark{transition:none!important}.hp-dot.is-active::after{animation:none;transform:scaleX(1)}.hp-pulse{animation:none!important}}

/* Real HOME PLUS villa background and sensor placement. */
.hp-hero-art{background:#597b79 url('homeplus-villa-sensors.png') center center/cover no-repeat}.hp-hero-art svg{display:none}.hp-copy .eyebrow{display:flex;align-items:center;gap:10px}.hp-copy .eyebrow span{background:none;width:auto;height:auto;margin:0}.hp-copy .eyebrow .hp-eyebrow-line{display:block;flex:0 0 23px;width:23px;height:1px;background:var(--hero-risk)}
.hp-photo-sensors{position:absolute;inset:0;z-index:1;pointer-events:none}.hp-photo-sensor{position:absolute;display:flex;align-items:center;gap:9px;color:#fff;font:600 11px Inter,Arial,sans-serif;text-shadow:0 1px 8px rgba(0,0,0,.72);transition:opacity .5s ease}.hp-photo-sensor::before{content:'';width:13px;height:13px;border:3px solid #fff;border-radius:50%;background:var(--hero-risk);box-shadow:0 0 0 8px rgba(186,243,220,.19),0 0 26px var(--hero-risk);animation:hp-node-pulse 2.1s ease-out infinite}.hp-photo-sensor[data-sensor="smoke"]{left:67.8%;top:23.5%}.hp-photo-sensor[data-sensor="climate"]{left:67.4%;top:59.2%}.hp-photo-sensor[data-sensor="access"]{left:81.5%;top:58.5%}.hp-photo-sensor[data-sensor="water"]{left:93.5%;top:62.2%;transform:translateX(-100%);flex-direction:row-reverse}.hp-photo-sensor.is-dim{opacity:.3}.homeplus-hero.is-paused .hp-photo-sensor::before,.homeplus-hero.reduce-motion .hp-photo-sensor::before{animation-play-state:paused}@keyframes hp-node-pulse{0%{box-shadow:0 0 0 2px rgba(186,243,220,.42),0 0 13px var(--hero-risk)}100%{box-shadow:0 0 0 14px rgba(186,243,220,0),0 0 23px var(--hero-risk)}}
@media(max-width:1100px){.hp-hero-art{background-position:right center}.hp-photo-sensor[data-sensor="smoke"],.hp-photo-sensor[data-sensor="climate"]{left:56%}.hp-photo-sensor[data-sensor="access"]{left:76%}.hp-photo-sensor[data-sensor="water"]{left:92%}}
@media(max-width:800px){.hp-photo-sensor[data-sensor="smoke"],.hp-photo-sensor[data-sensor="climate"]{left:38%}.hp-photo-sensor[data-sensor="access"]{left:66%}.hp-photo-sensor[data-sensor="water"]{left:91%}}
@media(max-width:800px){.hp-photo-sensors{display:none}}
@media(max-width:540px){.hp-hero-art{background-position:72% center}.hp-photo-sensor{font-size:10px}.hp-photo-sensor[data-sensor="smoke"],.hp-photo-sensor[data-sensor="climate"]{left:57%}.hp-photo-sensor[data-sensor="access"],.hp-photo-sensor[data-sensor="water"]{display:none}}

/* Keep the actual villa visible and prevent sensor labels from meeting the status card. */
.hp-hero-art{z-index:0}.hp-hero-shade{z-index:1}.hp-hero-grain{z-index:1}.hp-photo-sensors{z-index:2}.hp-copy,.hp-status,.hp-event,.hp-timeline{z-index:3}.hp-photo-sensor[data-sensor="smoke"]{transform:translateX(-100%);flex-direction:row-reverse}
