/* Independent interaction layer. Layout and type measurements live in each page stylesheet. */
html { scroll-behavior: smooth; }
html.lenis { height:auto; }
.lenis.lenis-smooth { scroll-behavior:auto !important; }
.lenis.lenis-stopped { overflow:hidden; }
.lenis.lenis-scrolling iframe { pointer-events:none; }
body.menu-open { overflow: hidden; }
[role="button"] { cursor: pointer; }
a:focus-visible, button:focus-visible, [role="button"]:focus-visible { outline: 2px solid #9b6d8a; outline-offset: 5px; }
nav .framer-kubecv { transition: background-color .5s, box-shadow .5s; }
nav.is-open { height: auto !important; justify-content:flex-start; padding-bottom:88px !important; }
nav .framer-8lvtl4 { transition: opacity .6s; }
nav.is-open .framer-8lvtl4 { position:absolute; inset:0; height:100%; opacity:1 !important; }
.site-menu { display:flex; flex-direction:column; width:100%; max-width:1528px; gap:24px; padding:48px 24px; position:relative; }
.site-menu a { display:flex; align-items:center; gap:24px; min-height:48px; font-family:'Playfair Display',serif; font-weight:500; font-size:48px; line-height:1; color:#666; text-decoration:none; width:100%; transition:color .35s; }
.site-menu a span { white-space:nowrap; }
.site-menu i { height:1px; flex:1; background:#e6e6e6; opacity:0; transform:scaleX(0); transform-origin:left; transition:opacity .35s,transform .35s; }
.site-menu b { width:48px; height:48px; display:grid; place-items:center; opacity:0; transform:translateX(-20px); transition:opacity .35s,transform .35s; }
.site-menu b svg { width:24px; height:24px; }
.site-menu a:hover, .site-menu a:focus-visible { color:#333; }
.site-menu a:hover i, .site-menu a:hover b, .site-menu a:focus-visible i, .site-menu a:focus-visible b { opacity:1; transform:none; }
.framer-Zor3B [data-framer-name^="line-"] { transition:transform .45s, top .45s; }
.framer-Zor3B[aria-expanded="true"] .framer-l7bs99 { top:24px !important; transform:rotate(-45deg) !important; }
.framer-Zor3B[aria-expanded="true"] .framer-15evzfg { top:24px !important; transform:rotate(45deg) !important; }
.framer-8h9rss, .framer-at41v6, .framer-182ngj5-container, .framer-1mwtrrb-container { transition:left .4s cubic-bezier(.2,1.15,.4,1), opacity .4s, transform .4s; }
.hover .framer-182ngj5-container, .hover .framer-1mwtrrb-container { opacity:1 !important; transform:scale(1) !important; }
.local-icon { display:block; width:100%; height:100%; fill:currentColor; }
.testimonial-track li { flex-shrink:0; }
.form-status { font:14px/1.5 'Kumbh Sans',sans-serif; color:#333; margin:12px 0 0; width:100%; }
form:has(.form-status:not(:empty)) { flex-wrap:wrap !important; }
@media(max-width:809.98px) {
  .site-menu { padding:48px 24px; gap:12px; }
  .site-menu a { font-size:28px; line-height:1; gap:24px; color:#333; }
  .site-menu a span { white-space:normal; }
  .site-menu a:nth-child(4) { display:none; }
  .site-menu i, .site-menu b { opacity:1; transform:none; }
  .site-menu b svg { width:18px; height:18px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
