/* PKC 3D depth layer: raised surfaces, layered light and gentle motion.
   Works on top of pkc-premium.css. Content is never changed.
   Turn off: Super Admin > Settings > Layout > "3D design". */
html.pkc-site.pkc-premium.pkc-3d {
  --d-radius: 14px;
  --d-ease: cubic-bezier(.2, .7, .2, 1);
  --d-shadow-1: 0 1px 2px rgba(10, 30, 20, .06), 0 6px 16px -4px rgba(10, 30, 20, .10), 0 22px 44px -18px rgba(10, 30, 20, .22);
  --d-shadow-2: 0 2px 4px rgba(10, 30, 20, .08), 0 14px 28px -6px rgba(10, 30, 20, .16), 0 36px 64px -22px rgba(10, 30, 20, .32);
  --d-shadow-dark: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 18px 40px -16px rgba(0, 0, 0, .65), 0 4px 10px rgba(0, 0, 0, .25);
  --d-shadow-dark-2: 0 1px 0 rgba(255, 255, 255, .10) inset, 0 30px 60px -20px rgba(0, 0, 0, .8), 0 8px 18px rgba(0, 0, 0, .3);
}

/* ---------- light & atmosphere ---------- */
html.pkc-site.pkc-premium.pkc-3d #root section.pkc-light {
  background-image: radial-gradient(120% 70% at 50% -10%, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 60%) !important;
}
html.pkc-site.pkc-premium.pkc-3d #root section.pkc-light.pkc-alt {
  background-image: radial-gradient(110% 80% at 50% 0%, #fbfaf7 0%, #f1efe8 70%) !important;
}
html.pkc-site.pkc-premium.pkc-3d #root section.pkc-dark {
  background-image:
    radial-gradient(90% 60% at 50% 0%, rgba(255, 255, 255, .07) 0%, rgba(255, 255, 255, 0) 60%),
    linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .25) 100%) !important;
}
html.pkc-site.pkc-premium.pkc-3d #root section.pkc-sec { position: relative; }
html.pkc-site.pkc-premium.pkc-3d #root section.pkc-sec + section.pkc-sec::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(0, 0, 0, .08), transparent);
}

/* ---------- raised cards (same size in every row) ---------- */
html.pkc-site.pkc-premium.pkc-3d #root .pkc-card {
  border-radius: var(--d-radius) !important;
  transition: transform .45s var(--d-ease), box-shadow .45s var(--d-ease), border-color .3s !important;
  transform-style: preserve-3d;
  will-change: transform;
  position: relative;
}
html.pkc-site.pkc-premium.pkc-3d #root .pkc-light .pkc-card {
  background-color: #fff !important;
  background-image: linear-gradient(180deg, #ffffff 0%, #fbfaf7 100%) !important;
  border: 1px solid rgba(20, 40, 30, .08) !important;
  box-shadow: var(--d-shadow-1), inset 0 1px 0 rgba(255, 255, 255, .9) !important;
}
html.pkc-site.pkc-premium.pkc-3d #root .pkc-dark .pkc-card {
  background-color: rgba(255, 255, 255, .045) !important;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, .07) 0%, rgba(255, 255, 255, .015) 100%) !important;
  border: 1px solid rgba(255, 255, 255, .10) !important;
  box-shadow: var(--d-shadow-dark) !important;
}
html.pkc-site.pkc-premium.pkc-3d #root .pkc-light .pkc-card:hover { box-shadow: var(--d-shadow-2), inset 0 1px 0 #fff !important; border-color: rgba(20, 40, 30, .12) !important; }
html.pkc-site.pkc-premium.pkc-3d #root .pkc-dark .pkc-card:hover { box-shadow: var(--d-shadow-dark-2) !important; border-color: rgba(255, 255, 255, .18) !important; }
@media (hover: hover) and (pointer: fine) {
  html.pkc-site.pkc-premium.pkc-3d #root .pkc-card:hover:not(.pkc-tilting) { transform: translate3d(0, -6px, 0) !important; }
  html.pkc-site.pkc-premium.pkc-3d #root .pkc-card.pkc-tilting {
    transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translate3d(0, -6px, 0) !important;
    transition: transform .12s linear, box-shadow .45s var(--d-ease) !important;
  }
}
/* a soft light that follows the pointer across a card */
html.pkc-site.pkc-premium.pkc-3d #root .pkc-card.pkc-tilting::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: radial-gradient(400px circle at var(--mx, 50%) var(--my, 0%), rgba(255, 255, 255, .16), transparent 45%);
}
html.pkc-site.pkc-premium.pkc-3d #root .pkc-light .pkc-card.pkc-tilting::after {
  background: radial-gradient(400px circle at var(--mx, 50%) var(--my, 0%), rgba(255, 255, 255, .7), transparent 45%);
  mix-blend-mode: soft-light;
}
/* cards that sit side by side get the same height */
html.pkc-site.pkc-premium.pkc-3d #root .pkc-row-equal { align-items: stretch !important; }
html.pkc-site.pkc-premium.pkc-3d #root .pkc-row-equal > .pkc-card,
html.pkc-site.pkc-premium.pkc-3d #root .pkc-row-equal > * > .pkc-card { height: 100% !important; }
html.pkc-site.pkc-premium.pkc-3d #root .pkc-row-equal > .pkc-card { display: flex; flex-direction: column; }

