:root {
  --am-navy: #0b1b2b;
  --am-navy-soft: #142c44;
  --am-steel: #2f4b66;
  --am-accent: #ffb020;
  --am-accent-strong: #d98a00;
  --am-accent-ink: #1a1200;
  --am-surface: #ffffff;
  --am-surface-alt: #f2f5f9;
  --am-ink: #16222e;
  --am-ink-soft: #41556c;
  --am-line: #d9e1ea;
  --am-danger: #b3261e;
  --am-success: #146c43;
  --am-radius: 14px;
  --am-radius-lg: 28px;
  --am-shadow: 0 18px 45px rgba(11, 27, 43, 0.12);
  --am-shadow-lg: 0 30px 72px rgba(11, 27, 43, 0.24);
  --am-container: 1200px;
  --am-ease: 0.35s cubic-bezier(0.2, 0.7, 0.3, 1);
  --am-font-head: "Barlow Condensed", "Arial Narrow", Impact, sans-serif;
  --am-font-body: "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: var(--am-font-body);
  font-size: 1rem;
  line-height: 1.7;
  color: var(--am-ink);
  background-color: var(--am-surface);
  overflow-x: hidden;
}

body.am-no-scroll {
  overflow: hidden;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: var(--am-accent-strong);
  text-decoration: none;
  transition: color var(--am-ease);
}

a:hover,
a:focus {
  color: var(--am-navy);
  text-decoration: underline;
}

h1,
h2,
h3,
h4,
h5 {
  font-family: var(--am-font-head);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: 0.4px;
  color: var(--am-navy);
  margin: 0 0 1rem;
  text-transform: uppercase;
}

h1 {
  font-size: clamp(2.2rem, 5vw, 4rem);
}

h2 {
  font-size: clamp(1.8rem, 3.6vw, 2.9rem);
}

h3 {
  font-size: clamp(1.3rem, 2.2vw, 1.8rem);
}

p {
  margin: 0 0 1.1rem;
}

:focus-visible {
  outline: 3px solid var(--am-accent);
  outline-offset: 3px;
}

.am-container {
  width: 100%;
  max-width: var(--am-container);
  margin: 0 auto;
  padding: 0 20px;
}

.am-section {
  position: relative;
  padding: 92px 0;
}

.am-section--tight {
  padding: 64px 0;
}

.am-section--alt {
  background-color: var(--am-surface-alt);
}

.am-section--dark {
  background-color: var(--am-navy);
  color: #f4f7fb;
}

.am-section--dark h1,
.am-section--dark h2,
.am-section--dark h3,
.am-section--dark h4 {
  color: #ffffff;
}

.am-section--dark p,
.am-section--dark li {
  color: #dbe4ee;
}

.am-section--image {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  color: #ffffff;
}

.am-section--image h2,
.am-section--image h3 {
  color: #ffffff;
}

.am-section--image p,
.am-section--image li {
  color: #e6edf5;
}

.am-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--am-font-head);
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: var(--am-accent-strong);
  margin-bottom: 14px;
}

.am-section--dark .am-eyebrow,
.am-section--image .am-eyebrow {
  color: var(--am-accent);
}

.am-lead {
  font-size: 1.12rem;
  color: var(--am-ink-soft);
  max-width: 68ch;
}

.am-section--dark .am-lead,
.am-section--image .am-lead {
  color: #dbe4ee;
}

.am-divider {
  width: 74px;
  height: 5px;
  border-radius: 99px;
  background: var(--am-accent);
  margin: 0 0 26px;
}

.am-divider--center {
  margin-left: auto;
  margin-right: auto;
}

.am-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 32px;
  border-radius: 99px;
  border: 2px solid transparent;
  font-family: var(--am-font-head);
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: transform var(--am-ease), background-color var(--am-ease), color var(--am-ease), border-color var(--am-ease), box-shadow var(--am-ease);
}

.am-btn:hover,
.am-btn:focus {
  text-decoration: none;
  transform: translateY(-3px);
}

.am-btn--primary {
  background-color: var(--am-accent);
  color: var(--am-accent-ink);
  box-shadow: 0 14px 32px rgba(217, 138, 0, 0.35);
}

