/* Section Two: faithful two-column composition from the approved design. */
.ah-welcome {
  --ah-white: #fff;
  --ah-blue-deep: #082c4c;
  --ah-gold: #c9a64a;
  --ah-link: #0c6f9e;
  --ah-gutter: clamp(1.25rem, 4vw, 3rem);
  --ah-font-sans: Inter, Aptos, "Segoe UI", Arial, sans-serif;
  --ah-font-serif: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(2rem, 3vw, 3rem) 0 clamp(2rem, 3vw, 3rem);
  background: #f8fbfa;
  color: var(--ah-blue-deep);
}
.ah-welcome::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: -12%; right: max(1rem, calc((100vw - 1660px) / 2));
  width: clamp(25rem, 35vw, 37rem); aspect-ratio: 1;
  background: url('../images/atlantic-hall-crest.png') center / contain no-repeat;
  opacity: .105; pointer-events: none;
}
.ah-welcome--editable-crest::before { content: none; }
.ah-welcome--editable-crest > .elementor-widget-atlantic-hall-welcome-crest {
  position: absolute !important;
  z-index: 0;
  width: 100% !important;
  height: 100%;
  inset: 0;
  pointer-events: none;
}
.ah-welcome--editable-crest .ah-welcome-crest {
  position: absolute;
  top: var(--crest-top, 10px);
  right: var(--crest-right, 10px);
  width: var(--crest-width, 330px);
  max-width: 38vw;
  opacity: var(--crest-opacity, .12);
}
.ah-welcome--editable-crest > .elementor-widget-atlantic-hall-welcome-crest img {
  display: block; width: 100%; height: auto;
}
@media (min-width: 1400px) {
  .ah-welcome--editable-crest .ah-welcome__inner { margin-inline: auto; }
}
@media (max-width: 1599px) {
  .ah-welcome--editable-crest { padding-bottom: 7rem; }
  .ah-welcome--editable-crest .ah-welcome-crest {
    top: auto; right: 1rem; bottom: 0; width: min(var(--crest-width, 330px), 6rem, 25vw);
  }
}
@media (max-width: 767px) {
  .ah-welcome--editable-crest { padding-bottom: 5.5rem; }
  .ah-welcome--editable-crest .ah-welcome-crest { width: min(var(--crest-width, 330px), 5rem, 25vw); }
}
.ah-welcome__inner {
  position: relative;
  z-index: 1;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 380px);
  column-gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
  width: min(calc(100% - (2 * var(--ah-gutter))), 1100px) !important;
  margin-inline: auto;
  max-width: 1100px;
}
/* Elementor inserts this wrapper when the inner container is set to Boxed.
   It must own the grid, because the two columns live inside it. */