/* images inside cards: a little depth */
html.pkc-site.pkc-premium.pkc-3d #root .pkc-card img { transition: transform .6s var(--d-ease) !important; }
@media (hover: hover) { html.pkc-site.pkc-premium.pkc-3d #root .pkc-card:hover img { transform: scale(1.04) !important; } }

/* ---------- 3D buttons ---------- */
html.pkc-site.pkc-premium.pkc-3d #root .pkc-btn {
  border-radius: 10px !important;
  transition: transform .15s var(--d-ease), box-shadow .2s var(--d-ease), background-color .2s !important;
}
html.pkc-site.pkc-premium.pkc-3d #root .pkc-btn-solid {
  background-image: linear-gradient(180deg, rgba(255, 255, 255, .18) 0%, rgba(255, 255, 255, 0) 55%) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .25) inset, 0 4px 0 rgba(0, 0, 0, .22), 0 10px 22px -8px rgba(0, 0, 0, .45) !important;
}
html.pkc-site.pkc-premium.pkc-3d #root :is(.pkc-dark, .pkc-hero) .pkc-btn-solid {
  background-image: linear-gradient(180deg, #ffffff 0%, #ece9df 100%) !important;
  box-shadow: 0 1px 0 #fff inset, 0 4px 0 #b9b4a6, 0 14px 28px -10px rgba(0, 0, 0, .6) !important;
}
html.pkc-site.pkc-premium.pkc-3d #root .pkc-btn-solid:hover { transform: translateY(-2px) !important; }
html.pkc-site.pkc-premium.pkc-3d #root .pkc-btn-solid:active { transform: translateY(3px) !important; box-shadow: 0 1px 0 rgba(0, 0, 0, .25), 0 4px 10px -6px rgba(0, 0, 0, .4) !important; }
html.pkc-site.pkc-premium.pkc-3d #root .pkc-btn-ghost {
  box-shadow: 0 1px 0 rgba(255, 255, 255, .12) inset, 0 6px 16px -10px rgba(0, 0, 0, .5) !important;
  backdrop-filter: blur(6px) !important;
}
html.pkc-site.pkc-premium.pkc-3d #root .pkc-btn-ghost:hover { transform: translateY(-2px) !important; }

/* ---------- header: a floating bar ---------- */
html.pkc-site.pkc-premium.pkc-3d #main-site-header {
  background-image: linear-gradient(180deg, rgba(255, 255, 255, .06) 0%, rgba(255, 255, 255, 0) 100%) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 12px 32px -12px rgba(0, 0, 0, .7) !important;
}
html.pkc-site.pkc-premium.pkc-3d #main-site-header nav :is(a, button) {
  transition: background-color .2s, transform .2s var(--d-ease), box-shadow .2s !important;
  white-space: nowrap;
}
html.pkc-site.pkc-premium.pkc-3d #main-site-header nav :is(a, button):hover {
  background-color: rgba(255, 255, 255, .07) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .08) inset, 0 6px 14px -8px rgba(0, 0, 0, .8) !important;
  transform: translateY(-1px);
}
@media (min-width: 1024px) {
  html.pkc-site.pkc-premium.pkc-3d #main-site-header nav :is(a, button) { padding-left: .55rem !important; padding-right: .55rem !important; font-size: .86rem !important; }
}
/* dropdown menus: lifted panels */
html.pkc-site.pkc-premium.pkc-3d #main-site-header [class*="absolute"][class*="rounded"] {
  border-radius: 12px !important;
  box-shadow: 0 24px 60px -20px rgba(0, 0, 0, .75), 0 1px 0 rgba(255, 255, 255, .08) inset !important;
}