.am-btn--primary:hover,
.am-btn--primary:focus {
  background-color: #ffc44d;
  color: var(--am-accent-ink);
}

.am-btn--dark {
  background-color: var(--am-navy);
  color: #ffffff;
}

.am-btn--dark:hover,
.am-btn--dark:focus {
  background-color: var(--am-navy-soft);
  color: #ffffff;
}

.am-btn--ghost {
  background-color: transparent;
  border-color: rgba(255, 255, 255, 0.85);
  color: #ffffff;
}

.am-btn--ghost:hover,
.am-btn--ghost:focus {
  background-color: #ffffff;
  color: var(--am-navy);
  border-color: #ffffff;
}

.am-btn--outline {
  background-color: transparent;
  border-color: var(--am-navy);
  color: var(--am-navy);
}

.am-btn--outline:hover,
.am-btn--outline:focus {
  background-color: var(--am-navy);
  color: #ffffff;
}

.am-btn--block {
  width: 100%;
}

.am-btn--sm {
  padding: 11px 22px;
  font-size: 0.9rem;
}

.am-topbar {
  background-color: var(--am-navy);
  color: #dbe4ee;
  font-size: 0.88rem;
  padding: 9px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.am-topbar__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 26px;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.am-topbar__list li {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0;
}

.am-topbar__list i {
  color: var(--am-accent);
}

.am-topbar__list span {
  color: #dbe4ee;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 1030;
  background-color: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--am-line);
  transition: box-shadow var(--am-ease), padding var(--am-ease);
}

.site-header.am-header--scrolled {
  box-shadow: var(--am-shadow);
}

.am-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 14px 0;
}

.am-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--am-font-head);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--am-navy);
}

.am-brand:hover,
.am-brand:focus {
  color: var(--am-navy);
  text-decoration: none;
}

.am-nav__menu {
  display: flex;
  align-items: center;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.am-nav__menu a {
  display: inline-block;
  padding: 10px 14px;
  border-radius: 10px;
  font-family: var(--am-font-head);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--am-ink);
}

.am-nav__menu a:hover,
.am-nav__menu a:focus,
.am-nav__menu .am-nav__item--active > a {
  background-color: var(--am-surface-alt);
  color: var(--am-navy);
  text-decoration: none;
}

.am-nav__actions {
  display: flex;
  align-items: center;
  gap: 14px;
}

.am-burger {
  display: none;
  width: 48px;
  height: 48px;
  border: 1px solid var(--am-line);
  border-radius: 12px;
  background-color: #ffffff;
  color: var(--am-navy);
  font-size: 1.2rem;
  cursor: pointer;
  transition: background-color var(--am-ease), color var(--am-ease);
}

.am-burger:hover,
.am-burger:focus {
  background-color: var(--am-navy);
  color: #ffffff;
}

.am-mobile-nav {
  display: none;
  border-top: 1px solid var(--am-line);
  background-color: #ffffff;
  padding: 14px 0 22px;
}

.am-mobile-nav.am-mobile-nav--open {
  display: block;
}

.am-mobile-nav__list {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
}

.am-mobile-nav__list a {
  display: block;
  padding: 12px 4px;
  border-bottom: 1px solid var(--am-line);
  font-family: var(--am-font-head);
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--am-navy);
}

.am-mobile-nav__list a:hover,
.am-mobile-nav__list a:focus {
  color: var(--am-accent-strong);
  text-decoration: none;
}

.am-hero {
  position: relative;
  min-height: 640px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  color: #ffffff;
}

.am-hero__slides {
  position: absolute;
  inset: 0;
}

.am-hero__slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  opacity: 0;
  transition: opacity 1.1s ease;
}

.am-hero__slide.am-hero__slide--active {
  opacity: 1;
}

.am-hero__inner {
  position: relative;
  z-index: 3;
  padding: 120px 0;
  max-width: 780px;
}

.am-hero h1 {
  color: #ffffff;
  margin-bottom: 20px;
}

