/* ================================================================
   LEGAL CENTRE — Visual Enhancement V1
   Screen-only art direction layer. Loaded BEFORE Contrast Guard V1.
   Premium light motion, depth, atmosphere, shadows and micro-interactions.
   No document/PDF/template-canvas styling.
   ================================================================ */
:root{
  --lc-ve-green:#087443;
  --lc-ve-deep:#075335;
  --lc-ve-dark:#043c28;
  --lc-ve-orange:#f47a1f;
  --lc-ve-gold:#f2c318;
  --lc-ve-ink:#151a17;
  --lc-ve-paper:#ffffff;
  --lc-ve-soft:#f6f9f7;
  --lc-ve-line:rgba(18,56,39,.10);
  --lc-ve-shadow:0 18px 55px rgba(12,42,29,.075),0 3px 12px rgba(12,42,29,.045);
  --lc-ve-shadow-hover:0 26px 72px rgba(12,42,29,.12),0 8px 24px rgba(12,42,29,.07);
  --lc-ve-ease:cubic-bezier(.22,1,.36,1);
}

@media screen{
  html{background:#f7faf8}
  body.lc-ve{
    --lc-ve-x:50%;--lc-ve-y:10%;
    background-color:#f8faf9;
    background-image:
      radial-gradient(900px 520px at var(--lc-ve-x) var(--lc-ve-y),rgba(8,116,67,.050),transparent 62%),
      radial-gradient(720px 460px at 92% 18%,rgba(244,122,31,.035),transparent 64%),
      radial-gradient(760px 500px at 12% 88%,rgba(242,195,24,.030),transparent 66%);
    background-attachment:fixed;
  }

  /* ----- Header: calm glass, stronger after scroll ----- */
  body.lc-ve .lcbank-header,
  body.lc-ve .lcf-header{
    transition:box-shadow .45s var(--lc-ve-ease),border-color .45s var(--lc-ve-ease),background-color .45s var(--lc-ve-ease),backdrop-filter .45s ease;
  }
  body.lc-ve.lc-ve-scrolled .lcbank-header,
  body.lc-ve.lc-ve-scrolled .lcf-header{
    background:rgba(255,255,255,.91)!important;
    border-bottom-color:rgba(19,59,41,.10)!important;
    box-shadow:0 14px 45px rgba(14,43,31,.085)!important;
    -webkit-backdrop-filter:saturate(145%) blur(18px);
    backdrop-filter:saturate(145%) blur(18px);
  }
  body.lc-ve .lc-top-panel,
  body.lc-ve .lcf-mega,
  body.lc-ve .lc-account-popover,
  body.lc-ve .lcf-search-results{
    box-shadow:0 30px 90px rgba(10,38,26,.15),0 3px 14px rgba(10,38,26,.06)!important;
    border-color:rgba(16,62,40,.10)!important;
  }

  /* ----- Universal interaction layer assigned safely by JS ----- */
  body.lc-ve .lc-ve-card{
    transition:transform .42s var(--lc-ve-ease),box-shadow .42s var(--lc-ve-ease),border-color .32s ease,background-color .32s ease,filter .32s ease!important;
    will-change:transform;
  }
  @media (hover:hover) and (pointer:fine){
    body.lc-ve .lc-ve-card:hover{
      transform:translate3d(0,-5px,0);
      box-shadow:var(--lc-ve-shadow-hover)!important;
      border-color:rgba(8,116,67,.15)!important;
    }
    body.lc-ve .lc-ve-card[data-lc-ve-soft="1"]:hover{transform:translate3d(0,-3px,0)}
  }
  body.lc-ve .lc-ve-action{
    transition:transform .28s var(--lc-ve-ease),box-shadow .28s var(--lc-ve-ease),filter .28s ease,background-color .28s ease,border-color .28s ease!important;
    transform:translateZ(0);
  }
  @media (hover:hover) and (pointer:fine){
    body.lc-ve .lc-ve-action:hover{transform:translate3d(0,-2px,0);filter:saturate(1.04)}
  }
  body.lc-ve .lc-ve-action:active{transform:translate3d(0,0,0) scale(.985)}
  body.lc-ve .lc-ve-action:focus-visible{box-shadow:0 0 0 4px rgba(8,116,67,.10),0 12px 30px rgba(8,116,67,.10)!important}

  /* ----- Scroll reveal: short, subtle, never theatrical ----- */
  body.lc-ve .lc-ve-reveal{
    opacity:0;
    transform:translate3d(0,18px,0) scale(.992);
    transition:opacity .72s var(--lc-ve-ease),transform .82s var(--lc-ve-ease);
    transition-delay:var(--lc-ve-delay,0ms);
  }
  body.lc-ve .lc-ve-reveal.is-visible{opacity:1;transform:none}

  /* ----- HOME: atmospheric surfaces + story hierarchy ----- */
  body.lc-ve-home .lch-hero{
    position:relative;
    background:
      radial-gradient(650px 380px at 14% 18%,rgba(8,116,67,.09),transparent 68%),
      radial-gradient(520px 360px at 88% 20%,rgba(242,195,24,.09),transparent 66%),
      linear-gradient(180deg,#fbfdfc 0%,#f5f9f6 100%)!important;
    box-shadow:inset 0 -1px 0 rgba(12,52,34,.06);
  }
  body.lc-ve-home .lch-hero:after{
    content:"";position:absolute;inset:auto 4% 0;height:1px;pointer-events:none;
    background:linear-gradient(90deg,transparent,var(--lc-ve-orange) 14%,var(--lc-ve-gold) 48%,var(--lc-ve-green) 84%,transparent);
    opacity:.72;
  }
  body.lc-ve-home .lch-hero-copy h1{
    text-shadow:0 1px 0 rgba(255,255,255,.7),0 20px 60px rgba(9,41,28,.08);
  }
  body.lc-ve-home .lch-smart-finder,
  body.lc-ve-home .lch-finder{
    box-shadow:0 28px 80px rgba(11,42,29,.10)!important;
    border-color:rgba(15,64,42,.10)!important;
    -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  }
  body.lc-ve-home .lch-category:nth-child(4n+1){background-image:linear-gradient(145deg,rgba(8,116,67,.035),transparent 52%)}
  body.lc-ve-home .lch-category:nth-child(4n+2){background-image:linear-gradient(145deg,rgba(244,122,31,.035),transparent 52%)}
  body.lc-ve-home .lch-category:nth-child(4n+3){background-image:linear-gradient(145deg,rgba(242,195,24,.045),transparent 52%)}
  body.lc-ve-home .lch-category:nth-child(4n){background-image:linear-gradient(145deg,rgba(8,116,67,.028),rgba(244,122,31,.018))}
  body.lc-ve-home .lch-final-card{
    position:relative;
    background:
      radial-gradient(420px 210px at 85% 10%,rgba(242,195,24,.13),transparent 72%),
      linear-gradient(135deg,#073f2a 0%,#0a6640 100%)!important;
    box-shadow:0 34px 90px rgba(5,55,34,.18)!important;
  }
  body.lc-ve-home .lch-final-card:before{
    content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
    background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.08) 38%,transparent 62%);
    transform:translateX(-55%);animation:lc-ve-sheen 8s ease-in-out infinite;
  }

  /* ----- SERVICES DIRECTORY ----- */
  body.lc-ve-services .lcs-hero{
    background:
      radial-gradient(700px 330px at 8% 0%,rgba(8,116,67,.09),transparent 64%),
      radial-gradient(520px 320px at 92% 18%,rgba(244,122,31,.055),transparent 66%),
      linear-gradient(180deg,#fbfdfc,#f6f9f7)!important;
  }
  body.lc-ve-services .lcs-search{
    box-shadow:0 18px 54px rgba(14,48,33,.075)!important;
  }
  body.lc-ve-services .lcs-card{
    box-shadow:0 12px 34px rgba(15,49,34,.045);
  }
  body.lc-ve-services .lcs-card-num{background:linear-gradient(180deg,#fffdf3,#fff8d7)}

  /* ----- SERVICE DETAIL ----- */
  body.lc-ve-service .service-hero{
    background:
      radial-gradient(760px 390px at 8% 8%,rgba(8,116,67,.08),transparent 64%),
      radial-gradient(520px 280px at 90% 14%,rgba(242,195,24,.07),transparent 66%),
      linear-gradient(180deg,#fbfdfc,#f7faf8)!important;
  }
  body.lc-ve-service .price-box,
  body.lc-ve-service .panel,
  body.lc-ve-service .lc-before-card{
    box-shadow:0 14px 44px rgba(14,48,33,.055);
  }

  /* ----- AUTH ----- */
  body.lc-ve-auth .lca-shell{box-shadow:0 34px 100px rgba(11,40,28,.14)!important}
  body.lc-ve-auth .lca-brand{
    background:
      radial-gradient(420px 310px at 18% 12%,rgba(242,195,24,.16),transparent 70%),
      radial-gradient(390px 280px at 84% 88%,rgba(244,122,31,.12),transparent 70%),
      linear-gradient(145deg,#043c28 0%,#07613c 55%,#087443 100%)!important;
    background-size:120% 120%;
    animation:lc-ve-auth-bg 14s ease-in-out infinite alternate;
  }
  body.lc-ve-auth .lca-formside{background:linear-gradient(180deg,#fff,#fbfcfb)!important}

  /* ----- CUSTOMER MY BUSINESS ----- */
  body.lc-ve-dashboard .lcbw{
    background:
      radial-gradient(720px 420px at 12% 0%,rgba(8,116,67,.055),transparent 68%),
      linear-gradient(180deg,#f8fbf9,#f5f8f6)!important;
  }
  body.lc-ve-dashboard .lcbw-hero{
    background:
      radial-gradient(420px 250px at 90% 12%,rgba(242,195,24,.10),transparent 70%),
      linear-gradient(135deg,#ffffff 0%,#fbfdfc 100%)!important;
    box-shadow:0 20px 64px rgba(12,45,31,.065)!important;
  }
  body.lc-ve-dashboard .lcbw-card{box-shadow:0 12px 38px rgba(12,45,31,.045)}
  body.lc-ve-dashboard .lcbw-next.urgent{box-shadow:0 16px 46px rgba(186,73,24,.08)}

  /* ----- BILLING WORKSPACE; excludes document/PDF sheet ----- */
  body.lc-ve-billing .lb:not(.bd),body.lc-ve-billing .lbw{
    background-image:radial-gradient(700px 380px at 96% 0%,rgba(8,116,67,.045),transparent 70%);
  }
  body.lc-ve-billing .lb-hero{
    background:
      radial-gradient(420px 220px at 94% 0%,rgba(244,122,31,.06),transparent 72%),
      linear-gradient(135deg,#fff,#fbfdfc)!important;
    box-shadow:0 18px 56px rgba(14,48,33,.055)!important;
  }
  body.lc-ve-billing .lb-card,body.lc-ve-billing .quick a{box-shadow:0 10px 30px rgba(14,48,33,.04)}

  /* ----- COMPLIANCE / VAULT ----- */
  body.lc-ve-compliance .ccw,
  body.lc-ve-vault .lcv-wrap{
    background-image:radial-gradient(650px 350px at 94% 0%,rgba(242,195,24,.045),transparent 72%);
  }
  body.lc-ve-compliance .task,
  body.lc-ve-compliance .stat,
  body.lc-ve-vault .lcv-card,
  body.lc-ve-vault .lcv-stat{box-shadow:0 10px 32px rgba(14,48,33,.04)}
  body.lc-ve-vault .lcv-hero{background:linear-gradient(135deg,#fff,#f8fbf9)!important}

  /* ----- KNOWLEDGE / GENERAL CONTENT ----- */
  body.lc-ve-knowledge :where(.kc-card,.knowledge-card,.article-card){box-shadow:0 12px 36px rgba(14,48,33,.045)}
  body.lc-ve-general :where(.panel,.card):not(.bd):not([class*="ep2-"]){box-shadow:0 10px 34px rgba(14,48,33,.04)}

  /* ----- Footer: grounded brand finish ----- */
  body.lc-ve .lcf-footer{
    background-image:
      radial-gradient(620px 300px at 8% 0%,rgba(8,116,67,.18),transparent 70%),
      radial-gradient(460px 260px at 90% 100%,rgba(242,195,24,.07),transparent 72%)!important;
  }

  /* no movement for print-oriented design canvases / invoice sheets */
  body.lc-ve :where(.bd,[class*="ep2-"],.mbbx-stage,.mbbx-canvas,.lc-studio-v8,.lc-studio-v7,.lc-studio-v6) .lc-ve-card{
    transform:none!important;box-shadow:inherit!important;transition:none!important;
  }
}

@keyframes lc-ve-sheen{0%,72%,100%{transform:translateX(-65%)}84%{transform:translateX(75%)}}
@keyframes lc-ve-auth-bg{from{background-position:0% 0%}to{background-position:100% 100%}}

@media (max-width:900px){
  body.lc-ve{background-image:linear-gradient(180deg,#f9fbfa,#f7faf8)}
  body.lc-ve .lc-ve-card{will-change:auto}
  body.lc-ve-home .lch-hero,
  body.lc-ve-services .lcs-hero,
  body.lc-ve-service .service-hero{background:linear-gradient(180deg,#fbfdfc,#f6f9f7)!important}
}

@media (prefers-reduced-motion:reduce){
  body.lc-ve *,body.lc-ve *::before,body.lc-ve *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  body.lc-ve .lc-ve-reveal{opacity:1!important;transform:none!important}
}

@media print{
  body.lc-ve{background:none!important}
  body.lc-ve .lc-ve-card,body.lc-ve .lc-ve-action{transform:none!important;box-shadow:none!important;filter:none!important}
}
