/* up.v2.css — UltraPremium visual overlay (CSP-safe, CSS-only)
   RULE: must NOT alter Cloudflare Turnstile sizing or iframe layout.
   Therefore: NO selectors for .cf-turnstile, iframe, .turnstileRow, .btnRow.
*/

:root{
  /* Subtle premium surface tuning (no color hard-coding beyond small deltas) */
  --up-radius-lg: 20px;
  --up-radius-md: 14px;
  --up-border: rgba(255,255,255,.10);
  --up-border-strong: rgba(255,255,255,.16);
  --up-shadow-1: 0 14px 40px rgba(0,0,0,.24);
  --up-shadow-2: 0 20px 70px rgba(0,0,0,.32);
  --up-glow: 0 0 0 1px rgba(255,255,255,.06) inset;
}

/* Typography polish without changing font family decisions */
html{
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body{
  letter-spacing: .01em;
}

/* Section rhythm: reduce "random" gaps, keep layout stable */
.section, .content, main{
  scroll-margin-top: 90px;
}

/* Panels / Cards: add depth & edge highlight (premium) */
.panel, .card, .artifactItem, .ddMenu, .modalPanel{
  border-radius: var(--up-radius-lg);
  border: 1px solid var(--up-border);
  box-shadow: var(--up-glow), var(--up-shadow-1);
  backdrop-filter: saturate(1.05);
}
.card:hover, .artifactItem:hover{
  box-shadow: var(--up-glow), var(--up-shadow-2);
}

/* Make long-form text easier to read (KB pages, policies) */
.prose, .article, .kb, .doc, article{
  max-width: 72ch;
}
.prose p, article p{
  line-height: 1.65;
}

/* Headings: tighter, more "product" */
h1{
  letter-spacing: -0.02em;
}
h2{
  letter-spacing: -0.015em;
}
h3{
  letter-spacing: -0.01em;
}

/* Buttons: clearer hierarchy, still aligned with existing palette */
.btn{
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 10px 26px rgba(0,0,0,.22);
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
@media (hover:hover){
  .btn:hover{
    transform: translateY(-1px);
    box-shadow: 0 16px 40px rgba(0,0,0,.26);
    border-color: rgba(255,255,255,.22);
  }
}
.btn:active{ transform: translateY(0); }

/* Inputs: premium focus ring, no size changes */
input, textarea, select{
  border-radius: var(--up-radius-md);
}
:focus-visible{
  outline: 2px solid rgba(90,160,255,.55);
  outline-offset: 2px;
}

/* Dropdown menu: crisper */
.ddMenu{
  border: 1px solid var(--up-border-strong);
}

/* Reduce motion for users who asked for it */
@media (prefers-reduced-motion: reduce){
  *{ transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* IA: mobile-only nav items injected by JS (keeps header uncluttered) */
.nav a.navMobileOnly{ display:none; }
@media (max-width: 1120px){
  .nav a.navMobileOnly{ display:block; }
}