.am-hero p {
  color: #e6edf5;
  font-size: 1.16rem;
  max-width: 62ch;
}

.am-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 30px;
}

.am-hero__dots {
  position: absolute;
  z-index: 4;
  left: 50%;
  bottom: 34px;
  transform: translateX(-50%);
  display: flex;
  gap: 12px;
}

.am-hero__dot {
  width: 46px;
  height: 5px;
  border: 0;
  border-radius: 99px;
  background-color: rgba(255, 255, 255, 0.45);
  cursor: pointer;
  transition: background-color var(--am-ease), transform var(--am-ease);
}

.am-hero__dot.am-hero__dot--active {
  background-color: var(--am-accent);
  transform: scaleY(1.6);
}

.am-badges {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 22px;
}

.am-badge {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 22px;
  border-radius: var(--am-radius);
  background-color: #ffffff;
  border: 1px solid var(--am-line);
  box-shadow: var(--am-shadow);
  transition: transform var(--am-ease);
}

.am-badge:hover {
  transform: translateY(-6px);
}

.am-badge__icon {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background-color: var(--am-accent);
  color: var(--am-accent-ink);
  font-size: 1.25rem;
}

.am-badge__title {
  font-family: var(--am-font-head);
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: var(--am-navy);
  margin: 0 0 6px;
}

.am-badge__text {
  margin: 0;
  font-size: 0.95rem;
  color: var(--am-ink-soft);
}

.am-grid {
  display: grid;
  gap: 26px;
}

.am-grid--2 {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.am-grid--3 {
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
}

.am-grid--4 {
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.am-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: #ffffff;
  border: 1px solid var(--am-line);
  border-radius: var(--am-radius-lg);
  overflow: hidden;
  box-shadow: var(--am-shadow);
  transition: transform var(--am-ease), box-shadow var(--am-ease);
}

.am-card:hover,
.am-card:focus-within {
  transform: translateY(-8px);
  box-shadow: var(--am-shadow-lg);
}

.am-card__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background-color: var(--am-navy-soft);
}

.am-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.am-card:hover .am-card__media img {
  transform: scale(1.06);
}

.am-card__tag {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  padding: 7px 15px;
  border-radius: 99px;
  background-color: var(--am-accent);
  color: var(--am-accent-ink);
  font-family: var(--am-font-head);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.am-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 26px 26px 30px;
}

.am-card__title {
  font-size: 1.45rem;
  margin-bottom: 12px;
}

.am-card__title a {
  color: var(--am-navy);
}

.am-card__title a:hover,
.am-card__title a:focus {
  color: var(--am-accent-strong);
  text-decoration: none;
}

.am-card__text {
  color: var(--am-ink-soft);
  margin-bottom: 18px;
}

.am-card__footer {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.am-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--am-font-head);
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--am-accent-strong);
}

.am-link-arrow:hover,
.am-link-arrow:focus {
  color: var(--am-navy);
  text-decoration: none;
}

.am-price-tag {
  font-family: var(--am-font-head);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--am-navy);
}

.am-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 26px;
}

.am-stat {
  padding: 30px 24px;
  border-radius: var(--am-radius);
  background-color: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  text-align: center;
}

.am-stat__value {
  display: block;
  font-family: var(--am-font-head);
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 700;
  line-height: 1;
  color: var(--am-accent);
}

.am-stat__label {
  display: block;
  margin-top: 10px;
  font-size: 0.95rem;
  color: #dbe4ee;
}

.am-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: am-step;
  display: grid;
  gap: 22px;
}

.am-step {
  position: relative;
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 20px;
  align-items: start;
  padding: 24px;
  border-radius: var(--am-radius);
  background-color: #ffffff;
  border: 1px solid var(--am-line);
  counter-increment: am-step;
}

.am-step::before {
  content: counter(am-step, decimal-leading-zero);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background-color: var(--am-navy);
  color: #ffffff;
  font-family: var(--am-font-head);
  font-size: 1.3rem;
  font-weight: 700;
}

.am-step h3 {
  margin: 0 0 8px;
  font-size: 1.25rem;
}

