/* Aston Martin public experience — isolated from the shared marque components. */
.page-aston {
  --am-black: #080a09;
  --am-ink: #101311;
  --am-green: #5e735e;
  --am-green-deep: #25352b;
  --am-mist: #aeb9af;
  --am-paper: #efeee8;
  --am-paper-soft: #e7e5dd;
  --am-white: #f8f7f2;
  --am-line: rgba(248, 247, 242, .18);
  --am-radius: clamp(18px, 2vw, 32px);
  --am-section: clamp(88px, 10vw, 156px);
  --brand-radius: 18px;
  --brand-section: var(--am-section);
  background: var(--am-black);
}

/* am.css deliberately uses a British serif for Latin display. Arabic keeps the
   estate's licensed-looking Plex face instead of falling through that Latin stack. */
[dir="rtl"] .page-aston { --brand-font-display: var(--brand-font-ar); }

.page-aston main { overflow: clip; }

.page-aston :where(#introduction, #models, #showrooms, #offers, #enquiry) {
  scroll-margin-block-start: 82px;
}

.page-aston .wrap {
  max-width: 1540px;
  padding-inline: clamp(20px, 4.8vw, 80px);
}

.page-aston .am-section { padding-block: var(--am-section); }

.page-aston .am-kicker {
  margin: 0 0 18px;
  color: var(--am-mist);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .17em;
  line-height: 1.3;
  text-transform: uppercase;
}

[dir="rtl"] .page-aston .am-kicker { letter-spacing: 0; }

.page-aston h2 {
  font-size: clamp(2.25rem, 5vw, 5.25rem);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: .98;
}

[dir="rtl"] .page-aston h2 {
  font-size: clamp(2.15rem, 4.6vw, 4.6rem);
  letter-spacing: 0;
  line-height: 1.2;
}

.page-aston p { text-wrap: pretty; }

/* Header floats over the opening frame and gains weight only after scrolling. */
.page-aston .site-head {
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
  color: var(--am-white);
  background: linear-gradient(to bottom, rgba(4, 7, 5, .82), rgba(4, 7, 5, 0));
  border-block-end-color: rgba(255, 255, 255, .12);
  transition:
    background-color 500ms var(--ease-sine),
    border-color 500ms var(--ease-sine),
    box-shadow 500ms var(--ease-sine);
}

@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .page-aston .site-head { background: linear-gradient(to bottom, rgba(4, 7, 5, .82), rgba(4, 7, 5, 0)); }
  .page-aston.am-scrolled .site-head,
  .page-aston.nav-open .site-head {
    background: rgba(8, 10, 9, .91);
    -webkit-backdrop-filter: blur(18px) saturate(1.15);
    backdrop-filter: blur(18px) saturate(1.15);
  }
}

.page-aston.am-scrolled .site-head,
.page-aston.nav-open .site-head {
  background-color: rgba(8, 10, 9, .97);
  border-block-end-color: rgba(255, 255, 255, .16);
  box-shadow: 0 16px 44px rgba(0, 0, 0, .16);
}

.page-aston .site-head__in { min-block-size: 82px; }
.page-aston .site-nav a { color: var(--am-white); }
.page-aston .site-nav a[aria-current="page"] { color: #d3ded2; opacity: 1; }
.page-aston .lang-switch { color: var(--am-white); border-color: rgba(255, 255, 255, .34); }
.page-aston .lang-switch__icon { color: var(--am-white); background: rgba(255, 255, 255, .13); }
.page-aston .lang-switch:hover,
.page-aston .lang-switch:focus-visible { background: var(--am-white); color: var(--am-ink); border-color: var(--am-white); }
.page-aston .lang-switch:hover .lang-switch__icon,
.page-aston .lang-switch:focus-visible .lang-switch__icon { color: var(--am-white); background: var(--am-green-deep); }
.page-aston .nav-toggle { color: var(--am-white); border-color: rgba(255, 255, 255, .28); border-radius: 50%; }

/* Shared actions */
.page-aston .am-actions { display: flex; flex-wrap: wrap; gap: 12px; }

.page-aston .am-button {
  position: relative;
  display: inline-flex;
  min-block-size: 54px;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 13px 23px;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 999px;
  font: inherit;
  font-size: .84rem;
  font-weight: 500;
  line-height: 1.25;
  text-decoration: none;
  cursor: pointer;
  transition:
    color 350ms var(--ease-sine),
    background-color 350ms var(--ease-sine),
    border-color 350ms var(--ease-sine),
    transform 350ms var(--ease-expo);
}

.page-aston .am-button i,
.page-aston .am-text-link i,
.page-aston .am-offer__action i { transition: transform 350ms var(--ease-expo); }

.page-aston .am-button:hover,
.page-aston .am-button:focus-visible { transform: translateY(-2px); }
.page-aston .am-button:hover .bi-arrow-right,
.page-aston .am-button:focus-visible .bi-arrow-right,
.page-aston .am-text-link:hover .bi-arrow-right,
.page-aston .am-text-link:focus-visible .bi-arrow-right,
.page-aston .am-offer:hover .am-offer__action .bi-arrow-right { transform: translateX(4px); }

[dir="rtl"] .page-aston .bi-arrow-right { transform: scaleX(-1); }
[dir="rtl"] .page-aston .am-button:hover .bi-arrow-right,
[dir="rtl"] .page-aston .am-button:focus-visible .bi-arrow-right,
[dir="rtl"] .page-aston .am-text-link:hover .bi-arrow-right,
[dir="rtl"] .page-aston .am-text-link:focus-visible .bi-arrow-right,
[dir="rtl"] .page-aston .am-offer:hover .am-offer__action .bi-arrow-right {
  transform: scaleX(-1) translateX(4px);
}

.page-aston .am-button--light { color: var(--am-ink); background: var(--am-white); border-color: var(--am-white); }
.page-aston .am-button--light:hover,
.page-aston .am-button--light:focus-visible { color: var(--am-white); background: transparent; }
.page-aston .am-button--glass { color: var(--am-white); background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .38); }
.page-aston .am-button--glass:hover,
.page-aston .am-button--glass:focus-visible { color: var(--am-ink); background: var(--am-white); border-color: var(--am-white); }
.page-aston .am-button--dark { color: var(--am-white); background: var(--am-ink); border-color: var(--am-ink); }
.page-aston .am-button--dark:hover,
.page-aston .am-button--dark:focus-visible { color: var(--am-ink); background: transparent; }

