/* Fixed sonar targets; a shared 10s scan synchronizes every echo. */
.image-story>img,.image-story:hover>img{transform:none;transition:none;object-position:50% 55%}.image-story:after{background:linear-gradient(90deg,#191919b8 0%,#19191948 48%,#1919190a 80%)}
.hero-photo{isolation:isolate}.radar-visual{left:54%;right:auto;top:50%;width:480px;height:480px;transform:translate(-50%,-50%);opacity:1;z-index:2;filter:none;border-radius:50%;background:radial-gradient(circle,#17171910 20%,#17171935 70%);box-shadow:0 0 80px #0c0c0c1f;pointer-events:none}.radar-visual>i{border-color:#f3d79860}.radar-visual>i:nth-child(2){inset:16.6667%}.radar-visual>i:nth-child(3){inset:33.3333%}.radar-visual:after{color:#ffe7b2;font-size:20px;text-shadow:0 0 12px #d9bd83;z-index:3}.sweep{background:conic-gradient(from 0deg,transparent 0deg,transparent 306deg,#d9bd8306 315deg,#d9bd8340 352deg,#f7dca89c 360deg);will-change:transform;transform-origin:50% 50%}.sweep:after{content:'';position:absolute;left:50%;bottom:50%;width:1.5px;height:50%;background:linear-gradient(0deg,#fff2c9,#e4c37b);box-shadow:0 0 12px #e4c37b90;transform-origin:50% 100%;border-radius:100px}.radar-visual .sweep{animation:radar-spin 10s linear infinite!important}.radar-target{position:absolute;width:8px;height:8px;transform:translate(-50%,-50%);z-index:4}.radar-target>.target-dot{position:absolute;inset:0;width:8px;height:8px;border:0;border-radius:50%;background:#ffe8b5;box-shadow:0 0 12px #e8c68c70;opacity:.28;animation:sonar-return 10s linear var(--echo-delay) infinite!important}.radar-target>.target-echo{position:absolute;left:50%;top:50%;width:12px;height:12px;border:1px solid #f4d79c;border-radius:50%;background:transparent;opacity:0;transform:translate(-50%,-50%) scale(.5);animation:sonar-pulse 10s linear var(--echo-delay) infinite!important;box-shadow:0 0 10px #eac78025}
.photo-shade{z-index:1}.photo-label{z-index:4}.hero-content{z-index:4}.hero .constellation{z-index:2;mask-image:linear-gradient(90deg,transparent 35%,black 67%)}.constellation{position:absolute!important;inset:0;pointer-events:none;overflow:hidden;z-index:0;contain:layout paint}.constellation>i{position:absolute;display:block;width:12px;height:12px;animation:star-drift 18s ease-in-out infinite;opacity:.9}.constellation>i:before{content:'';display:block;width:100%;height:100%;background:#f6dfac;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);animation:star-glimmer 5s ease-in-out infinite;filter:none}.constellation>i:after{content:'';position:absolute;inset:15%;border-radius:50%;background:#f9dd9a;box-shadow:0 0 13px 3px #eac78030;opacity:.35}.constellation>i:nth-child(1){left:8%;top:13%;width:9px;height:9px;animation-delay:-7s}.constellation>i:nth-child(2){left:89%;top:20%;animation-delay:-11s}.constellation>i:nth-child(3){left:94%;top:69%;width:8px;height:8px;animation-delay:-3s}.constellation>i:nth-child(4){left:73%;top:87%;width:10px;height:10px;animation-delay:-14s}.constellation>i:nth-child(5){left:53%;top:10%;width:6px;height:6px;animation-delay:-2s}.constellation>i:nth-child(6){left:4%;top:78%;width:7px;height:7px;animation-delay:-9s}.constellation>i:nth-child(7){left:39%;top:93%;width:5px;height:5px;animation-delay:-5s}.constellation>i:nth-child(2n):before{animation-delay:-2.2s;animation-duration:6.7s}.constellation>i:nth-child(3n):before{animation-delay:-4s;animation-duration:4.5s}.method .constellation,.contact .constellation{opacity:.65}.method>:not(.constellation),.contact-content{z-index:1}.contact .constellation{z-index:0}.contact-orbit{pointer-events:none}.contact-orbit:before{animation:radar-spin 35s linear infinite;background:conic-gradient(from 210deg,transparent 75%,#d9bd8306 98%,#d9bd8322 100%)}
@keyframes radar-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes sonar-return{0%{opacity:1;box-shadow:0 0 15px 3px #f5dca790}3%{opacity:1;box-shadow:0 0 11px 2px #e8c68c70}15%{opacity:.28;box-shadow:0 0 8px #e8c68c20}100%{opacity:.28;box-shadow:0 0 8px #e8c68c20}}
@keyframes sonar-pulse{0%{opacity:.9;transform:translate(-50%,-50%) scale(.5)}11%{opacity:0;transform:translate(-50%,-50%) scale(3.7)}100%{opacity:0;transform:translate(-50%,-50%) scale(3.7)}}
@keyframes star-glimmer{0%,100%{opacity:.25;transform:scale(.65)}45%{opacity:.95;transform:scale(1.12)}70%{opacity:.5;transform:scale(.85)}}@keyframes star-drift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(9px,-13px,0)}}
.constellation>i{animation-name:star-drift!important;animation-duration:18s!important;animation-timing-function:ease-in-out!important;animation-iteration-count:infinite!important}.constellation>i:before{animation-name:star-glimmer!important;animation-duration:5s!important;animation-timing-function:ease-in-out!important;animation-iteration-count:infinite!important}.hero .constellation>i{animation:none!important}.contact .contact-orbit:before{animation:radar-spin 35s linear infinite!important}
@media(min-width:1600px){.radar-visual{width:550px;height:550px}}
@media(max-width:1100px) and (min-width:761px){.radar-visual{width:420px;height:420px;left:55%;top:51%}}
@media(max-width:760px){.radar-visual{width:min(82vw,320px);height:auto;aspect-ratio:1;left:54%;top:54%;right:auto;transform:translate(-50%,-50%);opacity:1}.hero .constellation{mask-image:linear-gradient(180deg,transparent 48%,black 67%)}.constellation>i{width:9px;height:9px}.image-story>img{object-position:55% 50%}.method .constellation,.contact .constellation{opacity:.5}}

/* Hero caption replaces the section index. */
.hero>.photo-label{left:auto;right:5%;bottom:25px;width:fit-content;max-width:calc(100% - 44px)}
@media(max-width:760px){.hero>.photo-label{left:auto;right:22px;bottom:22px;font-size:9px;letter-spacing:.4px;padding:10px 12px}.hero .scroll-cue{bottom:85px}}

/* Mobile: keep the photo behind the sonar stage, never across the full hero. */
@media(max-width:760px){
 .hero{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;height:auto;min-height:0;max-height:none;padding-bottom:0;isolation:isolate}
 .hero-photo{display:contents}
 .hero-photo>img{position:absolute;grid-area:2 / 1 / 5 / 2;inset:0;width:100%;height:100%;object-fit:cover;object-position:54% center;opacity:1;z-index:0;animation:none;transform:none}
 .hero-photo>.photo-shade{position:absolute;grid-area:2 / 1 / 5 / 2;inset:0;z-index:1;background:linear-gradient(180deg,var(--dark) 0%,#232427bf 12%,#23242712 45%,#2324278c 100%)}
 .hero-photo:after{display:none}
 .hero-content{grid-area:1 / 1 / 2 / 2;order:initial;padding-bottom:22px}
 .hero .scroll-cue{position:relative;grid-area:2 / 1 / 3 / 2;order:initial;left:auto;right:auto;top:auto;bottom:auto;justify-self:center;align-self:center;margin:6px auto 0;font-size:10px;letter-spacing:1px;z-index:4}
 .hero .radar-visual{position:relative;grid-area:3 / 1 / 4 / 2;order:initial;left:auto;right:auto;top:auto;bottom:auto;transform:none;width:min(82vw,320px);height:auto;aspect-ratio:1;justify-self:center;align-self:center;margin:25px auto 28px;z-index:2}
 .hero>.photo-label{position:relative;grid-area:4 / 1 / 5 / 2;order:initial;left:auto;right:auto;top:auto;bottom:auto;transform:none;justify-self:center;align-self:center;justify-content:center;text-align:center;width:fit-content;max-width:calc(100% - 32px);margin:0 auto 30px;padding:11px 13px;font-size:10px;line-height:1.7;letter-spacing:.4px;z-index:4}
}
