/* =========================================================
   MINTAREX INSTITUTIONAL • RESPONSIVE REDESIGN (FINAL)
   Fluid scaling from 200px → ultrawide (4K+)
   ========================================================= */
:root {
  --mx-mint: var(--accent-base, #A2EBCC);
  --mx-glow: rgba(162,235,204,.45);
  --mx-line: rgba(0,0,0,.08);
  --pad-x: clamp(6px, 2vw, 48px);
  --pad-y: clamp(12px, 4vh, 120px);
}

/* ---------------------------------------------------------
   CORE SECTION
--------------------------------------------------------- */
.mint-core {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: clamp(16px, 6vw, 100px);
  padding: var(--pad-y) var(--pad-x);
  background: radial-gradient(circle at 20% 30%, rgba(162,235,204,.08), transparent 70%);
}

.core-visual {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.core-orbit {
  position: relative;
  width: clamp(100px, 30vw, 360px);
  height: clamp(100px, 30vw, 360px);
  flex-shrink: 0;
}
.ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid var(--mx-mint);
  opacity: .25;
  animation: spin 16s linear infinite;
}
.r2 { inset: clamp(8px, 2vw, 28px); opacity: .4; animation-duration: 20s; }
.r3 { inset: clamp(18px, 4vw, 40px); opacity: .6; animation-duration: 24s; }
@keyframes spin { to { transform: rotate(360deg); } }

.core-content {
  max-width: min(90%, 580px);
  justify-self: center;
}
.core-content h2 {
  font-size: clamp(1.2rem, 2.5vw + .8rem, 3rem);
  color: var(--ink);
  line-height: 1.25;
  word-break: break-word;
}
.core-content p {
  color: var(--muted);
  margin: 1rem 0 1.5rem;
  font-size: clamp(.85rem, 1vw + .5rem, 1.1rem);
  line-height: 1.6;
}
.core-content .btn { margin-top: .8rem; }

@media (max-width: 960px) {
  .mint-core { grid-template-columns: 1fr; text-align: center; }
  .core-content { margin-top: 1.5rem; }
}

/* ---------------------------------------------------------
   SECURITY EVOLUTION
--------------------------------------------------------- */
.security-evolution {
  padding: var(--pad-y) var(--pad-x);
  text-align: center;
  background: #fff;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.section-header {
  max-width: min(90%, 680px);
  margin: 0 auto clamp(24px, 5vh, 60px);
}
.section-header h2 {
  font-size: clamp(1.4rem, 2.5vw, 2.6rem);
  line-height: 1.25;
}
.seal-orbit {
  position: relative;
  width: clamp(140px, 35vw, 320px);
  height: clamp(140px, 35vw, 320px);
  margin: 0 auto;
}
.orbit-layer {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid var(--mx-mint);
  opacity: 0;
  transform: scale(.6);
}
.orbit-core {
  position: absolute;
  inset: 40%;
  border-radius: 50%;
  background: var(--mx-mint);
  box-shadow: 0 0 20px var(--mx-glow), 0 0 0 10px rgba(162,235,204,.1);
  opacity: 0;
}
.visible .orbit-layer,
.visible .orbit-core {
  animation: orbitFade .8s forwards;
}
@keyframes orbitFade {
  to { opacity: 1; transform: scale(1); }
}

/* ---------------------------------------------------------
   ADAPTIVE FLOW
--------------------------------------------------------- */
.adaptive-flow {
  padding: var(--pad-y) var(--pad-x);
  text-align: center;
}
.flow-scroll {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  gap: clamp(14px, 2vw, 40px);
  padding-block: clamp(16px, 3vh, 40px);
  justify-content: center;
  scrollbar-width: none;
}
.flow-scroll::-webkit-scrollbar { display: none; }

.flow-card {
  flex: 0 0 auto;
  width: clamp(180px, 75vw, 320px);
  scroll-snap-align: center;
  background: var(--glass-bg);
  border: 1px solid var(--mx-line);
  border-radius: 16px;
  padding: clamp(16px, 3vw, 32px);
  transition: transform .3s ease, box-shadow .3s ease;
  word-break: break-word;
}
.flow-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -20px var(--mx-glow);
}
.flow-card h3 {
  color: var(--ink);
  font-size: clamp(1rem, 1.4vw, 1.25rem);
  margin-bottom: 8px;
}
.flow-card p {
  color: var(--muted);
  font-size: clamp(.85rem, 1vw, 1rem);
}

/* Small fix for micro screens */
@media (max-width: 480px) {
  .flow-scroll { justify-content: flex-start; padding-inline: 8px; }
  .flow-card { width: 90%; margin-inline: auto; }
}

