/*
 * Phase 5D-R1 visual rebuild.
 * The image rules are intentionally scoped by use: hero and showcase preserve the
 * entire vehicle, while editorial/card imagery has its own controlled crop ratio.
 */

.paat-container {
	margin-inline: auto;
	max-width: var(--container-default);
	padding-inline: var(--page-padding);
}

.paat-container--wide {
	max-width: var(--container-wide);
}

.paat-container--narrow {
	max-width: var(--container-narrow);
}

.ga-container {
	max-width: var(--container-default);
	padding-inline: var(--page-padding);
}

.ga-header-inner {
	min-height: clamp(5.75rem, 7vw, 7.5rem);
}

.ga-primary-menu {
	gap: clamp(0.75rem, 1.5vw, 1.65rem);
}

.paat-home-hero-r1 {
	background: #092641;
	color: #fff;
	min-height: min(53.75rem, calc(100vh - 5rem));
	overflow: clip;
	padding-block: clamp(3.5rem, 7vw, 7.5rem);
	position: relative;
}

.paat-home-hero-r1::before {
	background-image: linear-gradient(118deg, rgb(255 255 255 / 5%) 1px, transparent 1px), linear-gradient(28deg, rgb(182 214 75 / 15%) 1px, transparent 1px);
	background-size: 8rem 8rem, 13rem 13rem;
	content: "";
	inset: 0;
	opacity: 0.35;
	pointer-events: none;
	position: absolute;
}

.paat-home-hero-r1__grid {
	align-items: center;
	display: grid;
	gap: clamp(2.5rem, 5vw, 6.5rem);
	grid-template-columns: minmax(0, 0.84fr) minmax(0, 1.16fr);
	min-height: min(43rem, calc(100vh - 11rem));
	position: relative;
	z-index: 1;
}

.paat-home-hero-r1__copy {
	max-width: 35rem;
	padding-block: 1rem;
}

.paat-home-hero-r1__eyebrow,
.paat-section__eyebrow {
	color: var(--color-accent);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	margin: 0 0 1rem;
	text-transform: uppercase;
}

.paat-home-hero-r1 h1 {
	color: #fff;
	font-size: clamp(2.75rem, 4.9vw, 5.65rem);
	letter-spacing: -0.055em;
	line-height: 0.99;
	margin: 0;
	max-width: 11.5em;
}

.paat-home-hero-r1__copy > p:not(.paat-home-hero-r1__eyebrow) {
	color: rgb(255 255 255 / 78%);
	font-size: clamp(1.05rem, 1.55vw, 1.25rem);
	line-height: 1.75;
	margin: 1.65rem 0 0;
	max-width: 32rem;
}

.paat-home-hero-r1__actions,
.paat-showcase__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	margin-top: 2rem;
}

.paat-home-hero-r1__media {
	align-items: center;
	display: flex;
	justify-content: center;
	margin: 0;
	min-width: 0;
	position: relative;
}

.paat-home-hero-r1__media::before {
	border: 1px solid rgb(182 214 75 / 44%);
	content: "";
	inset: 8% 3% 10% 10%;
	pointer-events: none;
	position: absolute;
}

.paat-home-hero-r1__media img {
	aspect-ratio: var(--image-hero-ratio);
	display: block;
	height: auto;
	max-height: 42.5rem;
	max-width: 100%;
	object-fit: contain;
	object-position: center center;
	position: relative;
	width: 100%;
	z-index: 1;
}

.paat-button {
	border-radius: 0;
	font-size: 0.82rem;
	letter-spacing: 0.03em;
	padding: 0.9rem 1.2rem;
}

.paat-button--primary {
	background: var(--color-accent);
	color: #092641;
}

.paat-button--secondary {
	border-color: rgb(255 255 255 / 65%);
	color: #fff;
}

.paat-button:hover,
.paat-button:focus-visible {
	outline: 2px solid currentcolor;
	outline-offset: 3px;
}

.paat-section {
	padding-block: clamp(4.5rem, 8vw, 8.5rem);
}

.paat-section--surface {
	background: #f3f6f5;
}

.paat-section__heading {
	margin-bottom: clamp(2rem, 4vw, 4rem);
	max-width: 46rem;
}

.paat-section h2 {
	color: var(--color-heading);
	font-size: clamp(2rem, 3.8vw, 3.8rem);
	letter-spacing: -0.04em;
	line-height: 1.05;
	margin: 0;
}

.paat-section__lead {
	color: var(--color-text);
	font-size: 1.06rem;
	line-height: 1.8;
	margin: 1.2rem 0 0;
}

.paat-company-r1__layout {
	align-items: center;
	display: grid;
	gap: clamp(2.5rem, 6vw, 7rem);
	grid-template-columns: minmax(0, 0.76fr) minmax(0, 1.24fr);
}

.paat-company-r1__copy {
	max-width: 31rem;
}

.paat-company-r1__capabilities {
	border-top: 1px solid var(--color-border);
	list-style: none;
	margin: 2.25rem 0 0;
	padding: 0;
}