.ah-welcome .ah-welcome__inner.e-con-boxed > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 380px);
  column-gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
  width: 100%;
  max-width: none;
  padding: 0;
}
.ah-welcome .ah-welcome__inner .ah-welcome__left { width: auto; max-width: none; min-width: 0; }
.ah-welcome .ah-welcome__inner .ah-welcome__right { width: 100%; max-width: 380px; min-width: 0; justify-self: end; }
.ah-welcome__left, .ah-welcome__right { min-width: 0; }
.ah-welcome .ah-welcome__values > .ah-welcome__value { width: auto; max-width: none; min-width: 0; }
.ah-welcome .ah-welcome__card > .e-con { width: auto; max-width: none; min-width: 0; }
.ah-welcome .ah-welcome__card > .elementor-element { width: auto !important; max-width: none; min-width: 0; }
.ah-welcome .ah-welcome__card > .ah-welcome__card-text { width: 100% !important; }
.ah-welcome .ah-welcome__card .elementor-widget-heading,
.ah-welcome .ah-welcome__card .elementor-widget-text-editor { width: 100%; }
.ah-welcome__eyebrow { display: flex; align-items: center; gap: 1rem; margin: 0 0 .9rem; }
.ah-welcome__eyebrow::before, .ah-welcome__story::before {
  content: ""; display: block; flex: 0 0 2.75rem;
  height: 1px; background: var(--ah-gold);
}
.ah-welcome__eyebrow .elementor-heading-title {
  color: var(--ah-blue-deep); font-family: var(--ah-font-sans);
  font-size: .76rem; font-weight: 750; line-height: 1.3;
  letter-spacing: .045em; text-transform: uppercase;
}
.ah-welcome__title { margin-bottom: .8rem; }
.ah-welcome__title .elementor-heading-title {
  color: var(--ah-blue-deep); font-family: var(--ah-font-serif);
  font-size: clamp(2.55rem, 3.05vw, 3.15rem); font-weight: 400;
  line-height: .98; letter-spacing: -.035em;
}
.ah-welcome__body {
  max-width: 36.5rem; color: #53626b; font-family: var(--ah-font-sans);
  font-size: clamp(.96rem, 1vw, 1.035rem); line-height: 1.2;
}
.ah-welcome__body p { margin: 0; }
.ah-welcome__values {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: clamp(1.3rem, 2.7vw, 3rem);
  margin-top: clamp(1.5rem, 2.1vw, 2rem);
}
.ah-welcome__value { min-width: 0; }
.ah-welcome__value .elementor-icon { color: var(--ah-blue-deep); font-size: 1.65rem; }
.ah-welcome__value-icon { margin-bottom: .35rem; }
.ah-welcome__value-title .elementor-heading-title {
  color: var(--ah-blue-deep); font-family: var(--ah-font-serif);
  font-size: clamp(1.03rem, 1.15vw, 1.22rem); font-weight: 500;
  line-height: 1.06; letter-spacing: -.01em;
}
.ah-welcome__value-copy { margin-top: .35rem; color: #53626b; font-size: .88rem; line-height: 1.33; }
.ah-welcome__value-copy p { margin: 0; }
.ah-welcome__story { display: flex; align-items: center; gap: 1rem; margin-top: 1.25rem; }
.ah-welcome__story .elementor-button {
  padding: .4rem 0; border: 0; border-radius: 0;
  background: transparent; color: var(--ah-blue-deep);
  font-family: var(--ah-font-sans); font-size: .79rem;
  font-weight: 750; letter-spacing: .015em; text-transform: uppercase;
}
.ah-welcome__story .elementor-button:hover, .ah-welcome__story .elementor-button:focus-visible {
  background: transparent; color: var(--ah-link); text-decoration: underline; text-underline-offset: .25em;
}
.ah-welcome__right { display: flex !important; flex-direction: column !important; gap: .55rem; padding-top: .2rem; }
.ah-welcome__card {
  position: relative; display: grid !important;
  grid-template-columns: 2.8rem minmax(0, 1fr) 1.2rem;
  max-width: 100%;
  gap: clamp(.7rem, 1vw, 1.1rem); align-items: center;
  min-height: 5.5rem !important; padding: .8rem 1.1rem;
  border-radius: .55rem; background: #fff;
  box-shadow: 0 10px 24px rgba(10, 34, 54, .055);
}
.ah-welcome__card--visit { background: #103761; color: white; }
.ah-welcome__card--prospectus { background: #fff7e6; }
.ah-welcome__card-icon .elementor-icon,
.ah-welcome__card-icon .elementor-icon svg { font-size: 2rem !important; width: 2rem; height: 2rem !important; color: var(--ah-blue-deep); }
.ah-welcome__card--visit .ah-welcome__card-icon .elementor-icon,
.ah-welcome__card--prospectus .ah-welcome__card-icon .elementor-icon { color: #c7982d; }
.ah-welcome__card-title .elementor-heading-title {
  color: var(--ah-blue-deep); font-family: var(--ah-font-sans);
  font-size: .9rem !important; font-weight: 700; line-height: 1.2;
  text-transform: uppercase;
}
.ah-welcome__card--visit .ah-welcome__card-title .elementor-heading-title,
.ah-welcome__card--visit .ah-welcome__card-copy { color: white; }
.ah-welcome__card-title a { color: inherit; text-decoration: none; }
.ah-welcome__card-title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.ah-welcome__card-title a:focus-visible { outline: none; }
.ah-welcome__card:focus-within { outline: 3px solid var(--ah-link); outline-offset: 3px; }
.ah-welcome__card-copy { margin-top: .25rem; color: var(--ah-blue-deep); font-size: .82rem !important; line-height: 1.35; }
.ah-welcome__card-copy p { margin: 0; }
.ah-welcome__card-arrow .elementor-icon { font-size: 1.3rem; color: var(--ah-blue-deep); }
.ah-welcome__card--visit .ah-welcome__card-arrow .elementor-icon { color: white; }
.ah-welcome__card:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(10, 34, 54, .12); }
@media (max-width: 1024px) {
  .ah-welcome__inner { column-gap: 2.5rem; grid-template-columns: minmax(0, 1fr) minmax(0, 380px); }
  .ah-welcome .ah-welcome__inner.e-con-boxed > .e-con-inner { column-gap: 2.5rem; }
  .ah-welcome__card { grid-template-columns: 2.8rem minmax(0, 1fr) 1.2rem; padding: 1rem; }
  .ah-welcome__card-icon .elementor-icon,
  .ah-welcome__card-icon .elementor-icon svg { font-size: 1.9rem !important; width: 1.9rem; height: 1.9rem !important; }
}
@media (max-width: 767px) {
  .ah-welcome { padding-block: 3rem; }
  .ah-welcome::before { width: 20rem; right: -7rem; top: 48%; opacity: .05; }
  .ah-welcome__inner { display: flex !important; flex-direction: column; gap: 2.3rem; }
  .ah-welcome .ah-welcome__inner.e-con-boxed > .e-con-inner {
    display: flex !important; flex-direction: column; gap: 2.3rem;
  }
  .ah-welcome .ah-welcome__inner .ah-welcome__left,
  .ah-welcome .ah-welcome__inner .ah-welcome__right { width: 100%; max-width: none; }
  .ah-welcome__title .elementor-heading-title { font-size: clamp(2.35rem, 8vw, 3rem); line-height: 1.04; }
  .ah-welcome__body { line-height: 1.5; }
  .ah-welcome__values { gap: .75rem; }
  .ah-welcome__value-title .elementor-heading-title { font-size: .98rem; }
  .ah-welcome__value-copy { font-size: .83rem; }
}
@media (max-width: 480px) {
  .ah-welcome__values { grid-template-columns: 1fr; gap: 1rem; }
  .ah-welcome__value { display: grid !important; grid-template-columns: 2.3rem 1fr; column-gap: .75rem; }
  .ah-welcome__value-icon { grid-row: span 2; }
  .ah-welcome__value-copy { margin-top: .2rem; }
}
@media (prefers-reduced-motion: reduce) { .ah-welcome__card { transition: none; } }
