/* ---------------------------------------------------------------
   Investment / service cards  (homepage "Your Growth is Our Priority")
   Restyled: crisper edges, layered depth, refined hover.
   --------------------------------------------------------------- */

.investment-card {
  --ic-accent: #e91e8c;
  --ic-accent-soft: #ff6fb1;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  padding: 2.5rem 1.5rem 2rem;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 18px;
  overflow: hidden;
  isolation: isolate;
  box-shadow:
    0 1px 2px rgba(15, 23, 42, .04),
    0 10px 28px -14px rgba(15, 23, 42, .18);
  transition:
    transform .4s cubic-bezier(.22, 1, .36, 1),
    box-shadow .4s cubic-bezier(.22, 1, .36, 1),
    border-color .4s ease;
}

/* soft brand wash, fades in on hover */
.investment-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(233, 30, 140, .05), rgba(233, 30, 140, 0) 65%);
  opacity: 0;
  transition: opacity .4s ease;
}

/* accent bar that draws across the top edge */
.investment-card::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, var(--ic-accent-soft), var(--ic-accent));
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .45s cubic-bezier(.22, 1, .36, 1);
}

.investment-card:hover,
.investment-card:focus-within {
  transform: translateY(-6px);
  border-color: rgba(247, 14, 136, .3);
  box-shadow:
    0 2px 4px rgba(15, 23, 42, .04),
    0 22px 44px -18px rgba(233, 30, 140, .45);
}

.investment-card:hover::before,
.investment-card:focus-within::before { opacity: 1; }

.investment-card:hover::after,
.investment-card:focus-within::after { transform: scaleX(1); }

/* icon */
.investment-card .service-icon {
  width: 72px;
  height: 72px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 1.6rem;
  color: var(--ic-accent);
  background: linear-gradient(135deg, rgba(233, 30, 140, .12), rgba(255, 111, 177, .18));
  transition:
    transform .4s cubic-bezier(.22, 1, .36, 1),
    background .4s ease,
    color .4s ease,
    box-shadow .4s ease;
}

.investment-card:hover .service-icon,
.investment-card:focus-within .service-icon {
  color: #fff;
  background: linear-gradient(135deg, var(--ic-accent), var(--ic-accent-soft));
  transform: translateY(-2px) scale(1.06);
  box-shadow: 0 12px 24px -10px rgba(233, 30, 140, .65);
}

/* title */
.investment-card h3 { margin-bottom: .5rem; }

.investment-card h3 a {
  color: inherit;
  text-decoration: none;
  transition: color .3s ease;
}

.investment-card:hover h3 a,
.investment-card:focus-within h3 a { color: var(--ic-accent); }

.investment-card p {
  color: #6b7280;
  margin-bottom: 1.5rem;
}

/* button pinned to the bottom so it lines up across the row */
.investment-card .btn {
  margin-top: auto;
  border-radius: 999px;
  padding-inline: 1.5rem;
  box-shadow: 0 8px 18px -8px rgba(233, 30, 140, .55);
  transition:
    transform .35s cubic-bezier(.22, 1, .36, 1),
    box-shadow .35s ease;
}

.investment-card:hover .btn,
.investment-card:focus-within .btn {
  transform: translateY(-2px);
  box-shadow: 0 14px 26px -10px rgba(233, 30, 140, .65);
}

/* the <br> before each button would fight margin-top:auto */
.investment-card br { display: none; }

@media (max-width: 575.98px) {
  .investment-card { padding: 2rem 1.25rem 1.75rem; border-radius: 16px; }
  .investment-card .service-icon { width: 62px; height: 62px; font-size: 1.4rem; }
}

@media (prefers-reduced-motion: reduce) {
  .investment-card,
  .investment-card::before,
  .investment-card::after,
  .investment-card .service-icon,
  .investment-card .btn { transition: none; }
  .investment-card:hover,
  .investment-card:focus-within { transform: none; }
  .investment-card:hover .service-icon { transform: none; }
  .investment-card:hover .btn { transform: none; }
}

.brokerage-card{transition:all 0.3s ease;background:white;border-radius:10px;padding:20px;height:100%;box-shadow:0 5px 15px rgba(0,0,0,0.08)}.brokerage-card:hover{transform:translateY(-5px);background-color:rgba(255,105,180,0.05);box-shadow:0 12px 24px rgba(255,105,180,0.25),0 6px 12px rgba(255,105,180,0.15),0 0 0 4px rgba(255,105,180,0.1)}/* ---------------------------------------------------------------
   Account type cards  ("Choose the best account type for you")
   Same treatment as the service cards, but flat colour - no gradients.
   --------------------------------------------------------------- */

