/* ============================================================
   Meddy - Corporate Trust base layer
   Things that are awkward as pure Tailwind utilities:
   3D/isometric helpers, gradient-text helper, scroll reveal,
   focus defaults, and reduced-motion handling.
   Font (Plus Jakarta Sans) is loaded via <link> in each page head.
   ============================================================ */

:root { color-scheme: light; }

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* ---- Gradient text (Visual DNA #3) ---- */
.gradient-text {
  background-image: linear-gradient(90deg, #4F46E5 0%, #7C3AED 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* ---- Atmospheric blur orbs (Visual DNA #4) ---- */
.blob { position: absolute; border-radius: 9999px; filter: blur(64px); pointer-events: none; z-index: 0; }

/* ---- Isometric / 3D depth (Non-generic bold choice) ---- */
.perspective    { perspective: 2000px; }
.preserve-3d    { transform-style: preserve-3d; }
.iso-card       { transform: rotateX(5deg) rotateY(-12deg); transition: transform .4s ease-out; }
.iso-card:hover { transform: rotateX(2deg) rotateY(-8deg); }

/* ---- Scroll reveal (progressive enhancement) ---- */
[data-reveal] { opacity: 0; transform: translateY(20px); transition: opacity .6s ease-out, transform .6s ease-out; }
[data-reveal].revealed { opacity: 1; transform: none; }

/* ---- Focus visibility (a11y) ---- */
:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #4F46E5;
  border-radius: 6px;
}

/* ---- Accordion chevron ---- */
details[open] .faq-chevron { transform: rotate(180deg); }
.faq-chevron { transition: transform .2s ease-out; }
details summary::-webkit-details-marker { display: none; }

/* ---- Respect reduced motion ---- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
  .iso-card { transform: none; }
}

/* ---- Legal / long-form content ---- */
.legal { color:#475569; font-size:1rem; line-height:1.75; }
.legal h2 { color:#0F172A; font-size:1.4rem; font-weight:800; letter-spacing:-0.01em; margin-top:2.5rem; margin-bottom:.75rem; scroll-margin-top:6rem; }
.legal h3 { color:#0F172A; font-size:1.1rem; font-weight:700; margin-top:1.5rem; margin-bottom:.5rem; }
.legal p { margin-bottom:1rem; }
.legal ul { list-style:disc; padding-left:1.4rem; margin-bottom:1rem; }
.legal ol { list-style:decimal; padding-left:1.4rem; margin-bottom:1rem; }
.legal li { margin-bottom:.4rem; }
.legal a { color:#4F46E5; font-weight:600; }
.legal a:hover { color:#4338CA; text-decoration:underline; }
.legal strong { color:#0F172A; font-weight:700; }
.legal section { scroll-margin-top:6rem; }
.legal section:first-child h2 { margin-top:0; }

/* ---- Animated hamburger (morphs to X via aria-expanded; no JS change needed) ---- */
.hamburger { background:none; border:0; padding:0; cursor:pointer; -webkit-appearance:none; appearance:none; }
.hamburger span { display:block; width:22px; height:2px; background:#0F172A; border-radius:2px; transition:transform .25s ease, opacity .2s ease; }
.hamburger[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.hamburger[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
