/* Terustav site styles — VIBRANT THEME */
:root{
  --brand:#7c3aed;      /* violet-600 */
  --brand2:#06b6d4;     /* cyan-500   */
  --accent:#f43f5e;     /* rose-500   */
  --lime:#84cc16;       /* lime-500   */
}

html{ scroll-behavior: smooth; }
/* reveal on scroll — progressive enhancement */
[data-reveal]{ opacity:1; transform:none; }
.js [data-reveal]{ opacity:0; transform: translateY(16px) scale(.98); transition: opacity .6s ease, transform .6s ease; }
.js [data-reveal].revealed{ opacity:1; transform: none; }

body{ font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji"; }

/* header on scroll */
header.stuck{ background: rgba(255,255,255,.9); box-shadow: 0 12px 30px rgba(124,58,237,.12); backdrop-filter: saturate(180%) blur(6px); }

/* animated blobs — brighter */
.blob{ filter: blur(42px); opacity:.65; animation: blob 24s ease-in-out infinite; }
.blob.blob-2{ animation-duration: 28s; animation-delay: -10s; }
.blob.blob-3{ animation-duration: 32s; animation-delay: -16s; }
@keyframes blob{
  0%{ transform: translate(0,0) scale(1); }
  33%{ transform: translate(60px,-30px) scale(1.12); }
  66%{ transform: translate(-30px,40px) scale(.95); }
  100%{ transform: translate(0,0) scale(1); }
}

/* colorful chips */
.chip{ font-weight: 600; letter-spacing:.2px; background: linear-gradient(90deg, rgba(124,58,237,.10), rgba(6,182,212,.10)); border: 1px solid rgba(124,58,237,.35); color: #312e81; border-radius: 999px; padding: .25rem .75rem; }
.chip-2{ background: linear-gradient(90deg, rgba(244,63,94,.12), rgba(124,58,237,.08)); border-color: rgba(244,63,94,.45); color:#7f1d1d; }
.chip-3{ background: linear-gradient(90deg, rgba(132,204,22,.12), rgba(6,182,212,.10)); border-color: rgba(132,204,22,.45); color:#14532d; }

/* gradient text utility */
.text-gradient{ background: linear-gradient(90deg, var(--accent), var(--brand)); -webkit-background-clip:text; background-clip:text; color: transparent; -webkit-text-fill-color: transparent; padding-bottom: .05em; }

/* card with gradient border */
.card-bright{ position: relative; border-radius: 1rem; }
.card-bright::before{
  content: ""; position:absolute; inset:0; padding:1px; border-radius:inherit;
  background: linear-gradient(135deg, rgba(124,58,237,.8), rgba(6,182,212,.8), rgba(244,63,94,.8));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  pointer-events:none;
}
.card-bright{ background: rgba(255,255,255,.9); box-shadow: 0 12px 30px rgba(15,23,42,.08); border: 1px solid rgba(148,163,184,.25); }
.card-bright:hover{ box-shadow: 0 22px 50px rgba(124,58,237,.18); }

/* tilt highlight */
[data-tilt]{ transform-style: preserve-3d; transition: transform .2s ease, box-shadow .2s ease; will-change: transform; position: relative; }
[data-tilt]::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background: radial-gradient(320px 220px at var(--px,50%) var(--py,50%), rgba(255,255,255,.35), transparent 60%);
  opacity:0; transition: opacity .2s ease; border-radius: 1rem;
}
[data-tilt].tilting{ box-shadow: 0 20px 40px rgba(124,58,237,.18); }
[data-tilt].tilting::after{ opacity:1; }

/* buttons */
.btn-gradient{
  background-image: linear-gradient(90deg, var(--accent), var(--brand2));
  color: #fff !important; box-shadow: 0 10px 20px rgba(124,58,237,.25);
}
.btn-gradient:hover{ filter: brightness(1.05); box-shadow: 0 14px 28px rgba(124,58,237,.35); }
.btn-outline{
  background: #fff; border: 2px solid; border-image: linear-gradient(90deg, var(--brand), var(--brand2)) 1;
}

/* back-to-top button */
#scrollTop{ position: fixed; right: 1rem; bottom: 1rem; z-index: 60; opacity:0; pointer-events:none; transform: translateY(10px); transition: opacity .25s ease, transform .25s ease; }
#scrollTop.visible{ opacity:1; pointer-events:auto; transform: none; }

/* FAQ */
.faq-item summary{ list-style: none; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item .arrow{ transition: transform .25s ease; }
.faq-item[open] .arrow{ transform: rotate(90deg); }

/* Ensure hero headline has space for descenders and sits higher */
.hero-title{ overflow: visible; display: inline-block; padding-bottom: .2em; transform: translateY(-2px); }
@media (min-width: 768px){
  .hero-title{ transform: translateY(-4px); }
}
