/* Atlantic Image Defense v1.15.4.19.35.221
   Public homepage visual-coherence refinement.
   Scope: only the v220 homepage additions. No portal, administration or back-office rules. */

.aid-home-page :where(
  .home_start_paths,
  .home_process_control,
  .home_faq_preview,
  .home_final_action
),
.aid-home-page :where(
  .home_start_paths,
  .home_process_control,
  .home_faq_preview,
  .home_final_action
) :where(h1,h2,h3,h4,h5,h6,p,a,span,strong,small,summary) {
  font-family: 'Lexend', sans-serif;
}

/* Keep the new sections inside the established Atlantic navy visual system. */
.aid-home-page .home_start_paths,
.aid-home-page .home_process_control,
.aid-home-page .home_faq_preview,
.aid-home-page .home_final_action {
  position: relative;
  isolation: isolate;
  color: rgba(255,255,255,.82);
  background-color: #14192d;
}

.aid-home-page .home_start_paths,
.aid-home-page .home_faq_preview {
  background:
    radial-gradient(circle at 12% 8%, rgba(24,254,245,.055), transparent 30%),
    radial-gradient(circle at 88% 18%, rgba(74,165,240,.07), transparent 32%),
    linear-gradient(180deg,#11182b 0%,#14192d 100%);
}

.aid-home-page .home_process_control {
  background:
    linear-gradient(rgba(20,25,45,.92),rgba(20,25,45,.96)),
    url('/assets/img/bg/section-2.jpg') center/cover no-repeat;
}

.aid-home-page .home_final_action {
  padding-top: 4px;
  background:#14192d;
}

/* Heading treatment follows the existing public eyebrow / heading language. */
.aid-home-page .home_corporate_heading > span,
.aid-home-page .home_control_eyebrow,
.aid-home-page .home_final_action_inner > div:first-child > span {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 15px;
  padding: 5px 20px;
  border: 1px solid rgba(24,254,245,.22);
  border-radius: 999px;
  background: rgba(24,254,245,.12);
  color: #dffefd;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.25;
  text-transform: uppercase;
}

.aid-home-page .home_corporate_heading.text-center > span {
  margin-right: auto;
  margin-left: auto;
}

.aid-home-page .home_corporate_heading h2,
.aid-home-page .home_final_action h2 {
  color:#fff;
  font-weight:600;
  letter-spacing:-.02em;
}

.aid-home-page .home_corporate_heading p,
.aid-home-page .home_final_action p {
  color:rgba(226,237,242,.76);
}

/* Entry-path cards: dark, equal-height and aligned to the same baseline. */
.aid-home-page .home_path_grid {
  align-items: stretch;
  grid-auto-rows: 1fr;
}

.aid-home-page .home_path_card {
  height:100%;
  grid-template-rows:auto minmax(116px,1fr) auto;
  align-content:start;
  border-color:rgba(255,255,255,.09);
  background:linear-gradient(155deg,rgba(30,40,66,.98),rgba(21,29,50,.98));
  color:#fff;
  box-shadow:0 18px 42px rgba(3,8,18,.22),inset 0 1px 0 rgba(255,255,255,.025);
}

.aid-home-page .home_path_card:hover,
.aid-home-page .home_path_card:focus-visible {
  border-color:rgba(24,254,245,.35);
  box-shadow:0 22px 50px rgba(3,8,18,.34),inset 0 1px 0 rgba(255,255,255,.04);
}

.aid-home-page .home_path_icon,
.aid-home-page .home_path_card--recipient .home_path_icon,
.aid-home-page .home_path_card--portfolio .home_path_icon {
  border:1px solid rgba(24,254,245,.18);
  background:rgba(24,254,245,.095);
  color:#72e7e2;
}

.aid-home-page .home_path_copy strong { color:#fff; }
.aid-home-page .home_path_copy small { color:rgba(225,235,240,.72); }
.aid-home-page .home_path_action {
  align-self:end;
  min-height:45px;
  margin-top:auto;
  border-top-color:rgba(255,255,255,.09);
  color:#78e7e2;
}

/* Process cards use the same surface as the existing .abmv blocks. */
.aid-home-page .home_process_control_row {
  align-items:stretch;
}

.aid-home-page .home_process_control_row > [class*="col-"] {
  display:flex;
  flex-direction:column;
}

.aid-home-page .home_process_steps {
  align-items:stretch;
  grid-auto-rows:1fr;
}

.aid-home-page .home_process_steps li {
  height:100%;
  border-color:rgba(255,255,255,.07);
  background:#1a2237;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}

.aid-home-page .home_process_steps li > span {
  border:1px solid rgba(24,254,245,.22);
  background:rgba(24,254,245,.11);
  color:#7ce9e4;
}

.aid-home-page .home_process_steps strong { color:#fff; }
.aid-home-page .home_process_steps p { color:rgba(224,234,239,.7); }

.aid-home-page .home_control_panel {
  border-color:rgba(24,254,245,.14);
  background:linear-gradient(150deg,#1a2237,#11192d);
}

/* Parallel button groups: equal height, same baseline, no inherited margin offset. */
.aid-home-page .home_process_actions,
.aid-home-page .home_final_action_buttons {
  display:grid;
  align-items:stretch;
  gap:12px;
}

.aid-home-page .home_process_actions {
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:min(100%,560px);
  margin-top:auto;
}

.aid-home-page .home_process_actions :is(.btn_one,.btn_two),
.aid-home-page .home_final_action_buttons :is(.btn_one,.btn_two,.home_final_text_link),
.aid-home-page .home_faq_intro .btn_two {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:50px;
  margin:0;
  padding:12px 20px;
  box-sizing:border-box;
  border-radius:3px;
  font-size:14px;
  font-weight:600;
  line-height:1.25;
  text-align:center;
  text-transform:uppercase;
}

.aid-home-page .home_process_actions :is(.btn_one,.btn_two) {
  width:100%;
}

/* FAQ surfaces are dark and visually connected to the rest of the homepage. */
.aid-home-page .home_faq_list details {
  border-color:rgba(255,255,255,.08);
  background:#1a2237;
  box-shadow:0 12px 30px rgba(3,8,18,.18);
}

.aid-home-page .home_faq_list summary { color:#fff; }
.aid-home-page .home_faq_list details p { color:rgba(225,235,240,.72); }
.aid-home-page .home_faq_list summary span {
  border:1px solid rgba(24,254,245,.18);
  background:rgba(24,254,245,.09);
  color:#75e7e2;
}

.aid-home-page .home_faq_intro .btn_two {
  width:max-content;
  margin-top:24px;
}

/* Final call-to-action: use one visual axis and three parallel controls. */
.aid-home-page .home_final_action_inner {
  border:1px solid rgba(24,254,245,.13);
  background:
    radial-gradient(circle at 85% 18%,rgba(24,254,245,.075),transparent 32%),
    linear-gradient(135deg,#1a2237,#0f182b);
}

.aid-home-page .home_final_action_buttons {
  grid-template-columns:repeat(3,minmax(0,1fr));
  justify-content:stretch;
}

.aid-home-page .home_final_action_buttons :is(.btn_one,.btn_two,.home_final_text_link) {
  width:100%;
  min-width:0;
  white-space:normal;
}

.aid-home-page .home_final_text_link {
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  text-decoration:none;
}

.aid-home-page .home_final_text_link:hover,
.aid-home-page .home_final_text_link:focus-visible {
  border-color:#18fef5;
  background:#18fef5;
  color:#0c1724;
}

@media (max-width:1199.98px) {
  .aid-home-page .home_path_card {
    grid-template-rows:auto minmax(0,1fr) auto;
  }

  .aid-home-page .home_final_action_buttons {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .aid-home-page .home_final_action_buttons .home_final_text_link {
    grid-column:1 / -1;
  }
}

@media (max-width:991.98px) {
  .aid-home-page .home_process_control_row > [class*="col-"] {
    display:block;
  }

  .aid-home-page .home_path_card {
    min-height:0;
  }

  .aid-home-page .home_final_action_buttons {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .aid-home-page .home_final_action_buttons .home_final_text_link {
    grid-column:auto;
  }
}

@media (max-width:767.98px) {
  .aid-home-page .home_process_actions,
  .aid-home-page .home_final_action_buttons {
    grid-template-columns:1fr;
    width:100%;
  }

  .aid-home-page .home_final_action_buttons .home_final_text_link {
    grid-column:auto;
  }

  .aid-home-page .home_process_actions :is(.btn_one,.btn_two),
  .aid-home-page .home_final_action_buttons :is(.btn_one,.btn_two,.home_final_text_link),
  .aid-home-page .home_faq_intro .btn_two {
    width:100%;
  }
}

@media (prefers-reduced-motion:reduce) {
  .aid-home-page .home_path_card { transition:none; }
}
