/**
 * Professional tile content formatting (typography + internal layout).
 * Does not change copy — only how card content is presented.
 */

/* ---- Shared tile content rhythm ---- */
body.crystal-site .home-tile:not(.home-tile--dark),
body.crystal-site .svc-card,
body.crystal-site .svc-hub-card,
body.crystal-site .auto-card,
body.crystal-site .auto-panel,
body.crystal-site .web-svc-card,
body.crystal-site .prod-module-card,
body.crystal-site .prod-card,
body.crystal-site .careers-role-card,
body.crystal-site .careers-value-card,
body.crystal-site .careers-perk-card,
body.crystal-site .ach-stat-card,
body.crystal-site .ach-story-card,
body.crystal-site .about-corp-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  text-align: left;
}

body.crystal-site .home-tile h3,
body.crystal-site .svc-card h3,
body.crystal-site .svc-hub-card h3,
body.crystal-site .auto-card h3,
body.crystal-site .web-svc-card h3,
body.crystal-site .prod-card h3,
body.crystal-site .prod-module-card h3 {
  font-size: 1.125rem;
  line-height: 1.3;
  letter-spacing: -0.02em;
  font-weight: 700;
  color: #09142c !important;
  margin: 0 0 0.55rem;
}

body.crystal-site .home-tile > p,
body.crystal-site .svc-card > p,
body.crystal-site .auto-card > p,
body.crystal-site .web-svc-card > p,
body.crystal-site .prod-card > p,
body.crystal-site .prod-module-card > p {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #4a5568 !important;
  font-weight: 500;
}

body.crystal-site .home-tile > .material-symbols-outlined,
body.crystal-site .svc-card > .material-symbols-outlined,
body.crystal-site .svc-card > .svc-card__icon {
  margin-bottom: 1rem !important;
  flex-shrink: 0;
}

body.crystal-site .home-tile .text-muted-text,
body.crystal-site .svc-card .text-muted-text,
body.crystal-site .auto-card .text-muted-text,
body.crystal-site .web-svc-card .text-muted-text {
  color: #4a5568 !important;
  line-height: 1.65;
}

/* Index / step labels inside tiles */
body.crystal-site .home-tile > p.text-\[12px\],
body.crystal-site .home-reason-tile__index,
body.crystal-site .svc-card__index {
  display: inline-flex;
  align-items: center;
  margin-bottom: 0.85rem !important;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: #eef4ff;
  border: 1px solid #4b7bff33;
  color: #095cff !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  width: fit-content;
}

body.crystal-site .svc-card__index {
  position: absolute;
  top: 1.15rem;
  right: 1.15rem;
  margin-bottom: 0 !important;
  z-index: 2;
}

/* Reason tiles: clearer title → body */
body.crystal-site .home-reason-tile {
  padding: 1.75rem 1.6rem !important;
  min-height: 100%;
}

body.crystal-site .home-reason-tile h3 {
  font-size: 1.2rem !important;
  margin-bottom: 0.7rem !important;
}

body.crystal-site .home-reason-tile p {
  font-size: 0.9rem !important;
  line-height: 1.7 !important;
}

/* Achievement / stat mini tiles */
body.crystal-site .home-tile > p.text-\[12px\].font-semibold.tracking-widest {
  margin-bottom: 0.75rem !important;
}

/* ---- Quote / testimonial tiles ---- */
body.crystal-site .tile-quote,
body.crystal-site blockquote.home-tile,
body.crystal-site blockquote.svc-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.6rem 1.5rem 1.4rem !important;
  min-height: 16.5rem;
}

body.crystal-site .tile-quote__mark {
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2.75rem;
  line-height: 0.7;
  color: #095cff;
  opacity: 0.85;
  margin: 0 0 0.85rem;
  font-weight: 700;
  user-select: none;
}

body.crystal-site .tile-quote__body,
body.crystal-site blockquote.home-tile > p,
body.crystal-site blockquote.svc-card > p {
  flex: 1 1 auto;
  margin: 0 0 1.25rem !important;
  font-size: 0.95rem !important;
  line-height: 1.7 !important;
  color: #3a4660 !important;
  font-weight: 500;
  quotes: none;
}

body.crystal-site .tile-quote__footer,
body.crystal-site blockquote.home-tile > footer,
body.crystal-site blockquote.svc-card > footer {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-top: auto;
  padding-top: 1.1rem;
  border-top: 1px solid #2f4c961a;
}

body.crystal-site .tile-quote__avatar {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #095cff;
  background: linear-gradient(160deg, #ffffff 0%, #eef4ff 48%, #dce8ff 100%);
  border: 1px solid #4b7bff40;
  box-shadow:
    0 8px 18px #18337018,
    inset 0 1px 0 #fffffff5;
}

body.crystal-site .tile-quote__meta {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

body.crystal-site .tile-quote__name,
body.crystal-site blockquote.home-tile footer .font-semibold,
body.crystal-site blockquote.svc-card footer {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 700 !important;
  color: #09142c !important;
  line-height: 1.3;
}

body.crystal-site .tile-quote__role,
body.crystal-site blockquote.home-tile footer .text-xs {
  margin: 0 !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  text-transform: none;
  color: #095cff !important;
  line-height: 1.35;
}

/* Automation quote footer is a single line — keep readable */
body.crystal-site blockquote.svc-card > footer {
  color: #09142c !important;
  font-size: 0.875rem !important;
}

/* ---- FAQ accordion tiles ---- */
body.crystal-site .svc-faq-item,
body.crystal-site .auto-faq-item,
body.crystal-site .faq-item {
  padding: 0 !important;
}

body.crystal-site .svc-faq-item > button,
body.crystal-site .auto-faq-item > button,
body.crystal-site [data-faq-item] > button {
  font-size: 1rem !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
  color: #09142c !important;
  letter-spacing: -0.01em;
}

body.crystal-site [data-faq-panel] {
  font-size: 0.9375rem !important;
  line-height: 1.7 !important;
  color: #4a5568 !important;
  border-top: 1px solid #2f4c9614;
  margin-top: 0;
  padding-top: 0.85rem !important;
}

/* ---- Office / contact-style tiles ---- */
body.crystal-site .home-tile a[href^="tel"],
body.crystal-site .home-tile a[href^="mailto"],
body.crystal-site .svc-card a[href^="tel"],
body.crystal-site .svc-card a[href^="mailto"] {
  color: #095cff;
  font-weight: 600;
  text-decoration: none;
  word-break: break-word;
}

body.crystal-site .home-tile a[href^="tel"]:hover,
body.crystal-site .home-tile a[href^="mailto"]:hover {
  text-decoration: underline;
}

/* Dark band tiles keep light copy */
body.crystal-site .home-tile--dark,
body.crystal-site .home-tile--dark h3,
body.crystal-site .home-tile--dark p {
  color: inherit;
}

body.crystal-site .home-tile--dark {
  display: flex;
  flex-direction: column;
}

/* Linked service tiles: push feel of title + body */
body.crystal-site a.home-tile,
body.crystal-site a.svc-card {
  text-decoration: none;
  color: inherit;
}

body.crystal-site a.home-tile h3,
body.crystal-site a.svc-card h3 {
  transition: color 0.2s ease;
}

body.crystal-site a.home-tile:hover h3,
body.crystal-site a.svc-card:hover h3 {
  color: #095cff !important;
}
