/* ============================================================
   ARCHITECTURAL SYSTEMS — TEAM SECTION

   Changed from the supplied team.css: every
   font-family:"Archivo Expanded" has been replaced with the
   parent theme's variable-width approach. "Archivo Expanded"
   is not a real family — Google serves Archivo as one variable
   font with a wdth axis (the parent loads wdth 62..125), so the
   original silently fell back to normal-width Archivo and lost
   the expanded look the design is built on.
   ============================================================ */

.as-team {
	background: var(--as-paper, #FBFAF8);
	color: var(--as-charcoal, #26292E);
	font-family: var(--f-body, 'Source Serif 4', Georgia, serif);
	font-size: 1rem;
	line-height: 1.6;
	padding: clamp(3.5rem, 8vw, 7rem) clamp(1.25rem, 5vw, 4rem);
}

.as-team__inner {
	max-width: 76rem;
	margin: 0 auto;
}

/* ---------- Section intro ---------- */
.as-team__eyebrow {
	font-family: var(--f-display, 'Archivo', sans-serif);
	font-variation-settings: 'wdth' 118, 'wght' 700;
	font-size: .72rem;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba(38, 41, 46, .45);
	margin: 0 0 1.25rem;
}

.as-team__lede {
	font-family: var(--f-display, 'Archivo', sans-serif);
	font-variation-settings: 'wdth' 112, 'wght' 600;
	font-size: clamp(1.3rem, 2.6vw, 1.85rem);
	line-height: 1.32;
	letter-spacing: -.005em;
	max-width: 44rem;
	margin: 0 0 3.5rem;
}

.as-team__lede em {
	font-style: normal;
	box-shadow: inset 0 -.32em 0 rgba(245, 166, 35, .30);
}

/* ---------- Grid ---------- */
.as-team__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
	gap: clamp(2.5rem, 5vw, 4.5rem);
	border-top: 1px solid rgba(38, 41, 46, .12);
	padding-top: clamp(2.5rem, 5vw, 4rem);
}

/* ---------- Person ---------- */
.as-person {
	display: flex;
	flex-direction: column;
}

/* The plate: stands in for the portrait now, frames it later.
   Geometry is identical either way — swapping in a square photo
   changes nothing about the layout. */
.as-person__plate {
	position: relative;
	aspect-ratio: 1 / 1;
	background: var(--charcoal, #26292E);
	overflow: hidden;
	margin-bottom: 1.75rem;
	display: flex;
	align-items: flex-end;
	padding: 1.5rem;
}

/* Daylight wash — a shaft of light entering the panel */
.as-person__plate::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(148deg, rgba(245, 166, 35, .20) 0%, rgba(245, 166, 35, .05) 34%, transparent 62%);
	z-index: 1;
}

/* The reveal — hard amber edge, the signature detail */
.as-person__plate::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 5px;
	background: var(--amber, #F5A623);
	transition: width .28s ease;
	z-index: 2;
}

.as-person:hover .as-person__plate::after,
.as-person:focus-within .as-person__plate::after {
	width: 11px;
}

.as-person__initials {
	position: relative;
	z-index: 2;
	font-family: var(--f-display, 'Archivo', sans-serif);
	font-variation-settings: 'wdth' 125, 'wght' 700;
	font-size: clamp(3.25rem, 7vw, 4.75rem);
	line-height: .9;
	letter-spacing: .02em;
	color: var(--paper, #FBFAF8);
	opacity: .92;
}

.as-person__plate img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.as-person__name {
	font-family: var(--f-display, 'Archivo', sans-serif);
	font-variation-settings: 'wdth' 114, 'wght' 700;
	font-size: clamp(1.35rem, 2.2vw, 1.6rem);
	line-height: 1.2;
	letter-spacing: -.01em;
	margin: 0 0 .4rem;
}

.as-person__role {
	font-family: var(--f-display, 'Archivo', sans-serif);
	font-variation-settings: 'wdth' 118, 'wght' 600;
	font-size: .72rem;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--amber, #F5A623);
	margin: 0 0 1.5rem;
}

.as-person__bio p {
	margin: 0 0 1.15rem;
	max-width: 34rem;
	color: rgba(38, 41, 46, .70);
}

.as-person__bio p:first-child { color: var(--charcoal, #26292E); }
.as-person__bio p:last-child { margin-bottom: 0; }

/* ---------- Mobile ---------- */
@media (max-width: 34rem) {
	.as-person__plate {
		aspect-ratio: auto;
		height: 5.5rem;
		width: 5.5rem;
		padding: 0;
		align-items: center;
		justify-content: center;
		margin-bottom: 1.25rem;
	}
	.as-person__initials { font-size: 1.9rem; }
	.as-person__plate::after { width: 4px; }
}

@media (prefers-reduced-motion: reduce) {
	.as-person__plate::after { transition: none; }
}
