/* ====== LINKS: noticeable purple (page-local) ====== */

.ma-hero a,
.ma-hero a:visited {
  color: rgba(190, 140, 255, 0.95) !important;
  text-decoration: underline;
  text-decoration-color: rgba(190, 140, 255, 0.55);
  text-underline-offset: 3px;
  text-decoration-thickness: 2px;
  font-weight: 800;
}

.ma-hero a:hover {
  color: rgba(215, 175, 255, 1) !important;
  text-decoration-color: rgba(215, 175, 255, 0.9);
  text-shadow: 0 0 14px rgba(190, 140, 255, 0.25);
}

.ma-hero a:focus-visible {
  outline: 2px solid rgba(190, 140, 255, 0.6);
  outline-offset: 3px;
  border-radius: 10px;
}


/* ====== BASE: sections + grids ====== */

.ma-grid2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items: start;
}

@media (max-width: 980px) {
  .ma-grid2 {
    grid-template-columns: 1fr;
  }
}

.ma-box {
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(0, 0, 0, 0.18);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.35);
  padding: 18px;
}

.sep {
  border: 0;
  height: 1px;
  background: rgba(255, 255, 255, 0.10);
  margin: 24px 0;
}

.lead {
  font-size: 1.06rem;
  line-height: 1.85;
}

.muted {
  opacity: .88;
}


/* ====== HERO: smaller float visuals (reduces gap) ====== */

.ma-hero {
  overflow: visible !important;
}

/* Smaller column (desktop) */
.ma-heroCards {
  float: right;
  width: 240px;               /* smaller */
  max-width: 34vw;
  margin: 6px 0 14px 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Card frame */
.ma-heroCard {
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(0, 0, 0, 0.20);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.45);
  overflow: hidden;
  position: relative;
  transform: translateY(0);
  transition: 
    transform .15s ease,
    border-color .15s ease,
    box-shadow .15s ease;
}

/* Subtle purple aura */
.ma-heroCard:before {
  content: "";
  position: absolute;
  inset: -40px;
  background:
    radial-gradient(
      circle at 30% 25%,
      rgba(190, 140, 255, 0.16),
      transparent 55%
    ),
    radial-gradient(
      circle at 70% 70%,
      rgba(215, 175, 255, 0.12),
      transparent 60%
    );
  pointer-events: none;
}

.ma-heroCard:hover {
  transform: translateY(-2px);
  border-color: rgba(190, 140, 255, 0.28);
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.55);
}


/* IMPORTANT: show FULL image (no crop) */
.ma-heroCard img {
  display: block;
  width: 100%;
  height: 320px;              /* controls card height */
  object-fit: contain;        /* shows entire image */
  object-position: center;
  background: rgba(0, 0, 0, 0.22);  /* premium letterbox */
}


/* Caption */
.ma-heroCap {
  font-size: 12px;
  opacity: .85;
  padding: 10px 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(0, 0, 0, 0.16);
}


/* Clear float when we want full width again */
.ma-clear {
  clear: both;
}


/* ====== Mobile ====== */

@media (max-width: 980px) {

  .ma-heroCards {
    float: none;
    width: 100%;
    max-width: 100%;
    margin: 12px 0 10px;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
  }

  .ma-heroCard {
    width: 170px;
  }

  .ma-heroCard img {
    height: 240px;
  }
}


.tools-heroCards{
  float:right;
  width:min(420px, 42%);
  margin: 0 0 16px 20px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
.tools-heroCard{
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  overflow:hidden;
  background:rgba(255,255,255,.04);
  box-shadow:0 10px 26px rgba(0,0,0,.24);
}
.tools-heroCard img{
  display:block;
  width:100%;
  aspect-ratio: 3 / 4;
  object-fit:cover;
}
.tools-heroCap{
  padding:10px 12px;
  font-size:.94rem;
  line-height:1.45;
  color:rgba(255,255,255,.78);
}
.tools-chiprow{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.tools-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  text-decoration:none;
  font-weight:700;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:inherit;
}
.tools-chip:hover{
  background:rgba(255,255,255,.08);
}
.tools-chip--muted{
  opacity:.7;
  cursor:default;
  pointer-events:none;
}
.tools-kicker{
  display:inline-block;
  margin:0 0 12px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  font-size:.84rem;
  letter-spacing:.02em;
  opacity:.9;
}
@media (max-width: 900px){
  .tools-heroCards{
    float:none;
    width:100%;
    margin:0 0 16px 0;
  }
}

.tools-heroCard img{
  display:block;
  width:100%;
  height:340px;
  object-fit:contain;
  object-position:center center;
  background:rgba(0,0,0,.18);
}