.page-aston .am-text-link {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding-block: 8px;
  color: inherit;
  border-block-end: 1px solid currentColor;
  font-size: .86rem;
  font-weight: 500;
  text-decoration: none;
}

/* Cinematic opening */
.page-aston .am-hero {
  position: relative;
  min-block-size: max(720px, 100svh);
  display: grid;
  overflow: hidden;
  isolation: isolate;
  color: var(--am-white);
  background: #030504;
}

.page-aston .am-hero__media,
.page-aston .am-hero__veil { position: absolute; inset: 0; }

.page-aston .am-hero__picture {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  transform: scale(1.035);
  transform-origin: 58% 52%;
  animation: am-hero-drift 21s ease-in-out infinite alternate;
  will-change: transform;
}

.page-aston .am-hero__picture img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: 54% center;
}

@keyframes am-hero-drift {
  0% { transform: scale(1.035) translate3d(0, 0, 0); }
  100% { transform: scale(1.085) translate3d(-.8%, -.5%, 0); }
}

.page-aston .am-hero__veil {
  z-index: 1;
  background:
    linear-gradient(to bottom, rgba(3, 6, 4, .25) 0%, rgba(3, 6, 4, .04) 35%, rgba(3, 6, 4, .82) 100%),
    linear-gradient(var(--grad-to), rgba(3, 6, 4, .88) 0%, rgba(3, 6, 4, .32) 45%, rgba(3, 6, 4, .06) 74%);
}

.page-aston .am-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(275px, .52fr);
  align-items: end;
  gap: clamp(36px, 6vw, 104px);
  padding-block: clamp(148px, 17vh, 210px) clamp(94px, 11vh, 132px);
}

.page-aston .am-hero__content { max-inline-size: 990px; }

.page-aston .am-hero__signature {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-block-end: clamp(34px, 6vh, 64px);
  color: var(--am-white);
  font-family: Optima, "Iowan Old Style", Georgia, serif;
  font-size: .68rem;
  letter-spacing: .2em;
}

.page-aston .am-hero__signature svg { inline-size: 68px; block-size: 30px; fill: currentColor; }
.page-aston .am-hero .am-kicker { color: rgba(248, 247, 242, .7); }

.page-aston .am-hero__title {
  max-inline-size: 9.6ch;
  color: var(--am-white);
  font-size: clamp(3.65rem, 7.8vw, 8.4rem);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .9;
  text-wrap: balance;
}

[dir="rtl"] .page-aston .am-hero__title {
  max-inline-size: 12ch;
  font-size: clamp(3rem, 6.4vw, 6.4rem);
  letter-spacing: 0;
  line-height: 1.12;
}

.page-aston .am-hero__lede {
  max-inline-size: 53ch;
  margin: clamp(24px, 4vh, 38px) 0 0;
  color: rgba(248, 247, 242, .79);
  font-size: clamp(1rem, 1.4vw, 1.18rem);
  line-height: 1.7;
}

.page-aston .am-hero .am-actions { margin-block-start: 34px; }