.am-step p {
  margin: 0;
  color: var(--am-ink-soft);
}

.am-list-check {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.am-list-check li {
  position: relative;
  padding-left: 38px;
  color: var(--am-ink-soft);
}

.am-list-check li::before {
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 2px;
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--am-accent);
  color: var(--am-accent-ink);
  font-size: 0.72rem;
}

.am-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
}

.am-gallery__item {
  position: relative;
  border-radius: var(--am-radius);
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background-color: var(--am-navy-soft);
}

.am-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.am-gallery__item:hover img {
  transform: scale(1.07);
}

.am-gallery__caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 34px 18px 16px;
  background: linear-gradient(rgba(11, 27, 43, 0), rgba(11, 27, 43, 0.88));
  color: #ffffff;
  font-size: 0.94rem;
  margin: 0;
}

.am-quote {
  position: relative;
  padding: 32px 30px 32px 34px;
  border-radius: var(--am-radius-lg);
  background-color: #ffffff;
  border: 1px solid var(--am-line);
  box-shadow: var(--am-shadow);
  height: 100%;
}

.am-quote::before {
  content: "\f10d";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  top: 20px;
  right: 26px;
  font-size: 2rem;
  color: rgba(255, 176, 32, 0.35);
}

.am-quote__text {
  font-size: 1.03rem;
  color: var(--am-ink);
  margin-bottom: 20px;
}

.am-quote__author {
  display: flex;
  align-items: center;
  gap: 14px;
}

.am-quote__avatar {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  overflow: hidden;
  background-color: var(--am-surface-alt);
  flex: 0 0 54px;
}

.am-quote__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.am-quote__name {
  display: block;
  font-family: var(--am-font-head);
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: var(--am-navy);
}

.am-quote__meta {
  display: block;
  font-size: 0.88rem;
  color: var(--am-ink-soft);
}

.am-rating {
  display: inline-flex;
  gap: 4px;
  color: var(--am-accent-strong);
  margin-bottom: 14px;
}

.am-logos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 22px;
  align-items: center;
}

.am-logos__item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  border-radius: var(--am-radius);
  background-color: #ffffff;
  border: 1px solid var(--am-line);
  min-height: 96px;
  transition: transform var(--am-ease);
}

.am-logos__item:hover {
  transform: translateY(-5px);
}

.am-logos__item img {
  max-height: 52px;
  width: auto;
  filter: grayscale(1);
  opacity: 0.75;
  transition: filter var(--am-ease), opacity var(--am-ease);
}

.am-logos__item:hover img {
  filter: grayscale(0);
  opacity: 1;
}

.am-accordion .accordion-item {
  border: 1px solid var(--am-line);
  border-radius: var(--am-radius);
  margin-bottom: 14px;
  overflow: hidden;
  background-color: #ffffff;
}

.am-accordion .accordion-button {
  font-family: var(--am-font-head);
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0.9px;
  text-transform: uppercase;
  color: var(--am-navy);
  background-color: #ffffff;
  padding: 20px 22px;
}

.am-accordion .accordion-button:not(.collapsed) {
  background-color: var(--am-surface-alt);
  color: var(--am-navy);
  box-shadow: none;
}

.am-accordion .accordion-button:focus {
  box-shadow: none;
  border-color: var(--am-accent);
}

.am-accordion .accordion-body {
  color: var(--am-ink-soft);
  padding: 18px 22px 24px;
}

.am-form {
  padding: 34px;
  border-radius: var(--am-radius-lg);
  background-color: #ffffff;
  border: 1px solid var(--am-line);
  box-shadow: var(--am-shadow);
}

.am-form__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
}

.am-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-bottom: 4px;
}

.am-field--full {
  grid-column: 1 / -1;
}

.am-field label {
  font-family: var(--am-font-head);
  font-size: 0.94rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--am-navy);
}

.am-field input,
.am-field select,
.am-field textarea {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--am-line);
  border-radius: 12px;
  font-family: inherit;
  font-size: 1rem;
  color: var(--am-ink);
  background-color: #ffffff;
  transition: border-color var(--am-ease), box-shadow var(--am-ease);
}

