/* Native Elementor controls own typography, colour, dimensions and spacing.
   This file only supplies scoped behaviour and optional decorative accents. */
.op-page{overflow:hidden;margin-inline:auto;max-width:1440px}.op-page p{margin:0}.op-page a:focus-visible{outline:3px solid currentColor;outline-offset:5px}.op-page .elementor-button{transition:transform .25s,box-shadow .25s}.op-page .elementor-button:hover{transform:translateY(-3px);box-shadow:0 8px 18px #273c2418}.op-page .op-hero-photo{position:relative}.op-page .op-hero-image img{clip-path:var(--op-clip,none)}.op-page .op-about-photo{position:relative;isolation:isolate}.op-page .op-backdrop-yes::before{content:"";position:absolute;inset:0 12% -3% -20%;background:var(--op-accent,#899884);border-radius:46% 48% 53% 30%;z-index:-1;transform:rotate(-9deg)}.op-page .op-rotate{transform:rotate(var(--op-rotate,0deg))}.op-page .op-hover-yes{transition:transform .4s ease,box-shadow .4s ease}.op-page .op-hover-yes:hover{transform:translateY(-5px) rotate(var(--op-rotate,0deg));box-shadow:0 12px 25px #20342310}.op-page .op-reveal.is-observed{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.op-page .op-reveal.is-visible{opacity:1;transform:none}.op-page .op-review-grid.is-changing{animation:opReviews .35s ease}@keyframes opReviews{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}.elementor-editor-active .op-page .op-reveal{opacity:1!important;transform:none!important}@media(prefers-reduced-motion:reduce){.op-page *,.op-page *::before{transition:none!important;animation:none!important}.op-page .op-reveal.is-observed{opacity:1;transform:none}}
.op-page .op-lead-loop{pointer-events:none}.op-page .op-logo-mark img{object-fit:contain}