.paat-company-r1__capabilities li {
	border-bottom: 1px solid var(--color-border);
	color: var(--color-heading);
	font-weight: 750;
	padding: 0.95rem 0;
}

.paat-company-r1__gallery {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
	margin: 0;
}

.paat-company-r1__gallery figure {
	margin: 0;
	overflow: hidden;
}

.paat-company-r1__gallery figure:first-child {
	grid-row: span 2;
}

.paat-company-r1__gallery img {
	display: block;
	height: 100%;
	min-height: 13rem;
	object-fit: contain;
	object-position: center center;
	width: 100%;
}

.paat-company-r1__gallery figure:first-child img {
	aspect-ratio: 4 / 5;
	object-position: 55% center;
}

.paat-company-r1__gallery figure:not(:first-child) img {
	aspect-ratio: 4 / 3;
}

.paat-business-grid-r1 {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.paat-business-card-r1 {
	background: #fff;
	border-top: 3px solid var(--color-accent);
	min-height: 15.5rem;
	padding: clamp(1.4rem, 2.4vw, 2.25rem);
}

.paat-business-card-r1__index {
	color: var(--color-secondary);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.13em;
	margin: 0 0 2rem;
}

.paat-business-card-r1 h3 {
	font-size: 1.25rem;
	margin: 0;
}

.paat-business-card-r1 p:last-child {
	color: var(--color-muted);
	font-size: 0.95rem;
	line-height: 1.7;
	margin: 0.85rem 0 0;
}

/* Product cards use a predictable 16:10 crop with an item-level focal point. */
.ga-catalog-grid {
	gap: clamp(1.25rem, 2vw, 2rem);
}

.ga-catalog-card {
	border: 1px solid var(--color-border);
	border-radius: 0;
	box-shadow: none;
}

.ga-catalog-card__media--vehicle {
	aspect-ratio: var(--image-card-ratio);
	background: #eaf0ed;
	min-height: 0;
}

.ga-catalog-card__media--vehicle img {
	height: 100%;
	object-fit: cover;
	object-position: center center;
	position: absolute;
	width: 100%;
}

.ga-catalog-card__media--vehicle.ga-image-position--left img { object-position: left center; }
.ga-catalog-card__media--vehicle.ga-image-position--right img { object-position: right center; }
.ga-catalog-card__media--vehicle.ga-image-position--top img { object-position: center top; }
.ga-catalog-card__media--vehicle.ga-image-position--bottom img { object-position: center bottom; }

.ga-vehicle-card .ga-catalog-card__body {
	padding: 1.25rem;
}

.ga-vehicle-card__specs {
	display: grid;
	gap: 0.4rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 1rem;
}

.ga-vehicle-card__specs li {
	display: block;
	padding: 0;
}

.ga-vehicle-card__specs span,
.ga-vehicle-card__specs strong {
	display: block;
}

.ga-vehicle-card__specs strong {
	color: var(--color-heading);
	font-size: 0.84rem;
	margin-top: 0.18rem;
}

.ga-vehicle-card .ga-catalog-card__footer {
	border-top: 1px solid var(--color-border);
	margin-top: 1.1rem;
	padding-top: 1rem;
}

/* Image rules for other controlled editorial components. */
.paat-service-image,
.ga-part-gallery img {
	aspect-ratio: var(--image-service-ratio);
	max-height: none;
	object-fit: cover;
	object-position: center center;
}

.ga-vehicle-gallery img {
	aspect-ratio: 16 / 10;
	max-height: none;
	object-fit: contain;
	object-position: center center;
}

@media (max-width: 80rem) {
	.paat-business-grid-r1 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 64rem) {
	.paat-home-hero-r1 { min-height: 0; }
	.paat-home-hero-r1__grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
	.paat-company-r1__layout { grid-template-columns: 1fr; }
	.paat-company-r1__copy { max-width: 45rem; }
}

@media (max-width: 48rem) {
	.ga-header-inner { min-height: 4.5rem; }
	.paat-home-hero-r1 { padding-block: 3.75rem 2.5rem; }
	.paat-home-hero-r1__grid { gap: 1.75rem; grid-template-columns: 1fr; min-height: 0; }
	.paat-home-hero-r1__copy { padding-block: 0; }
	.paat-home-hero-r1 h1 { font-size: clamp(2.6rem, 13vw, 4rem); max-width: 10em; }
	.paat-home-hero-r1__media { margin-inline: -0.5rem; }
	.paat-home-hero-r1__media img { max-height: 25rem; }
	.paat-section { padding-block: 4.5rem; }
	.paat-company-r1__gallery { grid-template-columns: 1fr 0.86fr; }
	.paat-business-grid-r1 { grid-template-columns: 1fr; }
	.paat-business-card-r1 { min-height: 0; }
	.ga-catalog-grid { grid-template-columns: 1fr; }
}

@media (max-width: 24.375rem) {
	.paat-container { padding-inline: 1.15rem; }
	.paat-home-hero-r1 h1 { font-size: 2.5rem; }
	.paat-company-r1__gallery { gap: 0.55rem; }
}