/* ---------- hero: depth on scroll ---------- */
html.pkc-site.pkc-premium.pkc-3d #root .pkc-hero { perspective: 1200px; }
html.pkc-site.pkc-premium.pkc-3d #root .pkc-hero > .absolute.inset-0:first-child {
  transform: translate3d(0, var(--pkc-par, 0px), 0) scale(1.08); will-change: transform;
}
html.pkc-site.pkc-premium.pkc-3d #root .pkc-hero :is(h1, h2) {
  text-shadow: 0 2px 0 rgba(0, 0, 0, .25), 0 18px 40px rgba(0, 0, 0, .45) !important;
}
html.pkc-site.pkc-premium.pkc-3d #root .pkc-hero::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 90px; pointer-events: none; z-index: 1;
  background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .35));
}

/* ---------- section titles: a quiet raised look ---------- */
html.pkc-site.pkc-premium.pkc-3d #root .pkc-light :is(h2) { text-shadow: 0 1px 0 #fff, 0 10px 24px rgba(10, 30, 20, .10) !important; }
html.pkc-site.pkc-premium.pkc-3d #root .pkc-dark :is(h2) { text-shadow: 0 12px 30px rgba(0, 0, 0, .55) !important; }

/* ---------- footer: a raised base ---------- */
html.pkc-site.pkc-premium.pkc-3d #root footer {
  background-image: linear-gradient(180deg, rgba(255, 255, 255, .04) 0%, rgba(0, 0, 0, .2) 100%) !important;
  box-shadow: 0 -1px 0 rgba(255, 255, 255, .06) inset, 0 -24px 48px -24px rgba(0, 0, 0, .5) !important;
}

/* floating buttons */
html.pkc-site.pkc-premium.pkc-3d .pkc-float {
  box-shadow: 0 1px 0 rgba(255, 255, 255, .2) inset, 0 4px 0 rgba(0, 0, 0, .25), 0 16px 30px -10px rgba(0, 0, 0, .5) !important;
  border-radius: 12px !important;
}

/* ---------- appear on scroll ---------- */
html.pkc-site.pkc-premium.pkc-3d.pkc-3d-ready #root .pkc-reveal {
  opacity: 0; transform: perspective(1000px) translate3d(0, 28px, 0) rotateX(6deg);
  transition: opacity .8s var(--d-ease), transform .8s var(--d-ease);
}
html.pkc-site.pkc-premium.pkc-3d.pkc-3d-ready #root .pkc-reveal.pkc-in { opacity: 1; transform: none; }

/* phones and tablets: lighter shadows, no tilt */
@media (max-width: 767px) {
  html.pkc-site.pkc-premium.pkc-3d { --d-radius: 12px; }
  html.pkc-site.pkc-premium.pkc-3d #root .pkc-light .pkc-card { box-shadow: 0 1px 2px rgba(10, 30, 20, .06), 0 10px 24px -12px rgba(10, 30, 20, .22) !important; }
}
@media (prefers-reduced-motion: reduce) {
  html.pkc-site.pkc-premium.pkc-3d #root *, html.pkc-site.pkc-premium.pkc-3d #root .pkc-reveal { transition: none !important; transform: none !important; opacity: 1 !important; }
}

/* small phones: keep every header control inside the screen */
@media (max-width: 430px) {
  html.pkc-site.pkc-premium #main-site-header > div { padding-left: 10px !important; padding-right: 10px !important; }
  html.pkc-site.pkc-premium #main-site-header > div > div { gap: 6px !important; }
  html.pkc-site.pkc-premium .pkc-float { transform: scale(.88); transform-origin: right bottom; }
}
/* big screens and TVs: the header grows with the text */
@media (min-width: 1920px) {
  html.pkc-site.pkc-premium #main-site-header > div[class*="max-w-"] { max-width: min(96vw, 112rem) !important; }
}
html.pkc-site.pkc-premium #main-site-header nav { min-width: 0; overflow: hidden; }
/* laptops (1024-1439px): slightly tighter menu so all items fit in one line */
@media (min-width: 1024px) and (max-width: 1439px) {
  html.pkc-site.pkc-premium.pkc-3d #main-site-header nav :is(a, button) { padding-left: .4rem !important; padding-right: .4rem !important; font-size: .8rem !important; }
  html.pkc-site.pkc-premium #main-site-header > div[class*="max-w-"] { gap: .5rem !important; }
}