/* ERA motion study: scroll-linked layers remain reversible, with a static fallback. */
.era-motion .seal-top,.era-motion .seal-bottom{visibility:hidden}
.era-motion .seal-ring{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform-origin:50% 50%;pointer-events:none;will-change:transform}
.era-motion .seal-ring text{fill:currentColor;font:700 7.6px/1 sans-serif;letter-spacing:2.1px}
.era-motion .seal b{position:absolute;inset:0;display:grid;place-items:center;font-size:44px}
.era-motion .scroll-meter{pointer-events:auto;cursor:ns-resize;touch-action:none;outline-offset:8px}
.era-motion .scroll-meter i{position:relative;overflow:hidden}
.era-motion .scroll-meter i:after{content:"";position:absolute;left:0;top:0;width:100%;height:var(--rail-progress,0%);background:currentColor;opacity:1}
.era-motion .hero>img:not(.era-old-frame){transform:scale(var(--era-hero-scale,1));transform-origin:50% 65%;will-change:transform}
.era-motion .hero-title{transform:translate3d(0,calc(var(--era-hero-p,0) * -24vh),0);opacity:calc(1 - var(--era-hero-p,0) * .8);will-change:transform,opacity}
.era-motion .hero-line,.era-motion .hero-footer{transform:translate3d(0,calc(var(--era-hero-p,0) * -12vh),0);opacity:calc(1 - var(--era-hero-p,0) * .65)}
.era-motion .reasons{clip-path:ellipse(var(--era-circle,24%) 130% at 50% 0);border-radius:50% 50% 0 0 / var(--era-arc-radius,240px) var(--era-arc-radius,240px) 0 0;will-change:clip-path,border-radius}
.era-motion .reason-words article{transition:opacity .45s ease,transform .7s cubic-bezier(.2,.75,.2,1);opacity:.55;outline-offset:8px;cursor:default}
.era-motion .reason-words article.era-active,.era-motion .reason-words article:hover,.era-motion .reason-words article:focus-visible{opacity:1;transform:translateX(10px)}
.era-motion .reason-words article.era-active,.era-motion .reason-words article:hover,.era-motion .reason-words article:focus-visible{transform:none}
.era-motion .reasons-layout figure img{transition:opacity .55s ease,transform .8s ease;transform:scale(var(--era-image-scale,1.04))}
.era-motion .reason-photo-frame{position:relative;width:100%;aspect-ratio:.82;max-height:780px;overflow:hidden}
.era-motion .reason-photo-frame img{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:center}
.era-motion .reason-photo-frame img.era-old-frame{transition:opacity 1.2s cubic-bezier(.45,0,.55,1)}
.era-motion .reason-photo-frame img.era-new-frame{animation:era-reason-photo-enter 1.2s cubic-bezier(.45,0,.55,1) both!important}
@keyframes era-reason-photo-enter{from{opacity:0}to{opacity:1}}
@media(max-width:700px){.era-motion .reason-photo-frame{aspect-ratio:1.05;max-height:450px}.era-motion .reason-photo-frame img{object-position:50% 60%}}
.era-motion .coast img,.era-motion .location-grid img,.era-motion .architecture-grid img,.era-motion .contact>img{transform:scale(var(--era-image-scale,1.04));transform-origin:center;will-change:transform}
.era-motion .coast,.era-motion .contact{overflow:hidden}
.era-motion .contact>img{clip-path:polygon(var(--era-diagonal,0%) 0,100% 0,100% 100%,0 100%)}
.era-motion .architecture-grid img{clip-path:inset(0 var(--era-mask,0%) 0 0)}
.era-motion .coast img{clip-path:inset(0 0 0 var(--era-mask,0%))}
.era-motion .era-reveal{opacity:0;transform:translate3d(0,30px,0);transition:opacity .75s ease var(--era-delay,0ms),transform 1s cubic-bezier(.2,.7,.18,1) var(--era-delay,0ms)}
.era-motion .era-reveal.era-in{opacity:1;transform:none}
.era-motion .era-letter{display:inline-block;white-space:pre;transition:transform .45s cubic-bezier(.2,.7,.18,1),opacity .45s ease;transition-delay:calc(var(--letter-index,0) * 18ms)}
.era-motion a:hover .era-letter,.era-motion a:focus-visible .era-letter{transform:translateY(-3px)}
.era-motion .oval-cta{transition:transform .55s cubic-bezier(.2,.7,.18,1),box-shadow .55s ease}
.era-motion .oval-cta:hover,.era-motion .oval-cta:focus-visible{transform:scale(1.055);box-shadow:0 12px 35px #092d3c44}
.era-motion .amenity-layout figure,.era-motion .hero,.era-motion #lightbox{position:relative}
.era-motion .era-old-frame{position:absolute!important;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;opacity:1;z-index:1;transition:opacity .6s ease}
.era-motion .era-old-frame-out{opacity:0}
.era-motion .era-new-frame{animation:era-new-photo .7s ease both!important}
@keyframes era-new-photo{from{opacity:.1;filter:blur(4px);transform:scale(1.045)}to{opacity:1;filter:blur(0);transform:scale(1)}}
.era-motion .amenity-tabs>button{transition:opacity .45s ease,padding-left .45s ease,background .45s ease}
.era-motion .amenity-tabs>button[aria-selected="true"]{padding-left:12px}
.era-motion .filmstrip .frame img{transition:transform .8s cubic-bezier(.2,.7,.18,1),filter .8s ease}
.era-motion details summary{cursor:pointer;transition:letter-spacing .35s ease}
.era-motion details summary:hover{letter-spacing:.03em}
.era-motion .contact-content{transform:translateY(var(--era-copy-y,0px))}
@media(max-width:800px){.era-motion .hero-title{transform:translate3d(0,calc(var(--era-hero-p,0) * -9vh),0)}.era-motion .reasons{clip-path:none}.era-motion .reason-words article.era-active{transform:none}.era-motion .contact>img{clip-path:inset(0 var(--era-mask,0%) 0 0)}}
@media(max-width:700px){.era-motion .reasons{border-radius:50% 50% 0 0 / var(--era-arc-radius,95px) var(--era-arc-radius,95px) 0 0}}
@media(prefers-reduced-motion:reduce){.era-motion .seal-ring{transform:none!important}.era-motion .hero>img,.era-motion .hero-title,.era-motion .hero-line,.era-motion .hero-footer,.era-motion .coast img,.era-motion .location-grid img,.era-motion .architecture-grid img,.era-motion .contact>img,.era-motion .contact-content{transform:none!important;opacity:1!important;clip-path:none!important;animation:none!important}.era-motion .reasons{clip-path:none!important;border-radius:0!important}.era-motion .era-reveal{opacity:1!important;transform:none!important}.era-motion *{scroll-behavior:auto!important}}

@keyframes era-opening{from{clip-path:circle(0 at 50% 50%);opacity:.5}to{clip-path:circle(150% at 50% 50%);opacity:1}}
.era-motion #menu-dialog[open]{animation:era-menu-in .55s cubic-bezier(.2,.7,.18,1) both}
@keyframes era-menu-in{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0)}}