.am-field textarea {
  min-height: 140px;
  resize: vertical;
}

.am-field input:focus,
.am-field select:focus,
.am-field textarea:focus {
  outline: none;
  border-color: var(--am-navy);
  box-shadow: 0 0 0 4px rgba(255, 176, 32, 0.35);
}

.am-field--error input,
.am-field--error select,
.am-field--error textarea {
  border-color: var(--am-danger);
}

.am-field__error {
  min-height: 18px;
  font-size: 0.85rem;
  color: var(--am-danger);
}

.am-check {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 0.95rem;
  color: var(--am-ink-soft);
}

.am-check input {
  width: 20px;
  height: 20px;
  margin-top: 3px;
  accent-color: var(--am-accent-strong);
}

.am-notice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 18px;
  padding: 16px 18px;
  border-radius: 12px;
  font-size: 0.98rem;
  border: 1px solid transparent;
}

.am-notice--success {
  background-color: #e7f5ec;
  border-color: #b6dfc6;
  color: #0f4c2e;
}

.am-notice--error {
  background-color: #fdeceb;
  border-color: #f3c3c0;
  color: #7d1c16;
}

.am-notice i {
  margin-top: 3px;
}

.am-newsletter {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: stretch;
}

.am-newsletter .am-field {
  flex: 1 1 260px;
  margin: 0;
}

.am-map {
  border-radius: var(--am-radius-lg);
  overflow: hidden;
  border: 1px solid var(--am-line);
  box-shadow: var(--am-shadow);
  line-height: 0;
}

.am-map iframe {
  width: 100%;
  height: 460px;
  border: 0;
  display: block;
}

.am-info-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 20px;
}

.am-info-list li {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.am-info-list i {
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background-color: var(--am-accent);
  color: var(--am-accent-ink);
  font-size: 1.1rem;
}

.am-info-list strong {
  display: block;
  font-family: var(--am-font-head);
  font-size: 1.02rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: inherit;
}

.am-info-list span {
  display: block;
  font-size: 0.98rem;
}

.am-cta {
  position: relative;
  padding: 96px 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  color: #ffffff;
  text-align: center;
}

.am-cta h2 {
  color: #ffffff;
}

.am-cta p {
  color: #e6edf5;
  max-width: 70ch;
  margin-left: auto;
  margin-right: auto;
}

.am-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  margin-top: 30px;
}

.am-content {
  max-width: 860px;
}

.am-content h2 {
  margin-top: 42px;
}

.am-content h3 {
  margin-top: 32px;
}

.am-content ul,
.am-content ol {
  color: var(--am-ink-soft);
  padding-left: 22px;
}

.am-content li {
  margin-bottom: 9px;
}

.am-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.9rem;
  color: #cbd8e6;
}

.am-breadcrumbs a {
  color: #cbd8e6;
}

.am-breadcrumbs a:hover,
.am-breadcrumbs a:focus {
  color: var(--am-accent);
}

.am-breadcrumbs li + li::before {
  content: "/";
  margin-right: 8px;
  color: rgba(203, 216, 230, 0.6);
}

.site-footer {
  background-color: var(--am-navy);
  color: #cbd8e6;
  padding: 78px 0 0;
  font-size: 0.96rem;
}

.site-footer h3,
.site-footer h4 {
  color: #ffffff;
  font-size: 1.15rem;
  margin-bottom: 18px;
}

.site-footer a {
  color: #cbd8e6;
}

.site-footer a:hover,
.site-footer a:focus {
  color: var(--am-accent);
}

.am-footer__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 40px;
  padding-bottom: 50px;
}

.am-footer__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 11px;
}

.am-footer__brand img {
  margin-bottom: 18px;
}

.am-footer__legal {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding: 24px 0;
  font-size: 0.88rem;
  color: #a9bcd0;
}

.am-footer__legal-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  justify-content: space-between;
  align-items: center;
}

.am-footer__legal p {
  margin: 0;
}

.am-social {
  display: flex;
  gap: 12px;
  margin-top: 20px;
}

