/* ===== premium site opening animation ===== */
    body:not(.site-ready){
      overflow:hidden;
    }

    .site-preloader{
      position:fixed;
      inset:0;
      z-index:9999;
      display:grid;
      place-items:center;
      background:
        radial-gradient(circle at 50% 35%, rgba(126,217,87,.24), transparent 28rem),
        linear-gradient(135deg, #fbfdfb 0%, #eef8eb 48%, #ffffff 100%);
      transition:opacity .75s cubic-bezier(.2,.7,.2,1), visibility .75s cubic-bezier(.2,.7,.2,1);
    }

    body.site-ready .site-preloader{
      opacity:0;
      visibility:hidden;
      pointer-events:none;
    }

    .preloader-card{
      position:relative;
      width:min(420px, calc(100vw - 44px));
      min-height:310px;
      border-radius:42px;
      background:rgba(255,255,255,.78);
      border:1px solid rgba(19,34,24,.10);
      box-shadow:0 36px 110px rgba(19,34,24,.14);
      backdrop-filter:blur(18px);
      display:grid;
      place-items:center;
      overflow:hidden;
      transform:translateY(0) scale(1);
      animation:preloaderCard 2.35s cubic-bezier(.2,.7,.2,1) forwards;
    }

    .preloader-card::before{
      content:"";
      position:absolute;
      width:220px;
      height:220px;
      border-radius:50%;
      background:rgba(126,217,87,.22);
      filter:blur(8px);
      top:-86px;
      right:-74px;
      animation:preloaderBlob 2.35s ease-in-out infinite alternate;
    }

    .preloader-card::after{
      content:"";
      position:absolute;
      inset:18px;
      border-radius:32px;
      border:1px solid rgba(19,34,24,.07);
      pointer-events:none;
    }

    .preloader-content{
      position:relative;
      z-index:2;
      text-align:center;
      display:grid;
      justify-items:center;
      gap:18px;
    }

    .preloader-logo{
      position:relative;
      width:112px;
      height:112px;
      border-radius:32px;
      display:grid;
      place-items:center;
      background:linear-gradient(135deg, var(--accent), #e6f8d9);
      color:#103414;
      font-size:38px;
      font-weight:950;
      letter-spacing:-.1em;
      box-shadow:0 24px 55px rgba(126,217,87,.34);
      animation:logoPulse 1.35s ease-in-out infinite alternate;
    }

    .preloader-logo::before,
    .preloader-logo::after{
      content:"";
      position:absolute;
      border-radius:999px;
      border:2px solid rgba(126,217,87,.38);
      inset:-14px;
      animation:logoOrbit 2.1s linear infinite;
    }

    .preloader-logo::after{
      inset:-24px;
      border-color:rgba(19,34,24,.09);
      animation-duration:3.2s;
      animation-direction:reverse;
    }

    .preloader-title{
      display:grid;
      gap:6px;
    }

    .preloader-title strong{
      display:block;
      font-size:25px;
      letter-spacing:-.055em;
    }

    .preloader-title span{
      display:block;
      color:var(--muted);
      font-size:14px;
      font-weight:750;
    }

    .preloader-line{
      width:190px;
      height:8px;
      border-radius:999px;
      background:rgba(19,34,24,.08);
      overflow:hidden;
    }

    .preloader-line i{
      display:block;
      width:46%;
      height:100%;
      border-radius:999px;
      background:linear-gradient(90deg, var(--accent), #fff, var(--accent-2));
      animation:lineMove 1.25s ease-in-out infinite;
    }

    @keyframes logoPulse{
      from{transform:translateY(0) scale(1)}
      to{transform:translateY(-4px) scale(1.035)}
    }

    @keyframes logoOrbit{
      to{transform:rotate(360deg)}
    }

    @keyframes lineMove{
      0%{transform:translateX(-110%)}
      100%{transform:translateX(230%)}
    }

    @keyframes preloaderBlob{
      from{transform:translate(0,0) scale(1)}
      to{transform:translate(-18px,22px) scale(1.08)}
    }

    @keyframes preloaderCard{
      0%{opacity:0; transform:translateY(18px) scale(.96)}
      18%{opacity:1; transform:translateY(0) scale(1)}
      78%{opacity:1; transform:translateY(0) scale(1)}
      100%{opacity:1; transform:translateY(-4px) scale(1.015)}
    }