.account-type-card {
  --atc-accent: #f70e88;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 1.75rem 1rem;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 18px;
  overflow: hidden;
  box-shadow:
    0 1px 2px rgba(15, 23, 42, .04),
    0 10px 28px -14px rgba(15, 23, 42, .18);
  transition:
    transform .4s cubic-bezier(.22, 1, .36, 1),
    box-shadow .4s cubic-bezier(.22, 1, .36, 1),
    border-color .4s ease;
}

/* flat accent bar that draws across the top edge */
.account-type-card::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: var(--atc-accent);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .45s cubic-bezier(.22, 1, .36, 1);
}

.account-type-card:hover,
.account-type-card:focus-within {
  transform: translateY(-6px);
  border-color: rgba(247, 14, 136, .3);
  box-shadow:
    0 2px 4px rgba(15, 23, 42, .04),
    0 22px 44px -18px rgba(247, 14, 136, .35);
}

.account-type-card:hover::after,
.account-type-card:focus-within::after { transform: scaleX(1); }

/* icon sizing/colour lives in tile-icons.css (loaded later) */

/* title */
.account-type-card h3 {
  font-size: .875rem;
  line-height: 1.4;
  margin: 0;
  word-wrap: break-word;
}

.account-type-card h3 a {
  color: inherit;
  text-decoration: none;
  transition: color .3s ease;
}

.account-type-card:hover h3 a,
.account-type-card:focus-within h3 a { color: var(--atc-accent); }

@media (max-width: 575.98px) {
  .account-type-card { padding: 1.375rem .75rem; border-radius: 16px; }
  .account-type-card .icon { width: 48px; height: 48px; font-size: 1.2rem; }
}

@media (prefers-reduced-motion: reduce) {
  .account-type-card,
  .account-type-card::after,
  .account-type-card .icon { transition: none; }
  .account-type-card:hover,
  .account-type-card:focus-within { transform: none; }
  .account-type-card:hover .icon { transform: none; }
}

.about-tile{transition:all 0.3s ease;background:#fff;border-radius:10px;padding:30px 20px;width:100%;height:100%;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 5px 15px rgba(0,0,0,0.08);cursor:pointer}.about-tile:hover,.about-tile:focus-visible{transform:translateY(-5px);background-color:rgba(255,105,180,0.05);box-shadow:0 12px 24px rgba(255,105,180,0.25),0 6px 12px rgba(255,105,180,0.15),0 0 0 4px rgba(255,105,180,0.1)}.about-tile .about-tile-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,105,180,0.1);color:#e91e8c;font-size:1.5rem;margin-bottom:14px;transition:all 0.3s ease}.about-tile:hover .about-tile-icon{background:#e91e8c;color:#fff}.about-tile h3{font-size:1rem;margin:0;color:inherit}.about-tile .about-tile-hint{font-size:0.75rem;color:#9aa0a6;margin-top:8px}
@media (max-width:575.98px){.about-tile{padding:22px 14px;min-height:140px}.about-tile .about-tile-icon{width:46px;height:46px;font-size:1.25rem;margin-bottom:10px}.about-tile h3{font-size:0.875rem}}

/* ---------------------------------------------------------------
   Home "About" band: office photo with tile-style rounded corners,
   and the text on a frosted-glass tile.
   --------------------------------------------------------------- */
.about-media {
  border-radius: 18px !important;
}
.about-glass {
  position: relative;
  padding: 2rem 2.25rem;
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.62), rgba(255, 244, 250, 0.38));
  border: 1px solid rgba(247, 14, 136, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95);
  -webkit-backdrop-filter: blur(22px) saturate(170%);
  backdrop-filter: blur(22px) saturate(170%);
  overflow: hidden;
}
/* thin brand highlight along the top edge */
.about-glass::before {
  content: "";
  position: absolute;
  top: 0; left: 2.25rem; right: 2.25rem;
  height: 3px;
  border-radius: 0 0 3px 3px;
  background: linear-gradient(90deg, rgba(247, 14, 136, 0), rgba(247, 14, 136, 0.7), rgba(247, 14, 136, 0));
}
@media (max-width: 575.98px) {
  .about-glass { padding: 1.5rem 1.25rem; }
  .about-glass::before { left: 1.25rem; right: 1.25rem; }
}