.am-social a {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  font-size: 1.05rem;
  transition: background-color var(--am-ease), color var(--am-ease), transform var(--am-ease);
}

.am-social a:hover,
.am-social a:focus {
  background-color: var(--am-accent);
  color: var(--am-accent-ink);
  transform: translateY(-4px);
  text-decoration: none;
}

.am-to-top {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 1040;
  width: 50px;
  height: 50px;
  border: 0;
  border-radius: 50%;
  background-color: var(--am-navy);
  color: #ffffff;
  font-size: 1.1rem;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(14px);
  transition: opacity var(--am-ease), visibility var(--am-ease), transform var(--am-ease), background-color var(--am-ease);
}

.am-to-top.am-to-top--visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.am-to-top:hover,
.am-to-top:focus {
  background-color: var(--am-accent);
  color: var(--am-accent-ink);
}

.am-cookie {
  position: fixed;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  z-index: 1080;
  width: min(960px, calc(100% - 32px));
  padding: 24px 26px;
  border-radius: var(--am-radius);
  background-color: #ffffff;
  border: 1px solid var(--am-line);
  box-shadow: var(--am-shadow-lg);
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
  opacity: 0;
  transition: opacity var(--am-ease), transform var(--am-ease);
}

.am-cookie.am-cookie--visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.am-cookie__text {
  flex: 1 1 420px;
  margin: 0;
  font-size: 0.94rem;
  color: var(--am-ink-soft);
}

.am-cookie__text strong {
  display: block;
  font-family: var(--am-font-head);
  font-size: 1.1rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--am-navy);
  margin-bottom: 6px;
}

.am-cookie__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

@media (max-width: 991px) {
  .am-nav__menu,
  .am-nav__actions .am-btn {
    display: none;
  }

  .am-burger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .am-hero {
    min-height: 540px;
  }

  .am-hero__inner {
    padding: 90px 0;
  }
}