.page-aston .am-hero__facts {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 8px 24px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 22px;
  background: rgba(8, 10, 9, .34);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.page-aston .am-hero__facts > div { padding-block: 17px; border-block-end: 1px solid rgba(255, 255, 255, .16); }
.page-aston .am-hero__facts > div:last-child { border-block-end: 0; }
.page-aston .am-hero__facts dt { margin-block-end: 5px; color: rgba(248, 247, 242, .55); font-size: .67rem; letter-spacing: .11em; text-transform: uppercase; }
.page-aston .am-hero__facts dd { margin: 0; color: var(--am-white); font-size: .93rem; }
[dir="rtl"] .page-aston .am-hero__facts dt { letter-spacing: 0; }

.page-aston .am-scroll {
  position: absolute;
  z-index: 3;
  inset-inline-end: clamp(20px, 4.8vw, 80px);
  inset-block-end: 28px;
  display: inline-flex;
  align-items: center;
  gap: 13px;
  color: rgba(248, 247, 242, .72);
  font-size: .69rem;
  letter-spacing: .12em;
  text-decoration: none;
  text-transform: uppercase;
}

.page-aston .am-scroll i {
  position: relative;
  display: block;
  inline-size: 1px;
  block-size: 34px;
  overflow: hidden;
  background: rgba(255, 255, 255, .25);
}

.page-aston .am-scroll i::after {
  content: "";
  position: absolute;
  inset-block-start: -100%;
  inset-inline: 0;
  block-size: 100%;
  background: var(--am-white);
  animation: am-scroll-line 2s ease-in-out infinite;
}

@keyframes am-scroll-line { 0% { transform: translateY(0); } 60%, 100% { transform: translateY(200%); } }

.will-animate .page-aston .am-hero__step {
  opacity: 0;
  transform: translateY(24px);
  animation: am-hero-copy 1.05s var(--ease-expo) forwards;
}
.will-animate .page-aston .am-hero__step:nth-child(1) { animation-delay: 100ms; }
.will-animate .page-aston .am-hero__step:nth-child(2) { animation-delay: 190ms; }
.will-animate .page-aston .am-hero__step:nth-child(3) { animation-delay: 280ms; }
.will-animate .page-aston .am-hero__step:nth-child(4) { animation-delay: 370ms; }
.will-animate .page-aston .am-hero__step:nth-child(5) { animation-delay: 460ms; }
.will-animate .page-aston .am-hero__facts { animation-delay: 540ms; }
@keyframes am-hero-copy { to { opacity: 1; transform: none; } }

/* Editorial introduction */
.page-aston .am-intro {
  position: relative;
  color: var(--am-ink);
  background: var(--am-paper);
  border-start-start-radius: var(--am-radius);
  border-start-end-radius: var(--am-radius);
}

.page-aston .am-intro__grid {
  display: grid;
  grid-template-columns: 92px minmax(0, 1.25fr) minmax(280px, .72fr);
  gap: clamp(32px, 5vw, 80px);
  align-items: start;
}

.page-aston .am-section-mark { display: flex; align-items: center; gap: 12px; padding-block-start: 8px; color: #6d746e; font-size: .68rem; letter-spacing: .12em; }
.page-aston .am-section-mark i { inline-size: 36px; block-size: 1px; background: #a7aba6; }
.page-aston .am-intro .am-kicker { color: #69736a; }
.page-aston .am-intro__heading h2 { max-inline-size: 13ch; }
.page-aston .am-intro__copy { padding-block-start: clamp(8px, 4vw, 66px); }
.page-aston .am-intro__copy p { margin: 0 0 34px; color: #525a54; font-size: clamp(1rem, 1.4vw, 1.16rem); line-height: 1.82; }

/* Section heading shared by models, craft and offers. */
.page-aston .am-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .62fr);
  align-items: end;
  gap: clamp(40px, 8vw, 136px);
  margin-block-end: clamp(58px, 8vw, 116px);
  padding-block-end: 32px;
  border-block-end: 1px solid var(--am-line);
}

.page-aston .am-section-head h2 { max-inline-size: 14ch; }
.page-aston .am-section-head > p { margin: 0; color: var(--brand-fg-mid); line-height: 1.78; }
.page-aston .am-section-head--compact { margin-block-end: clamp(48px, 7vw, 96px); }

/* Models */
.page-aston .am-models { color: var(--am-white); background: var(--am-black); }
.page-aston .am-model-list { display: grid; gap: clamp(96px, 13vw, 190px); }

.page-aston .am-model {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(310px, .62fr);
  align-items: center;
  gap: clamp(38px, 6vw, 92px);
}

.page-aston .am-model--reverse { grid-template-columns: minmax(310px, .62fr) minmax(0, 1.55fr); }
.page-aston .am-model--reverse .am-model__visual { order: 2; }
.page-aston .am-model--reverse .am-model__body { order: 1; }

.page-aston .am-model__visual {
  position: relative;
  min-block-size: clamp(420px, 47vw, 690px);
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: var(--am-radius);
  background:
    radial-gradient(circle at 50% 52%, rgba(100, 124, 101, .2), transparent 37%),
    linear-gradient(145deg, #171b18, #0e100f 68%);
}

.page-aston .am-model__visual::after {
  content: "";
  position: absolute;
  inset-inline: 11%;
  inset-block-end: 17%;
  block-size: 10%;
  border-radius: 50%;
  background: rgba(0, 0, 0, .62);
  filter: blur(28px);
}

.page-aston .am-model__picture {
  position: relative;
  z-index: 1;
  display: block;
  inline-size: 116%;
  transition: transform 1.1s var(--ease-expo);
}
.page-aston .am-model__picture img { inline-size: 100%; }
.page-aston .am-model:hover .am-model__picture { transform: scale(1.022) translateY(-5px); }

.page-aston .am-model__number {
  position: absolute;
  z-index: 2;
  inset-block-start: 24px;
  inset-inline-start: 25px;
  color: rgba(255, 255, 255, .48);
  font-size: .68rem;
  letter-spacing: .12em;
}

.page-aston .am-model__tag {
  position: absolute;
  z-index: 2;
  inset-block-end: 24px;
  inset-inline-end: 25px;
  color: rgba(255, 255, 255, .65);
  font-family: Optima, "Iowan Old Style", Georgia, serif;
  font-size: .67rem;
  letter-spacing: .18em;
}

.page-aston .am-model__body h3 { margin: 0 0 20px; font-family: var(--brand-font); font-size: clamp(2.5rem, 4.4vw, 4.6rem); font-weight: 400; letter-spacing: -.045em; line-height: .95; }
.page-aston .am-model__body > div > p:last-child { margin: 0; color: var(--brand-fg-mid); line-height: 1.8; }

.page-aston .am-model__specs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 38px 0 32px;
  padding: 0;
  border-block: 1px solid var(--am-line);
}
.page-aston .am-model__specs > div { min-inline-size: 0; padding: 19px 8px; border-inline-end: 1px solid var(--am-line); }
.page-aston .am-model__specs > div:first-child { padding-inline-start: 0; }
.page-aston .am-model__specs > div:last-child { border-inline-end: 0; padding-inline-end: 0; }
.page-aston .am-model__specs dt { margin-block-end: 8px; color: var(--brand-fg-dim); font-size: .63rem; letter-spacing: .07em; text-transform: uppercase; }
.page-aston .am-model__specs dd { margin: 0; color: var(--am-white); direction: ltr; font-size: clamp(.92rem, 1.25vw, 1.12rem); text-align: start; unicode-bidi: isolate; }
[dir="rtl"] .page-aston .am-model__specs dt { letter-spacing: 0; text-transform: none; }

/* Full viewport ownership frame */
.page-aston .am-cinema {
  position: relative;
  min-block-size: clamp(660px, 84svh, 920px);
  display: grid;
  align-items: end;
  margin-inline: clamp(0px, 1.5vw, 24px);
  overflow: hidden;
  isolation: isolate;
  color: var(--am-white);
  border-radius: var(--am-radius);
}

.page-aston .am-cinema__media,
.page-aston .am-cinema__veil { position: absolute; inset: 0; }
.page-aston .am-cinema__picture { display: block; inline-size: 100%; block-size: 106%; transform: scale(1.045); transform-origin: center; }
.page-aston .am-cinema__picture img { inline-size: 100%; block-size: 100%; object-fit: cover; object-position: center 48%; }
.page-aston .am-cinema__veil { z-index: 1; background: linear-gradient(to top, rgba(5, 8, 6, .93) 0%, rgba(5, 8, 6, .32) 50%, rgba(5, 8, 6, .05) 78%); }
.page-aston .am-cinema__inner { position: relative; z-index: 2; padding-block: 80px; }
.page-aston .am-cinema__inner h2 { max-inline-size: 15ch; }
.page-aston .am-cinema__inner > p:last-child { max-inline-size: 60ch; margin: 28px 0 0; color: rgba(255, 255, 255, .72); font-size: 1rem; line-height: 1.75; }

@supports (animation-timeline: view()) {
  .page-aston .am-cinema__picture,
  .page-aston .am-journey__picture {
    animation: am-frame-drift linear both;
    animation-timeline: view();
    animation-range: cover 0% cover 100%;
  }
}
@keyframes am-frame-drift {
  from { transform: scale(1.08) translateY(-1.5%); }
  to { transform: scale(1.035) translateY(1.5%); }
}

/* Craft */
.page-aston .am-craft-section { color: var(--am-ink); background: var(--am-paper); }
.page-aston .am-craft-section .am-kicker { color: #687269; }
.page-aston .am-craft-section .am-section-head { border-color: rgba(16, 19, 17, .18); }
.page-aston .am-craft-section .am-section-head > p { color: #59605b; }

.page-aston .am-craft {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: clamp(18px, 2.5vw, 34px);
  align-items: start;
}
.page-aston .am-craft__item { margin: 0; }
.page-aston .am-craft__item--wide { grid-column: 1 / span 8; }
.page-aston .am-craft__item--side { grid-column: 9 / -1; margin-block-start: clamp(60px, 8vw, 116px); }
.page-aston .am-craft__item--lower { grid-column: 3 / span 8; margin-block-start: clamp(8px, 2vw, 28px); }
.page-aston .am-craft__media { overflow: hidden; border-radius: var(--am-radius); background: #1a1c1b; }
.page-aston .am-craft__media picture { display: block; transition: transform 900ms var(--ease-expo); }
.page-aston .am-craft__item:hover .am-craft__media picture { transform: scale(1.025); }
.page-aston .am-craft__media img { inline-size: 100%; aspect-ratio: 2.7 / 1; object-fit: cover; }
.page-aston .am-craft__item--side .am-craft__media img { aspect-ratio: 1.4 / 1; }
.page-aston .am-craft figcaption { display: flex; gap: 17px; margin-block-start: 15px; color: #555e57; font-size: .78rem; line-height: 1.6; }
.page-aston .am-craft figcaption span { flex: none; color: #8b928c; font-size: .65rem; letter-spacing: .09em; }

/* Click-gated interactive studio */
.page-aston .am-digital { color: var(--am-white); background: linear-gradient(135deg, #152019 0%, #090c0a 58%, #080a09 100%); }
.page-aston .am-digital__grid { display: grid; grid-template-columns: minmax(270px, .68fr) minmax(0, 1.35fr); gap: clamp(46px, 8vw, 130px); align-items: center; }
.page-aston .am-digital__copy h2 { max-inline-size: 11ch; }
.page-aston .am-digital__copy > p:not(.am-kicker) { max-inline-size: 47ch; margin: 28px 0 0; color: var(--brand-fg-mid); line-height: 1.8; }
.page-aston .am-digital__notes { display: grid; gap: 15px; margin: 34px 0 0; padding: 0; list-style: none; color: #c9cec9; font-size: .82rem; }
.page-aston .am-digital__notes li { display: flex; align-items: center; gap: 12px; }
.page-aston .am-digital__notes i { display: grid; inline-size: 34px; block-size: 34px; place-items: center; color: #d7dfd6; border: 1px solid rgba(255, 255, 255, .17); border-radius: 50%; }

.page-aston .am-viewer { min-inline-size: 0; }
.page-aston .am-viewer__stage {
  position: relative;
  aspect-ratio: 16 / 10;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--am-radius);
  background: #0e110f;
}
.page-aston .am-viewer__poster { position: absolute; inset: 0; display: block; }
.page-aston .am-viewer__poster img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.page-aston .am-viewer__wash { position: absolute; inset: 0; z-index: 1; background: radial-gradient(circle at center, transparent 24%, rgba(7, 10, 8, .18) 72%), linear-gradient(to top, rgba(7, 10, 8, .55), transparent 50%); }
.page-aston .am-viewer__launch {
  position: relative;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-block-size: 58px;
  padding: 7px 21px 7px 8px;
  color: var(--am-ink);
  border: 0;
  border-radius: 999px;
  background: var(--am-white);
  font: inherit;
  font-size: .8rem;
  font-weight: 500;
  cursor: pointer;
  box-shadow: 0 15px 42px rgba(0, 0, 0, .26);
  transition: transform 400ms var(--ease-expo), background-color 300ms var(--ease-sine);
}
[dir="rtl"] .page-aston .am-viewer__launch { padding: 7px 8px 7px 21px; }
.page-aston .am-viewer__launch:hover,
.page-aston .am-viewer__launch:focus-visible { transform: scale(1.025); background: #dfe6df; }
.page-aston .am-viewer__launch:disabled { cursor: wait; opacity: .78; }
.page-aston .am-viewer__play { display: grid; inline-size: 44px; block-size: 44px; place-items: center; flex: none; color: var(--am-white); border-radius: 50%; background: var(--am-green-deep); }
.page-aston .am-viewer__status { position: absolute; z-index: 4; inset-inline: 24px; inset-block-end: 18px; margin: 0; color: rgba(255, 255, 255, .8); font-size: .75rem; text-align: center; }
.page-aston .am-viewer__stage model-viewer { position: absolute; inset: 0; z-index: 2; inline-size: 100%; block-size: 100%; opacity: 0; background: #111412; transition: opacity 650ms var(--ease-sine); }
.page-aston .am-viewer.is-loaded .am-viewer__stage model-viewer { opacity: 1; }
.page-aston .am-viewer.is-loaded .am-viewer__poster,
.page-aston .am-viewer.is-loaded .am-viewer__wash,
.page-aston .am-viewer.is-loaded .am-viewer__launch { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 400ms var(--ease-sine), visibility 0s 400ms; }
.page-aston .am-viewer__credit { margin: 14px 0 0; color: rgba(255, 255, 255, .42); font-size: .65rem; line-height: 1.65; }

/* Showrooms */
.page-aston .am-showrooms { color: var(--am-ink); background: var(--am-paper-soft); }
.page-aston .am-showrooms__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(350px, .72fr); gap: clamp(50px, 8vw, 132px); align-items: center; }
.page-aston .am-showrooms__visual { position: relative; }
.page-aston .am-showrooms__picture { display: block; overflow: hidden; border-radius: var(--am-radius); }
.page-aston .am-showrooms__picture img { inline-size: 100%; aspect-ratio: 1.28 / 1; object-fit: cover; transition: transform 1.1s var(--ease-expo); }
.page-aston .am-showrooms__visual:hover img { transform: scale(1.022); }
.page-aston .am-showrooms__caption { position: absolute; inset-inline-start: 18px; inset-block-end: 18px; padding: 8px 13px; color: var(--am-white); border: 1px solid rgba(255, 255, 255, .26); border-radius: 999px; background: rgba(9, 12, 10, .65); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); font-size: .65rem; }
.page-aston .am-showrooms__content .am-kicker { color: #69736a; }
.page-aston .am-showrooms__content h2 { max-inline-size: 9ch; }
.page-aston .am-showrooms__lede { margin: 26px 0 0; color: #535c55; line-height: 1.8; }
.page-aston .am-location-list { margin: 38px 0 34px; padding: 0; list-style: none; border-block-start: 1px solid rgba(16, 19, 17, .2); }
.page-aston .am-location-list li { display: grid; grid-template-columns: minmax(85px, .48fr) 1fr auto; align-items: center; gap: 16px; padding-block: 18px; border-block-end: 1px solid rgba(16, 19, 17, .2); }
.page-aston .am-location-list__city { font-size: 1rem; font-weight: 500; }
.page-aston .am-location-list__hours { color: #6b736d; font-size: .73rem; }
.page-aston .am-location-list__index { color: #9ba19c; font-size: .63rem; letter-spacing: .08em; }

/* Closing road image */
.page-aston .am-journey {
  position: relative;
  min-block-size: clamp(620px, 86svh, 940px);
  display: grid;
  align-items: end;
  overflow: hidden;
  isolation: isolate;
  color: var(--am-white);
  background: #111;
}
.page-aston .am-journey__media,
.page-aston .am-journey__veil { position: absolute; inset: 0; }
.page-aston .am-journey__picture { display: block; inline-size: 100%; block-size: 106%; transform: scale(1.045); }
.page-aston .am-journey__picture img { inline-size: 100%; block-size: 100%; object-fit: cover; object-position: 42% center; }
.page-aston .am-journey__veil { z-index: 1; background: linear-gradient(to top, rgba(5, 7, 6, .92) 0%, rgba(5, 7, 6, .25) 52%, rgba(5, 7, 6, .05) 76%), linear-gradient(var(--grad-to), rgba(5, 7, 6, .52), transparent 65%); }
.page-aston .am-journey__inner { position: relative; z-index: 2; padding-block: 76px; }
.page-aston .am-journey__inner h2 { max-inline-size: 12ch; }
.page-aston .am-journey__inner .am-button { margin-block-start: 32px; }

/* Offers remain CMS-backed, now presented editorially. */
.page-aston .am-offers { color: var(--am-white); background: var(--am-black); }
.page-aston .am-offer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2vw, 30px); }
.page-aston .am-offer { display: flex; min-inline-size: 0; flex-direction: column; overflow: hidden; color: inherit; border: 1px solid rgba(255, 255, 255, .13); border-radius: var(--am-radius); background: #111411; text-decoration: none; transition: transform 600ms var(--ease-expo), border-color 350ms var(--ease-sine); }
.page-aston .am-offer:hover,
.page-aston .am-offer:focus-visible { transform: translateY(-7px); border-color: rgba(255, 255, 255, .32); }
.page-aston .am-offer__media { aspect-ratio: 2.45 / 1; overflow: hidden; background: linear-gradient(145deg, #1a1f1b, #0b0d0c); }
.page-aston .am-offer__media img { inline-size: 100%; block-size: 100%; object-fit: cover; transition: transform 900ms var(--ease-expo); }
.page-aston .am-offer:hover .am-offer__media img { transform: scale(1.035); }
.page-aston .am-offer__body { display: flex; flex: 1; flex-direction: column; padding: clamp(23px, 2.5vw, 34px); }
.page-aston .am-offer__label { margin-block-end: 19px; color: #93a294; font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; }
[dir="rtl"] .page-aston .am-offer__label { letter-spacing: 0; }
.page-aston .am-offer h3 { margin: 0 0 14px; font-family: var(--brand-font); font-size: clamp(1.3rem, 2vw, 1.75rem); font-weight: 400; line-height: 1.25; }
.page-aston .am-offer p { margin: 0 0 28px; color: var(--brand-fg-mid); font-size: .86rem; line-height: 1.75; }
.page-aston .am-offer__action { display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; margin-block-start: auto; padding-block-start: 17px; color: #e9ece8; border-block-start: 1px solid rgba(255, 255, 255, .12); font-size: .75rem; }
.page-aston .am-offers__empty { max-inline-size: 700px; padding: 40px; border: 1px solid rgba(255, 255, 255, .13); border-radius: var(--am-radius); background: #111411; }
.page-aston .am-offers__empty p { margin: 0 0 24px; color: var(--brand-fg-mid); }

/* Concierge */
.page-aston .am-concierge { position: relative; color: var(--am-white); background: #1d2b22; }
.page-aston .am-concierge::before { content: ""; position: absolute; inset-block-start: 0; inset-inline-end: 0; inline-size: min(46vw, 720px); block-size: 100%; pointer-events: none; background: radial-gradient(circle at 70% 20%, rgba(143, 167, 143, .15), transparent 52%); }
.page-aston .am-concierge__grid { position: relative; display: grid; grid-template-columns: minmax(300px, .7fr) minmax(0, 1fr); gap: clamp(54px, 10vw, 164px); align-items: start; }
.page-aston .am-concierge__intro h2 { max-inline-size: 10ch; }
.page-aston .am-concierge__intro > p:not(.am-kicker) { max-inline-size: 50ch; margin: 28px 0 0; color: rgba(255, 255, 255, .67); line-height: 1.8; }
.page-aston .am-concierge__promises { display: grid; gap: 0; margin: 42px 0 0; padding: 0; list-style: none; border-block-start: 1px solid rgba(255, 255, 255, .17); }
.page-aston .am-concierge__promises li { display: flex; gap: 16px; padding-block: 16px; border-block-end: 1px solid rgba(255, 255, 255, .17); color: rgba(255, 255, 255, .79); font-size: .82rem; }
.page-aston .am-concierge__promises span { color: rgba(255, 255, 255, .4); font-size: .63rem; letter-spacing: .08em; }
.page-aston .am-concierge__panel { padding: clamp(26px, 4vw, 54px); border: 1px solid rgba(255, 255, 255, .18); border-radius: var(--am-radius); background: rgba(7, 11, 8, .3); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.page-aston .am-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 22px; }
.page-aston .am-concierge .field { margin-block-end: 20px; }
.page-aston .am-concierge .field label { color: rgba(255, 255, 255, .61); font-size: .72rem; letter-spacing: .04em; }
[dir="rtl"] .page-aston .am-concierge .field label { letter-spacing: 0; }
.page-aston .am-concierge .field input,
.page-aston .am-concierge .field select {
  min-block-size: 56px;
  padding: 13px 15px;
  color: var(--am-white);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 13px;
  background: rgba(255, 255, 255, .055);
}
.page-aston .am-concierge .field input::placeholder { color: rgba(255, 255, 255, .34); }
.page-aston .am-concierge .field input:focus,
.page-aston .am-concierge .field select:focus { border-color: rgba(255, 255, 255, .62); box-shadow: 0 0 0 3px rgba(255, 255, 255, .07); }
.page-aston .am-concierge .field select option { color: #111; background: #fff; }
.page-aston .am-concierge__submit { inline-size: 100%; margin-block-start: 4px; }
.page-aston .am-concierge__privacy { margin: 14px 0 0; color: rgba(255, 255, 255, .44); font-size: .68rem; text-align: center; }
.page-aston .am-concierge .formnote { margin: 0 0 24px; border-radius: 10px; }

/* The shared corporate footer is already dark; remove the generic gap so it closes the story. */
.page-aston .foot { margin-block-start: 0; }

/* Tablet */
@media (max-width: 1100px) {
  .page-aston .am-hero__inner { grid-template-columns: minmax(0, 1fr) 240px; gap: 36px; }
  .page-aston .am-intro__grid { grid-template-columns: 60px 1fr; }
  .page-aston .am-intro__copy { grid-column: 2; padding-block-start: 0; max-inline-size: 620px; }
  .page-aston .am-section-head { grid-template-columns: 1fr minmax(240px, .56fr); gap: 50px; }
  .page-aston .am-model,
  .page-aston .am-model--reverse { grid-template-columns: minmax(0, 1.35fr) minmax(280px, .7fr); gap: 38px; }
  .page-aston .am-digital__grid { gap: 54px; }
  .page-aston .am-showrooms__grid { gap: 55px; }
  .page-aston .am-concierge__grid { gap: 58px; }
}

/* Navigation collapse and content stack */
@media (max-width: 900px) {
  .page-aston { --am-section: clamp(78px, 12vw, 112px); }
  .page-aston .site-head__in { min-block-size: 72px; }
  .nav-enhanced .page-aston .site-nav { background: rgba(8, 10, 9, .98); border-color: rgba(255, 255, 255, .16); border-radius: 16px; }

  .page-aston .am-hero__inner { grid-template-columns: 1fr; align-content: end; padding-block-end: 88px; }
  .page-aston .am-hero__content { max-inline-size: 760px; }
  .page-aston .am-hero__facts { grid-template-columns: repeat(3, 1fr); padding: 7px 18px; }
  .page-aston .am-hero__facts > div { padding: 12px 16px; border-block-end: 0; border-inline-end: 1px solid rgba(255, 255, 255, .16); }
  .page-aston .am-hero__facts > div:first-child { padding-inline-start: 0; }
  .page-aston .am-hero__facts > div:last-child { padding-inline-end: 0; border-inline-end: 0; }

  .page-aston .am-section-head { grid-template-columns: 1fr; align-items: start; gap: 26px; }
  .page-aston .am-section-head > p { max-inline-size: 600px; }
  .page-aston .am-model,
  .page-aston .am-model--reverse { grid-template-columns: 1fr; }
  .page-aston .am-model--reverse .am-model__visual,
  .page-aston .am-model--reverse .am-model__body { order: initial; }
  .page-aston .am-model__body { max-inline-size: 680px; }
  .page-aston .am-model__visual { min-block-size: clamp(390px, 64vw, 610px); }

  .page-aston .am-digital__grid,
  .page-aston .am-showrooms__grid,
  .page-aston .am-concierge__grid { grid-template-columns: 1fr; }
  .page-aston .am-digital__copy,
  .page-aston .am-showrooms__content,
  .page-aston .am-concierge__intro { max-inline-size: 680px; }
  .page-aston .am-showrooms__visual { order: 2; }
  .page-aston .am-showrooms__content { order: 1; }

  .page-aston .am-offer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-aston .am-offer:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .page-aston .am-offer:last-child:nth-child(odd) { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .page-aston .am-offer:last-child:nth-child(odd) .am-offer__media { aspect-ratio: auto; min-block-size: 240px; }
}

/* Phones */
@media (max-width: 640px) {
  .page-aston { --am-section: 76px; --am-radius: 20px; }
  .page-aston .wrap { padding-inline: 20px; }
  .page-aston .wordmark__img { inline-size: 38px; block-size: auto; }
  .page-aston .lang-switch { gap: 4px; padding-inline-start: 8px; }
  .page-aston .lang-switch__icon { inline-size: 30px; block-size: 30px; }
  .page-aston .site-head__in { gap: 10px; }
  .page-aston :where(#introduction, #models, #showrooms, #offers, #enquiry) { scroll-margin-block-start: 72px; }

  .page-aston .am-hero { min-block-size: max(680px, 100svh); }
  .page-aston .am-hero__picture { transform-origin: 55% center; }
  .page-aston .am-hero__picture img { object-position: 55% center; }
  .page-aston .am-hero__veil {
    background:
      linear-gradient(to bottom, rgba(3, 6, 4, .36) 0%, rgba(3, 6, 4, .06) 25%, rgba(3, 6, 4, .93) 83%, rgba(3, 6, 4, .98) 100%),
      linear-gradient(var(--grad-to), rgba(3, 6, 4, .62), rgba(3, 6, 4, .04) 80%);
  }
  .page-aston .am-hero__inner { display: block; padding-block: 126px 82px; }
  .page-aston .am-hero__signature { margin-block-end: 36px; }
  .page-aston .am-hero__signature svg { inline-size: 56px; }
  .page-aston .am-hero__title { max-inline-size: 10ch; font-size: clamp(3.25rem, 15vw, 4.65rem); line-height: .92; }
  [dir="rtl"] .page-aston .am-hero__title { max-inline-size: 11ch; font-size: clamp(2.75rem, 11vw, 3.6rem); line-height: 1.18; }
  .page-aston .am-hero__lede { font-size: .94rem; line-height: 1.68; }
  .page-aston .am-hero .am-actions { display: grid; grid-template-columns: 1fr; margin-block-start: 26px; }
  .page-aston .am-hero .am-button { inline-size: 100%; }
  .page-aston .am-hero__facts { display: none; }
  .page-aston .am-scroll { inset-inline-end: 20px; inset-block-end: 20px; }
  .page-aston .am-scroll span { display: none; }

  .page-aston .am-intro__grid { grid-template-columns: 1fr; gap: 30px; }
  .page-aston .am-section-mark { display: none; }
  .page-aston .am-intro__copy { grid-column: auto; }

  .page-aston .am-section-head { margin-block-end: 46px; padding-block-end: 24px; }
  .page-aston h2 { font-size: clamp(2.25rem, 11vw, 3.25rem); }
  [dir="rtl"] .page-aston h2 { font-size: clamp(2.05rem, 9.5vw, 2.85rem); }

  .page-aston .am-model-list { gap: 90px; }
  .page-aston .am-model { gap: 30px; }
  .page-aston .am-model__visual { min-block-size: 310px; }
  .page-aston .am-model__picture { inline-size: 130%; }
  .page-aston .am-model__tag { inset-inline-end: 17px; inset-block-end: 17px; font-size: .58rem; }
  .page-aston .am-model__number { inset-inline-start: 17px; inset-block-start: 17px; }
  .page-aston .am-model__body h3 { font-size: 2.65rem; }
  .page-aston .am-model__specs { margin-block: 28px 25px; }
  .page-aston .am-model__specs > div { padding: 15px 5px; }
  .page-aston .am-model__specs dt { font-size: .57rem; }
  .page-aston .am-model__specs dd { font-size: .84rem; }

  .page-aston .am-cinema { min-block-size: 650px; margin-inline: 0; border-radius: 0; }
  .page-aston .am-cinema__picture img { object-position: 50% center; }
  .page-aston .am-cinema__inner { padding-block: 52px; }

  .page-aston .am-craft { grid-template-columns: 1fr; gap: 34px; }
  .page-aston .am-craft__item--wide,
  .page-aston .am-craft__item--side,
  .page-aston .am-craft__item--lower { grid-column: auto; margin-block-start: 0; }
  .page-aston .am-craft__item--side .am-craft__media img,
  .page-aston .am-craft__media img { aspect-ratio: 1.8 / 1; }

  .page-aston .am-digital__grid,
  .page-aston .am-showrooms__grid,
  .page-aston .am-concierge__grid { gap: 44px; }
  .page-aston .am-viewer__stage { aspect-ratio: 4 / 3; }
  .page-aston .am-viewer__launch { max-inline-size: calc(100% - 36px); padding-inline-end: 17px; font-size: .74rem; }
  [dir="rtl"] .page-aston .am-viewer__launch { padding-inline-end: 8px; padding-inline-start: 17px; }
  .page-aston .am-viewer__play { inline-size: 40px; block-size: 40px; }

  .page-aston .am-showrooms__picture img { aspect-ratio: 1 / 1; }
  .page-aston .am-location-list li { grid-template-columns: 1fr auto; gap: 5px 12px; }
  .page-aston .am-location-list__hours { grid-column: 1 / -1; }
  .page-aston .am-location-list__index { grid-column: 2; grid-row: 1; }

  .page-aston .am-journey { min-block-size: 660px; }
  .page-aston .am-journey__picture img { object-position: 37% center; }
  .page-aston .am-journey__inner { padding-block: 52px; }

  .page-aston .am-offer-grid { grid-template-columns: 1fr; }
  .page-aston .am-offer:last-child:nth-child(odd) { grid-column: auto; display: flex; }
  .page-aston .am-offer:last-child:nth-child(odd) .am-offer__media { aspect-ratio: 2.45 / 1; min-block-size: 0; }

  .page-aston .am-concierge__panel { padding: 24px 19px; }
  .page-aston .am-form-grid { grid-template-columns: 1fr; gap: 0; }
}

/* Very short landscape screens should keep the promise visible without trapping the user. */
@media (max-height: 620px) and (orientation: landscape) {
  .page-aston .am-hero { min-block-size: 620px; }
  .page-aston .am-hero__inner { padding-block: 118px 76px; }
  .page-aston .am-hero__signature { margin-block-end: 20px; }
  .page-aston .am-hero__title { font-size: clamp(3rem, 8vw, 5rem); }
  .page-aston .am-hero__lede { margin-block-start: 16px; }
  .page-aston .am-hero .am-actions { margin-block-start: 19px; }
  .page-aston .am-hero__facts { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .page-aston .am-hero__picture,
  .page-aston .am-cinema__picture,
  .page-aston .am-journey__picture { transform: none !important; animation: none !important; }
  .page-aston .am-scroll i::after { display: none; }
  .page-aston .am-model:hover .am-model__picture,
  .page-aston .am-craft__item:hover .am-craft__media picture,
  .page-aston .am-showrooms__visual:hover img,
  .page-aston .am-offer:hover { transform: none; }
}