/* ---------------------------------------------------------
   TRUST MATRIX
--------------------------------------------------------- */
.trust-matrix {
  padding: var(--pad-y) var(--pad-x);
  background: radial-gradient(circle at 70% 50%, rgba(162,235,204,.08), transparent 70%);
  text-align: center;
}
.matrix-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
  gap: clamp(16px, 2vw, 40px);
  max-width: 1200px;
  margin: 0 auto;
  padding-top: clamp(24px, 4vh, 60px);
}
.matrix-item {
  background: var(--glass-bg);
  border: 1px solid var(--mx-line);
  border-radius: 16px;
  padding: clamp(16px, 3vw, 36px);
  transition: transform .3s ease, box-shadow .3s ease;
}
.matrix-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -20px var(--mx-glow);
}
.matrix-item h3 {
  color: var(--ink);
  font-size: clamp(1rem, 1.1vw + .7rem, 1.3rem);
  margin-bottom: 6px;
}
.matrix-item p {
  color: var(--muted);
  font-size: clamp(.85rem, 1vw, 1rem);
}

/* ---------------------------------------------------------
   CTA PRISM (FIXED + POLISHED)
--------------------------------------------------------- */
.cta-prism {
  position: relative;
  text-align: center;
  overflow: hidden;
  padding: clamp(48px, 8vw, 100px) clamp(20px, 5vw, 60px);
  border-radius: 18px;
  z-index: 0; /* base layer for background */
}

/* Subtle animated background glow */
.cta-prism::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 50%, rgba(162,235,204,.25), transparent 70%);
  opacity: .4;
  animation: prismGlow 6s ease-in-out infinite alternate;
  pointer-events: none; /* ✅ allows button clicks */
  z-index: 0; /* behind content */
}

@keyframes prismGlow {
  0% { opacity: .4; transform: scale(1); }
  100% { opacity: .7; transform: scale(1.1); }
}

/* Content stays above overlay */
.cta-prism h2,
.cta-prism p,
.cta-prism .btn {
  position: relative;
  z-index: 2;
}

/* Optional: button styling (keeps brand consistent) */
.cta-prism .btn.primary.large-btn {
  display: inline-block;
  background: var(--mx-mint);
  color: var(--ink);
  font-weight: 600;
  border: none;
  border-radius: 999px;
  padding: clamp(12px, 1.2vw, 16px) clamp(24px, 2.5vw, 40px);
  font-size: clamp(0.95rem, 1vw, 1.05rem);
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  box-shadow: 0 0 0 0 rgba(162,235,204,0);
}

.cta-prism .btn.primary.large-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 25px -10px rgba(162,235,204,0.6);
}

/* Responsive refinement */
@media (max-width: 480px) {
  .cta-prism {
    padding: 60px 20px;
    border-radius: 12px;
  }
  .cta-prism .btn.primary.large-btn {
    width: 100%;
    max-width: 260px;
  }
}


/* ---------------------------------------------------------
   UNIVERSAL VISIBILITY / ANIMATION
--------------------------------------------------------- */
.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: all .8s cubic-bezier(.25,.8,.25,1);
  will-change: opacity, transform;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ---------------------------------------------------------
   RESPONSIVE TUNING
--------------------------------------------------------- */

/* XS / small screens */
@media (max-width: 600px) {
  :root { --pad-y: clamp(20px, 6vh, 80px); }
  .mint-core { gap: 3rem; }
  .core-content h2 { font-size: clamp(1.2rem, 6vw, 1.8rem); }
  .core-content p { font-size: .95rem; }
  .seal-orbit { width: 200px; height: 200px; }
  .matrix-grid { gap: 20px; }
  .matrix-item { padding: 22px; }
}

/* Extra small (≤360px) */
@media (max-width: 360px) {
  .core-content h2 { font-size: 1.3rem; }
  .flow-card { width: 88%; padding: 18px; }
  .flow-card h3 { font-size: 1rem; }
  .matrix-grid { grid-template-columns: 1fr; }
}

/* Very tiny (≤300px) */
@media (max-width: 300px) {
  .mint-core, .security-evolution, .adaptive-flow, .trust-matrix {
    padding: 40px 10px;
  }
  .core-orbit { width: 120px; height: 120px; }
  .seal-orbit { width: 140px; height: 140px; }
  .flow-card { width: 95%; font-size: .8rem; }
  h2, .section-title { font-size: 1.1rem; }
}

/* Medium (≥1024px) */
@media (min-width: 1024px) {
  .mint-core { gap: 8vw; }
  .matrix-grid { gap: 2.5rem; }
  .flow-card { width: min(320px, 25vw); }
}

/* Large (≥1440px) */
@media (min-width: 1440px) {
  .mint-core { padding: 14vh 8vw; }
  .flow-scroll { gap: 2.5rem; }
  .matrix-grid { gap: 3rem; }
}

/* Ultra-wide (≥2560px, 4K+) */
@media (min-width: 2560px) {
  :root { font-size: 18px; }
  .mint-core, .security-evolution, .adaptive-flow, .trust-matrix { padding: 18vh 10vw; }
  .core-orbit { width: 420px; height: 420px; }
  .matrix-grid { max-width: 1800px; }
}
