/* Shared visual layer for the public AMAC pages. */
:root {
  --ui-border: #dce7ec;
  --ui-muted: #546c7b;
  --ui-shadow: 0 8px 28px rgba(9, 43, 67, .06);
}
body { -webkit-font-smoothing: antialiased; }
body :is(h1, h2) { text-wrap: balance; }
body p { text-wrap: pretty; }
.shared-topbar .container { min-height: 34px; }
.shared-nav { min-height: 84px; gap: 24px; }
.shared-brand { flex-basis: 360px; }
.shared-brand img { width: 62px; flex-shrink: 0; }
.shared-brand strong { font-size: .76rem; letter-spacing: .045em; }
.shared-brand span { font-size: .66rem; }
.shared-menu { gap: 18px; font-size: .83rem; }
.shared-menu a { padding-block: 29px; }
.shared-menu a::after { bottom: 21px; }
.shared-menu a.shared-menu-cta {
  padding: 10px 14px;
  background: #092b43;
  color: #fff;
  border-radius: 8px;
  font-size: .8rem;
  line-height: 1.35;
}
.shared-menu a.shared-menu-cta::after { display: none; }
.shared-menu a.shared-menu-cta:hover { background: #087d91; color: #fff; }
.inner-page .page-hero { padding-block: clamp(48px, 6vw, 80px); }
.inner-page .page-hero h1 { font-size: clamp(2.4rem, 4.4vw, 4rem); line-height: 1.1; }
.inner-page .page-hero p { max-width: 670px; font-size: 1rem; }
.breadcrumb { margin-bottom: 22px; }
.breadcrumb a { text-decoration: underline; text-underline-offset: 4px; }
.inner-page .section-head { max-width: 760px; }
.inner-page .section-head h2 { font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1.15; }
.inner-page .section-head p, .inner-page .card p { color: var(--ui-muted); }
.inner-page :is(.card, .content-panel, .industry-list-item, .job-card) {
  border: 1px solid var(--ui-border);
  border-radius: 16px;
  box-shadow: var(--ui-shadow);
}
.inner-page .card { padding: 28px; }
.inner-page .card h3 { line-height: 1.3; }
.inner-page .card p:last-child { margin-bottom: 0; }
.inner-page .icon-box { border-radius: 12px; box-shadow: none; }
.inner-page .content-grid { gap: 24px; align-items: stretch; }
.inner-page .content-panel { display: flex; flex-direction: column; }
.inner-page .content-panel-head { padding: 30px; }
.inner-page .content-panel-head h2 { font-size: clamp(1.7rem, 2.8vw, 2.15rem); line-height: 1.15; }
.inner-page .content-panel-head p { margin-bottom: 0; }
.inner-page .content-panel-body { padding: 30px; }
.inner-page .check-list li { line-height: 1.65; margin-block: 14px; }
.inner-page .industry-list-item { align-items: center; min-height: 96px; padding: 22px; gap: 16px; }
.inner-page .industry-list-item strong { font-size: .94rem; line-height: 1.5; }
.inner-page .industry-list-item svg { margin-top: 0; }
.inner-page .job-card { gap: 0; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.6fr); }
.inner-page .job-summary, .inner-page .job-detail { padding: 34px; }
.inner-page .job-detail > h3:first-child { margin-top: 0; }
.inner-page .job-detail a { overflow-wrap: anywhere; }
.inner-page .cta { border-radius: 18px; padding: clamp(28px, 4vw, 48px); }
.inner-page .cta h2 { font-size: clamp(1.9rem, 3vw, 2.7rem); line-height: 1.15; }
.inner-page .cta .btn { white-space: normal; text-align: center; }
.inner-page .team-carousel { padding-bottom: 68px; }
.inner-page .team-carousel-controls { gap: 2px; padding: 3px 8px; border: 1px solid var(--ui-border); border-radius: 999px; background: #fff; }
.inner-page .team-carousel-controls [data-team-dot] {
  display: grid; place-items: center; background: transparent; width: 44px; height: 44px;
}
.inner-page .team-carousel-controls [data-team-dot]::before {
  content: ""; width: 8px; height: 8px; border-radius: 999px; background: #697f8d;
}
.inner-page .team-carousel-controls [data-team-dot].is-active::before { width: 24px; background: #087d91; }
.inner-page .team-carousel-toggle { border: 0; background: #edf6f8; }
.inner-page .contact-grid { gap: clamp(28px, 4vw, 56px); grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.inner-page .contact-item { border-radius: 12px; padding: 18px; }
#email-help { font-size: .88rem; color: #546c7b; line-height: 1.65; background: #eff7f9; border-radius: 10px; padding: 14px 16px; }
#email-help a { color: #075e70; text-decoration: underline; overflow-wrap: anywhere; }
.inner-page .form :is(input, select, textarea) { background: #fff; border-color: #b9cbd4; }
.inner-page .form input::placeholder, .inner-page .form textarea::placeholder { color: #627887; }
.inner-page .footer :is(a, h3) { line-height: 1.6; }
@media (max-width: 1120px) and (min-width: 901px) {
  .shared-nav { gap: 16px; }
  .shared-menu { gap: 12px; font-size: .78rem; }
  .shared-brand { flex-basis: 280px; gap: 10px; }
  .shared-brand img { width: 52px; }
}
@media (max-width: 900px) {
  .shared-nav { min-height: 76px; }
  .shared-menu { top: 100%; max-height: calc(100dvh - 110px); }
  .shared-menu a { padding: 12px 14px; }
  .shared-brand { flex-basis: auto; }
  .shared-menu a.shared-menu-cta { margin-top: 10px; min-height: 44px; text-align: center; padding: 12px 14px; }
  .inner-page .contact-grid, .inner-page .job-card { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .shared-nav { gap: 12px; }
  .shared-brand img { width: 50px; }
  .shared-brand strong { font-size: .66rem; }
  .inner-page :is(.content-panel-head, .content-panel-body, .job-summary, .job-detail, .card) { padding: 24px; }
  .inner-page .team-slide figcaption { position: static; background: #092b43; padding: 12px 16px; }
  .inner-page .team-slide img { height: auto; }
  .inner-page .team-carousel-stage { aspect-ratio: auto; }
  .inner-page .team-carousel-controls { padding-inline: 3px; }
  .inner-page .cta-grid { gap: 24px; }
}
@media (max-width: 560px) {
  .shared-menu { max-height: calc(100dvh - 76px); }
}
