/* Approved frame geometry, with landmark-focused crops and a stationary camera. */
.location-scene{position:relative;margin:0;isolation:isolate;background:#dce5e4;overflow:hidden}
.location-video,.location-photo{display:block;width:100%;height:100%;object-fit:cover}
.location-scene:after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#061b3640);pointer-events:none;z-index:1}
.location-still:after{content:none}
.location-motion-toggle{position:absolute;z-index:3;right:10px;bottom:10px;min-height:44px;padding:9px;border:1px solid #ffffff75;border-radius:3px;background:#0b1d3ae6;color:#fffdf7;font:700 10px/1.5 Manrope,Arial,sans-serif;cursor:pointer}
.location-motion-toggle:hover{background:#0b1d3a}
.location-motion-toggle:focus-visible{outline:3px solid #fffdf7;outline-offset:3px}
.location-scene figcaption{position:absolute;z-index:2;right:18px;bottom:24px;left:130px;color:#fffdf7;text-align:right;font:700 10px/1.5 Manrope,Arial,sans-serif;text-shadow:0 1px 5px #0008}
:is(.home-story .hero-art,.service-brand-hero){height:540px;position:relative;isolation:isolate;width:100%;max-width:620px;margin-inline:auto}
:is(.home-story .hero-art,.service-brand-hero) .portal{position:absolute;width:83%;height:94%;right:0;bottom:4%;border:16px solid #e6e0d3;border-radius:260px 260px 4px 4px;overflow:hidden;background:#dce5e4;box-shadow:inset 5px 0 14px #0b1d3a30,12px 20px 30px #0b1d3a12}
:is(.home-story .hero-art,.service-brand-hero) .portal:after{content:none}
:is(.home-story .hero-art,.service-brand-hero) .portal .location-scene{width:100%;height:100%;border:0;border-radius:0}
:is(.home-story .hero-art,.service-brand-hero) .portal :is(.location-photo,.location-video){width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:53% 40%;border-radius:0;animation:none;transform:none;transition:none}
.service-brand-hero.city-hero-auckland .portal .location-video{object-position:24% 50%}
.service-brand-hero.city-hero-christchurch .portal .location-video{object-position:46% 40%}
:is(.home-story .hero-art,.service-brand-hero) .search-stack{position:absolute;width:76%;left:-1%;top:55%;transform:rotate(-3deg);z-index:2}
:is(.home-story .hero-art,.service-brand-hero) .standout{min-height:100px;padding:18px 20px;gap:14px;border-radius:14px}
:is(.home-story .hero-art,.service-brand-hero) .standout>div:nth-child(2){min-width:0}
:is(.home-story .hero-art,.service-brand-hero) .standout strong{font-size:clamp(24px,2.4vw,35px);letter-spacing:-.045em;line-height:1.1}
:is(.home-story .hero-art,.service-brand-hero) .result-mark{padding:8px;flex-shrink:0}
:is(.home-story .hero-art,.service-brand-hero) .result-mark img{width:30px;height:30px}
:is(.home-story .hero-art,.service-brand-hero) .result-promise{display:block;font:750 clamp(11px,1.15vw,16px)/1.4 Manrope,Arial,sans-serif;margin-top:5px}
:is(.home-story .hero-art,.service-brand-hero) .result-line{height:4px;margin-top:10px}
:is(.home-story .hero-art,.service-brand-hero) .neighbour-tab{font-size:10px;padding:8px 14px;right:12px}
:is(.home-story .hero-art,.service-brand-hero) .ghost{min-height:46px;padding:10px 18px;margin-left:16px;margin-top:12px;border-radius:9px;box-shadow:inset 0 2px 2px #fff,-3px 3px 0 #c5c9c5,0 8px 14px #0b1d3a20}
:is(.home-story .hero-art,.service-brand-hero) .ghost.last{min-height:39px;margin-left:30px;margin-top:11px}
:is(.home-story .hero-art,.service-brand-hero) .ghost-icon{width:20px;height:20px}
:is(.home-story .hero-art,.service-brand-hero) .ghost div span{height:4px;margin-block:5px}
:is(.home-story .hero-art,.service-brand-hero) .art-caption{position:absolute;bottom:-5px;right:0;color:#465267;font:700 9px/1.5 Manrope,Arial,sans-serif;text-align:right}
.service-brand-hero .search-stack{pointer-events:none}
@media(max-width:1120px){
 :is(.home-story .hero-art,.service-brand-hero){height:500px}
 :is(.home-story .hero-art,.service-brand-hero) .standout{padding:16px 13px;gap:10px;min-height:94px}
 :is(.home-story .hero-art,.service-brand-hero) .standout strong{font-size:28px}
 :is(.home-story .hero-art,.service-brand-hero) .result-promise{font-size:12px}
}
@media(max-width:900px){
 :is(.home-story .hero-art,.service-brand-hero){height:470px}
 :is(.home-story .hero-art,.service-brand-hero) .portal{border-width:12px}
 :is(.home-story .hero-art,.service-brand-hero) .search-stack{width:80%;top:54%}
 :is(.home-story .hero-art,.service-brand-hero) .standout{min-height:86px;padding:14px 11px;gap:8px}
 :is(.home-story .hero-art,.service-brand-hero) .standout strong{font-size:25px}
 :is(.home-story .hero-art,.service-brand-hero) .result-mark{padding:6px}
 :is(.home-story .hero-art,.service-brand-hero) .result-mark img{width:24px;height:24px}
 :is(.home-story .hero-art,.service-brand-hero) .result-promise{font-size:11px}
}
@media(max-width:700px){
 :is(.home-story .hero-art,.service-brand-hero){height:410px;max-width:430px;margin:12px auto 22px}
 :is(.home-story .hero-art,.service-brand-hero) .portal{width:80%;height:98%;bottom:0;border-width:12px;border-radius:220px 220px 4px 4px}
 :is(.home-story .hero-art,.service-brand-hero) .search-stack{width:78%;top:54%;left:0}
 :is(.home-story .hero-art,.service-brand-hero) .standout{min-height:82px;padding:14px 11px;gap:10px}
 :is(.home-story .hero-art,.service-brand-hero) .standout strong{font-size:clamp(22px,6vw,28px)}
 :is(.home-story .hero-art,.service-brand-hero) .result-promise{font-size:11px}
 :is(.home-story .hero-art,.service-brand-hero) .result-mark img{width:25px;height:25px}
 :is(.home-story .hero-art,.service-brand-hero) .ghost{min-height:40px;padding:8px 14px;margin-top:10px}
 :is(.home-story .hero-art,.service-brand-hero) .ghost.last{min-height:34px;margin-top:10px}
 :is(.home-story .hero-art,.service-brand-hero) .neighbour-tab{font-size:9px;padding:7px 11px}
 :is(.home-story .hero-art,.service-brand-hero) .art-caption{bottom:-25px;font-size:8px}
 .location-motion-toggle{right:5px;bottom:6px;font-size:9px;padding:8px 6px}
}
@media(max-width:360px){
 :is(.home-story .hero-art,.service-brand-hero){height:395px}
 :is(.home-story .hero-art,.service-brand-hero) .search-stack{width:82%;top:54%}
 :is(.home-story .hero-art,.service-brand-hero) .standout{padding:13px 9px;gap:8px}
 :is(.home-story .hero-art,.service-brand-hero) .standout strong{font-size:23px}
 :is(.home-story .hero-art,.service-brand-hero) .result-promise{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.location-motion-toggle{transition:none}}
@media print{.location-motion-toggle{display:none}.location-scene{break-inside:avoid}}
