/* Shared hero layout, branded entrance, and project-carousel transitions. */
.section { overflow-x:hidden; }
.hero-scene { position:absolute; right:-52px; bottom:16px; width:465px; height:540px; perspective:1000px; pointer-events:none; z-index:0; }
.hero-aura { position:absolute; inset:14% -8% 8%; border-radius:50%; background:radial-gradient(ellipse at var(--light-x,55%) var(--light-y,40%),#d79a5724,transparent 63%); transform:translateZ(-90px); }
.work--lockup .slider { perspective:1100px; }
.work--lockup .project-selector { transform-style:preserve-3d; }
.work--lockup .slider--item-image { transition:opacity .5s,border-color .3s,box-shadow .4s,transform .3s; }
.project-pagination button { transition:color .25s,border-color .25s,background .25s; }
.map-location-dot { position:absolute; left:46%; top:49%; width:62px; height:62px; display:grid; place-items:center; transform:translate(-50%,-50%); border-radius:50%; background:#153cff4d; box-shadow:0 0 28px #173cff2b; pointer-events:none; }
.map-location-dot>span { width:38px; height:38px; border-radius:50%; background:#153cff; box-shadow:0 0 0 6px #153cff33; }
@media(min-width:1500px) { .hero-scene { width:490px; height:600px; right:-30px; } }
@media(min-width:901px) and (max-width:1180px) { .hero-scene { width:390px; height:505px; right:-40px; opacity:.88; } .map-location-dot { left:36%; } }
@media(max-width:900px) { .hero-scene { width:395px; height:510px; right:-45px; opacity:.75; } .map-location-dot { left:27%; } }
@media(min-width:601px) and (max-height:760px) { .hero-scene { width:380px; height:480px; } }
@media(max-width:700px) { .map-location-dot { top:115px; left:50%; width:48px; height:48px; } .map-location-dot>span { width:28px; height:28px; box-shadow:0 0 0 5px #153cff33; } .contact--lockup { padding-top:155px; } }
@media(max-width:600px) { .hero-scene { width:260px; height:390px; right:-55px; bottom:20px; opacity:.35; } }