/* Solid colour first, then the expanding arched aperture. */
html.era-intro-pending body::before{content:"";position:fixed;inset:0;z-index:10000;background:#25041e;pointer-events:none}
.era-intro{position:fixed;inset:0;z-index:10000;pointer-events:none}
.era-intro svg{display:block;width:100%;height:100%;fill:#25041e}
.era-intro-outline{fill:none;stroke:#a36b89;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}
.era-motion.era-intro-running #header,.era-motion.era-intro-running .site-header,.era-motion.era-intro-running .hero-title,.era-motion.era-intro-running .hero-line,.era-motion.era-intro-running .hero-footer,.era-motion.era-intro-running .hero-top,.era-motion.era-intro-running .hero-copy,.era-motion.era-intro-running .hero-bottom,.era-motion.era-intro-running .scroll-meter,.era-motion.era-intro-running .era-rail,.era-motion.era-intro-running .render-note{opacity:var(--era-intro-ui,0)!important}
.era-motion .era-roll-viewport{display:inline-grid;vertical-align:middle;overflow:hidden;perspective:700px;max-width:100%;line-height:inherit}
.era-motion .era-roll-face{grid-area:1/1;display:block;white-space:inherit;transform-origin:center center;backface-visibility:hidden;transition:transform 1.12s cubic-bezier(.19,.69,.18,1),opacity 1.12s cubic-bezier(.19,.69,.18,1)}
.era-motion .era-roll-front{transform:translateY(0) rotateX(0);opacity:1}
.era-motion .era-roll-back{transform:translateY(105%) rotateX(-18deg);opacity:0}
.era-motion .era-roll:hover .era-roll-front,.era-motion .era-roll:focus-visible .era-roll-front{transform:translateY(-105%) rotateX(18deg);opacity:0}
.era-motion .era-roll:hover .era-roll-back,.era-motion .era-roll:focus-visible .era-roll-back{transform:translateY(0) rotateX(0);opacity:1}
@media(prefers-reduced-motion:reduce){html.era-intro-pending body::before,.era-intro{display:none!important}.era-motion .era-roll-face{transition:none!important}.era-motion .era-roll-back{display:none!important}.era-motion .era-roll:hover .era-roll-front,.era-motion .era-roll:focus-visible .era-roll-front{transform:none!important;opacity:1!important}}
