/* =========================================================
   Portland Advisers — reusable component styles.
   These power the shortcodes from the add-on plugins
   ([pa_case_studies], [pa_tombstones], [pa_team_grid]) and
   the sector cards used on the home grid + landing page.
   ========================================================= */

/* ----- Sector cards (home grid, landing grid, related sectors) ----- */
.pa-site .pa-sector {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	overflow: hidden;
	padding: 36px 30px 32px;
	min-height: 300px;
	background: var(--pa-paper);
	color: var(--pa-ink);
	text-decoration: none;
	transition: transform 300ms var(--pa-ease), background-color 240ms var(--pa-ease), box-shadow 280ms var(--pa-ease);
	box-shadow: 0 1px 2px rgba(26,14,58,0.02);
}
.pa-site .pa-sector:hover { background: var(--pa-bone); transform: translateY(-3px); box-shadow: 0 18px 48px rgba(26,14,58,0.10); }
.pa-site .pa-sector::after {
	content: ""; position: absolute; left: 0; bottom: 0;
	height: 1px; width: 0; background: var(--pa-silver);
	transition: width 280ms var(--pa-ease), height 280ms var(--pa-ease);
}
.pa-site .pa-sector:hover::after { width: 100%; height: 2px; }

.pa-site .pa-sector__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 32px; }
.pa-site .pa-sector__num {
	font-family: var(--pa-font-mono);
	font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase;
	color: rgba(26,14,58,0.55);
}
.pa-site .pa-sector__title {
	font-family: var(--pa-font-serif); font-weight: 400;
	font-size: 28px; line-height: 1.1; letter-spacing: -0.01em;
	margin: 0 0 14px; color: var(--pa-blue);
}
.pa-site .pa-sector__desc { font-size: 15px; line-height: 1.6; color: rgba(26,14,58,0.7); margin: 0 0 24px; max-width: 34ch; }
.pa-site .pa-sector__cta {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--pa-blue);
}

/* Featured card variant — deep brand-blue background */
.pa-site .pa-sector--featured { background: var(--pa-blue); color: #fff; }
.pa-site .pa-sector--featured:hover { background: var(--pa-blue-deep); }
.pa-site .pa-sector--featured .pa-sector__num { color: rgba(255,255,255,0.6); }
.pa-site .pa-sector--featured .pa-sector__title { color: #fff; }
.pa-site .pa-sector--featured .pa-sector__desc { color: rgba(255,255,255,0.72); }
.pa-site .pa-sector--featured .pa-sector__cta { color: var(--pa-silver); }
.pa-site .pa-sector--featured::after { width: 100%; height: 2px; background: var(--pa-silver); }
.pa-site .pa-sector__watermark { position: absolute; right: -8px; bottom: -12px; opacity: 0.07; pointer-events: none; }

/* ----- Case Studies (row layout) ----- */
.pa-site .pa-cs__list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1px;
	background: var(--pa-rule);
	border-top: 1px solid var(--pa-rule);
	border-bottom: 1px solid var(--pa-rule);
}
.pa-site .pa-cs__row {
	display: grid;
	grid-template-columns: minmax(280px, 1.1fr) 1.4fr auto;
	gap: 48px;
	align-items: stretch;
	background: var(--pa-paper);
	padding: 32px 28px;
	transition: background 240ms var(--pa-ease);
	text-decoration: none;
	color: var(--pa-ink);
}
.pa-site .pa-cs__row:hover { background: var(--pa-bone); }

.pa-site .pa-cs__img-wrap {
	position: relative;
	aspect-ratio: 5 / 3;
	overflow: hidden;
	background: linear-gradient(135deg, var(--pa-blue) 0%, var(--pa-blue-950) 100%);
}
.pa-site .pa-cs__img-wrap img { width: 100%; height: 100%; object-fit: cover; filter: contrast(1.05); }

.pa-site .pa-cs__body { display: flex; flex-direction: column; justify-content: center; }
.pa-site .pa-cs__meta {
	display: flex; gap: 18px; flex-wrap: wrap;
	font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase;
	color: rgba(26,14,58,0.55); margin-bottom: 16px;
}
.pa-site .pa-cs__sector { color: var(--pa-blue); font-weight: 500; }
.pa-site .pa-cs__headline {
	font-family: var(--pa-font-serif); font-weight: 400;
	font-size: clamp(24px, 2vw, 32px); line-height: 1.15; letter-spacing: -0.015em;
	margin: 0 0 14px; color: var(--pa-blue);
}
.pa-site .pa-cs__result { font-size: 16px; line-height: 1.6; color: rgba(26,14,58,0.7); margin: 0; max-width: 52ch; }

.pa-site .pa-cs__aside {
	display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end;
	min-width: 120px; padding-top: 4px;
}
.pa-site .pa-cs__value { font-family: var(--pa-font-serif); font-weight: 400; font-size: clamp(30px, 3vw, 44px); line-height: 1; letter-spacing: -0.02em; color: var(--pa-blue); }
.pa-site .pa-cs__cta { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--pa-blue); }

@media (max-width: 1100px) {
	.pa-site .pa-cs__row { grid-template-columns: 1fr; gap: 24px; }
	.pa-site .pa-cs__aside { flex-direction: row; align-items: center; }
}