@media (max-width: 767px) {
  .am-section {
    padding: 64px 0;
  }

  .am-step {
    grid-template-columns: 1fr;
  }

  .am-form {
    padding: 24px;
  }

  .am-map iframe {
    height: 340px;
  }

  .am-cookie {
    bottom: 14px;
    padding: 20px;
  }

  .am-to-top {
    right: 14px;
    bottom: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* --- Legal page contrast overrides --- */
.legal-hero {
  background-color: #0b1b2b;
}

.legal-hero__eyebrow,
.legal-hero__lead,
.legal-hero__title {
  color: #ffffff;
}

.legal-breadcrumb a,
.legal-body .breadcrumb-item a {
  color: #8a4f00;
}

.legal-breadcrumb a:hover,
.legal-breadcrumb a:focus,
.legal-body .breadcrumb-item a:hover,
.legal-body .breadcrumb-item a:focus {
  color: #0b1b2b;
}

/* ============================================================
   QA overrides (appended)
   ------------------------------------------------------------
   1) Darken the accent link colour so links on light surfaces
      meet the 4.5:1 contrast requirement.
   2) Give the photo/hero sections an explicit solid dark
      background-color so white text keeps enough contrast even
      when the background image is not painted.
   3) Keep header/footer text on their own solid backgrounds.
   ============================================================ */

:root {
  --am-accent-strong: #8a5600;
}

/* Accent-coloured links / labels on light surfaces */
a,
.am-link-arrow,
.blog-card__more,
.service-card__title a,
.section-eyebrow {
  color: #8a5600;
}

/* Photo sections keep white text readable */
.page-hero,
.blog-quote,
.final-cta {
  background-color: #0b1b2b;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

/* Header and footer keep their own solid backing */
.site-header {
  background-color: #ffffff;
}

.site-footer {
  background-color: #0b1b2b;
  color: #cbd8e6;
}

/* ============================================================
   QA overrides (appended - round 2)
   ------------------------------------------------------------
   Headings/paragraphs inside photo sections carried their own
   explicit colour (navy), which beat the inherited text-white
   and produced dark-on-dark text. Force white text on the dark
   photo sections and give the contact-hours section an explicit
   dark background so its white text no longer sits on white.
   ============================================================ */

/* Page hero: heading had explicit navy colour -> force white */
.page-hero h1,
.page-hero h2,
.page-hero .page-hero__title,
.page-hero .page-hero__eyebrow,
.page-hero .page-hero__lead {
  color: #ffffff;
}

/* Contact hours section: give it a solid dark backing and
   keep all its text white */
.contact-hours {
  background-color: #0b1b2b;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  color: #ffffff;
}

.contact-hours h1,
.contact-hours h2,
.contact-hours h3,
.contact-hours .contact-hours__day,
.contact-hours .contact-hours__time,
.contact-hours .contact-hours__note,
.contact-hours p {
  color: #ffffff;
}

/* Final CTA: heading had explicit navy colour -> force white */
.final-cta h1,
.final-cta h2,
.final-cta h3 {
  color: #ffffff;
}

/* ============================================================
   QA overrides (appended - round 3)
   ------------------------------------------------------------
   The .vat-note and .final-note photo sections only had a
   background-image set inline (no solid background-color), so
   when the image is not painted the white text sat on the white
   body background (ratio 1:1). Give both sections an explicit
   dark background colour and force their text to stay white.
   ============================================================ */

.vat-note,
.final-note {
  background-color: #0b1b2b;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  color: #ffffff;
}

.vat-note h1,
.vat-note h2,
.vat-note h3,
.vat-note h4,
.vat-note p,
.final-note h1,
.final-note h2,
.final-note h3,
.final-note h4,
.final-note p {
  color: #ffffff;
}

/* ============================================================
   QA overrides (appended - round 4)
   ------------------------------------------------------------
   The .thankyou-quote section only had an inline background-image
   (gradient over a photo) and no solid background-color, so when
   no image is painted the white blockquote text sat on the white
   body background. Give it an explicit dark backing and keep all
   of its text white.
   The .final-cta section is dark, but its paragraph inherited the
   dark body ink colour and its outline-dark button used dark text
   + dark border -> unreadable. Force white text there.
   ============================================================ */

.thankyou-quote {
  background-color: #0b1b2b;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  color: #ffffff;
}

.thankyou-quote blockquote,
.thankyou-quote footer,
.thankyou-quote i,
.thankyou-quote p,
.thankyou-quote h1,
.thankyou-quote h2,
.thankyou-quote h3 {
  color: #ffffff;
}

.final-cta p,
.final-cta .final-cta__text,
.final-cta .final-cta__title {
  color: #ffffff;
}

.final-cta .btn-outline-dark {
  color: #ffffff;
  border-color: #ffffff;
}

.final-cta .btn-outline-dark:hover,
.final-cta .btn-outline-dark:focus {
  background-color: #ffffff;
  color: #0b1b2b;
  border-color: #ffffff;
}

/* ============================================================
   QA overrides (appended - round 4)
   ------------------------------------------------------------
   The blog hero (.post-hero) and the closing CTA (.post-cta)
   only carried an inline background-image (with a gradient
   overlay) and no solid background-color, so whenever the photo
   is not painted the white text ended up on the white body
   background (ratio 1:1). Give both sections an explicit dark
   background colour and force every descendant to stay white so
   the section keeps its contrast in every situation. Also give
   the outline button in the dark CTA a clearly visible border
   and text colour.
   ============================================================ */

.post-hero,
.post-cta {
  background-color: #0b1b2b;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  color: #ffffff;
}

.post-hero .post-hero__eyebrow,
.post-hero .post-hero__title,
.post-hero .post-hero__lead,
.post-cta .post-cta__title,
.post-cta .post-cta__text,
.post-cta .post-cta__meta,
.post-cta .post-cta__meta li,
.post-cta .post-cta__meta span,
.post-cta .post-cta__meta i {
  color: #ffffff;
}

/* White outline button on the dark CTA section */
.post-cta .btn-outline-light {
  color: #ffffff;
  border-color: #ffffff;
}

.post-cta .btn-outline-light:hover,
.post-cta .btn-outline-light:focus {
  background-color: #ffffff;
  color: #0b1b2b;
  border-color: #ffffff;
}
