/* ===================================================================
   PracticeRank enhancement layer v2 — modernizes the cloned Elementor
   site + restores interactivity broken by static export. Brand preserved.
   =================================================================== */
:root{--pr-gold:#c18d15;--pr-gold-bright:#ffb400;--pr-navy:#27314f;--pr-charcoal:#32373c;--pr-ease:cubic-bezier(.22,1,.36,1);}

/* ---- global polish & fixes ---- */
html{scroll-behavior:smooth;}
*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
body{overflow-x:hidden;text-rendering:optimizeLegibility;}
img,video,svg,iframe{max-width:100%;height:auto;}
a,button,.elementor-button,input,select,textarea{transition:color .2s var(--pr-ease),background-color .25s var(--pr-ease),border-color .2s var(--pr-ease),box-shadow .25s var(--pr-ease),transform .2s var(--pr-ease)!important;}
a:focus-visible,button:focus-visible,.elementor-button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--pr-gold) 60%,transparent);outline-offset:2px;}
.elementor-button,button[type=submit],.wp-block-button__link{border-radius:10px!important;box-shadow:0 1px 2px rgba(0,0,0,.08);}
.elementor-button:hover,button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 8px 22px color-mix(in srgb,var(--pr-gold) 35%,transparent);}
h1,h2,h3,.elementor-heading-title{line-height:1.18;letter-spacing:-.01em;}
p,li{line-height:1.7;}
header.scrolled,.elementor-sticky--effects{box-shadow:0 4px 24px rgba(0,0,0,.10)!important;}

/* logo is clickable */
a[href="/"] img, .site-logo img, .elementor-widget-theme-site-logo img{cursor:pointer;}

/* ===== working nav dropdowns (Elementor nav menu, static export) =====
   CLICK-based (enhance.js toggles .pr-open) — robust, no hover-gap chasing.
   Elementor's own reveal JS doesn't run in a static export. */
.elementor-nav-menu--main .menu-item-has-children{position:relative;}
.elementor-nav-menu--main .menu-item-has-children > .sub-menu,
.elementor-nav-menu--main .menu-item-has-children > .elementor-nav-menu--dropdown{
  display:none!important;position:absolute!important;top:100%;left:0;min-width:248px;background:#fff;list-style:none;margin:0;padding:8px 0;
  box-shadow:0 18px 44px rgba(16,24,40,.20);border-radius:12px;border-top:3px solid var(--pr-gold);z-index:99999;}
.elementor-nav-menu--main .menu-item-has-children.pr-open > .sub-menu{display:block!important;animation:prMega .16s ease;}
@keyframes prMega{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.elementor-nav-menu--main .sub-menu .menu-item{display:block!important;float:none!important;width:auto!important;}
.elementor-nav-menu--main .sub-menu .menu-item a{display:block!important;padding:9px 20px!important;white-space:nowrap;color:var(--pr-charcoal)!important;}
.elementor-nav-menu--main .sub-menu .menu-item a:hover{background:color-mix(in srgb,var(--pr-gold) 12%,transparent);color:var(--pr-gold)!important;}
/* nested sub-sub-menus open to the side, also click-toggled */
.elementor-nav-menu--main .sub-menu .menu-item-has-children > .sub-menu{top:-8px;left:100%;}
.elementor-nav-menu--main .menu-item-has-children > a{cursor:pointer;}

/* ===== hero overlay boxes: blend instead of solid blocks ===== */
.pr-hero-overlay{background:linear-gradient(135deg,rgba(39,49,79,.62),rgba(39,49,79,.40))!important;
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.18);}
.pr-hero-form{background:linear-gradient(160deg,rgba(39,49,79,.92),rgba(39,49,79,.80))!important;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:16px!important;box-shadow:0 24px 60px rgba(0,0,0,.30)!important;}

/* ===== count-up numbers ===== */
.elementor-counter-number{font-variant-numeric:tabular-nums;}

/* ===== testimonials: stars + lift + alternating polish ===== */
.pr-stars{display:flex;gap:3px;margin-bottom:10px;color:var(--pr-gold-bright);font-size:16px;line-height:1;}
[class*="testimonial"] .elementor-widget-container,.elementor-testimonial{transition:transform .3s var(--pr-ease),box-shadow .3s var(--pr-ease);}
.pr-tcard{transition:transform .3s var(--pr-ease),box-shadow .3s var(--pr-ease)!important;border-radius:14px!important;}
.pr-tcard:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(16,24,40,.16)!important;}

/* ===== video lightbox ===== */
.pr-vmodal{position:fixed;inset:0;background:rgba(8,8,13,.86);display:flex;align-items:center;justify-content:center;z-index:100000;opacity:0;transition:opacity .25s var(--pr-ease);padding:20px;}
.pr-vmodal.pr-show{opacity:1;}
.pr-vmodal-inner{width:min(960px,94vw);aspect-ratio:16/9;position:relative;}
.pr-vmodal iframe{width:100%;height:100%;border:0;border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.5);}
.pr-vmodal-close{position:absolute;top:-44px;right:0;color:#fff;font-size:30px;cursor:pointer;background:none;border:0;line-height:1;}
.mvp-play-button,.elementor-custom-embed-play{cursor:pointer;}

/* ===== scroll-reveal ===== */
.pr-reveal{opacity:0;transform:translateY(24px);will-change:opacity,transform;transition:opacity .7s var(--pr-ease),transform .7s var(--pr-ease);}
.pr-reveal.pr-in{opacity:1;transform:none;}
.pr-reveal-d1{transition-delay:.08s;}.pr-reveal-d2{transition-delay:.16s;}.pr-reveal-d3{transition-delay:.24s;}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .pr-reveal{opacity:1!important;transform:none!important;transition:none!important;}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;}
}
