/* PI Alliance Directory - vertical cards.
   Palette pulled from the logo: black ground, copper accent, brushed silver text. */

.pia-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 26px;
	padding: 16px;
	background: #0f0f0f;
	border: 1px solid rgba(214, 217, 219, 0.14);
	border-radius: 4px;
}

.pia-filters input,
.pia-filters select {
	flex: 1 1 160px;
	min-width: 0;
	background: #171717;
	border: 1px solid rgba(214, 217, 219, 0.18);
	color: #e6e8e9;
	padding: 10px 12px;
	border-radius: 3px;
	font-size: 15px;
}

.pia-filters button {
	flex: 0 0 auto;
	background: #b4611f;
	color: #0d0d0d;
	border: 0;
	padding: 11px 22px;
	border-radius: 3px;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	cursor: pointer;
}

.pia-filters button:hover {
	background: #c97331;
}

/* Vertical cards. Same width, taller as the tier climbs. */
.pia-grid-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 20px;
	align-items: start;
}

.pia-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 12px;
	background: #101010;
	border: 1px solid rgba(214, 217, 219, 0.13);
	border-radius: 4px;
	padding: 22px 20px 20px;
	color: #d6d9db;
}

.pia-card-tier {
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #8b9094;
}

.pia-card-logo img {
	max-width: 140px;
	height: auto;
}

.pia-card-firm {
	margin: 0;
	font-size: 19px;
	line-height: 1.25;
	color: #f2f4f5;
}

.pia-card-desc {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.55;
	color: #a9aeb2;
}

.pia-card-meta,
.pia-card-tags {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pia-card-meta li {
	font-size: 14px;
	color: #a9aeb2;
	margin-bottom: 4px;
}

.pia-card-meta a {
	color: #d6d9db;
	text-decoration: none;
	border-bottom: 1px solid rgba(214, 217, 219, 0.25);
}

.pia-card-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.pia-card-tags li {
	font-size: 12px;
	color: #b9bec1;
	border: 1px solid rgba(214, 217, 219, 0.18);
	border-radius: 100px;
	padding: 3px 10px;
}

.pia-card-video {
	margin-top: 2px;
}

.pia-card-video iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	border: 0;
	border-radius: 3px;
}

.pia-card-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: auto;
	padding-top: 6px;
}

.pia-btn {
	display: inline-block;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 10px 14px;
	border-radius: 3px;
}

.pia-btn-web {
	background: #b4611f;
	color: #0d0d0d;
}

.pia-btn-web:hover {
	background: #c97331;
}

.pia-btn-claim {
	border: 1px solid rgba(214, 217, 219, 0.28);
	color: #d6d9db;
}

.pia-btn-claim:hover {
	border-color: #b4611f;
	color: #f2f4f5;
}

/* Tier treatment: each step up gets more room and more presence. */
.pia-tier-2 {
	padding-bottom: 24px;
}

.pia-tier-3 {
	border-color: rgba(214, 217, 219, 0.24);
	padding: 26px 22px 24px;
}

.pia-tier-4 {
	border-color: rgba(180, 97, 31, 0.55);
	padding: 30px 24px 26px;
	background:
		linear-gradient(#101010, #101010) padding-box,
		linear-gradient(140deg, #b4611f, #6d6f71 45%, #b4611f) border-box;
	border: 1px solid transparent;
}

.pia-tier-4 .pia-card-tier {
	color: #c98a4e;
}

.pia-empty {
	color: #a9aeb2;
	grid-column: 1 / -1;
}

.pia-pager {
	margin-top: 28px;
	display: flex;
	gap: 8px;
}

.pia-pager .page-numbers {
	color: #a9aeb2;
	text-decoration: none;
	border: 1px solid rgba(214, 217, 219, 0.18);
	padding: 7px 12px;
	border-radius: 3px;
	font-size: 14px;
}

.pia-pager .page-numbers.current {
	color: #0d0d0d;
	background: #b4611f;
	border-color: #b4611f;
}

@media (prefers-reduced-motion: reduce) {
	.pia-btn,
	.pia-filters button {
		transition: none;
	}
}

/* Single listing */
.pia-single {
	max-width: 720px;
}

.pia-single-tier {
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #b4611f;
	margin: 0 0 14px;
}

.pia-single-desc {
	margin-bottom: 22px;
	line-height: 1.6;
}

.pia-single-meta {
	list-style: none;
	margin: 0 0 22px;
	padding: 0;
	border-top: 1px solid rgba(214, 217, 219, 0.15);
}

.pia-single-meta li {
	display: flex;
	gap: 16px;
	padding: 11px 0;
	border-bottom: 1px solid rgba(214, 217, 219, 0.15);
	font-size: 15px;
}

.pia-single-meta li span {
	flex: 0 0 110px;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #8b9094;
	padding-top: 3px;
}

.pia-single-terms {
	font-size: 14px;
	margin: 0 0 8px;
}

.pia-single-terms span {
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #8b9094;
	margin-right: 10px;
}

.pia-single-video iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	border: 0;
	border-radius: 4px;
	margin: 18px 0;
}

.pia-single-claim {
	margin: 26px 0 14px;
}

.pia-single-back a {
	font-size: 13px;
	color: #8b9094;
}

/* -------------------------------------------------------------------------
   Hero, concierge and the two column split
   ---------------------------------------------------------------------- */

.pia-hero-concierge {
	background: radial-gradient(120% 90% at 50% 0%, rgba(180, 97, 31, 0.16), transparent 60%), #0b0b0c;
	border-bottom: 1px solid rgba(214, 217, 219, 0.14);
	padding: 46px 20px 40px;
	margin: 0 0 34px;
}

.pia-hero-head {
	max-width: 720px;
	margin: 0 auto 26px;
	text-align: center;
}

.pia-hero-head h1 {
	margin: 0 0 10px;
	font-size: clamp(30px, 5vw, 48px);
	line-height: 1.08;
	letter-spacing: -0.01em;
	color: #f5f7f8;
}

.pia-hero-head p {
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
	color: #a9aeb2;
}

/* Concierge */
.pia-conc {
	max-width: 720px;
	margin: 0 auto;
	background: #050506;
	border: 1px solid rgba(214, 217, 219, 0.28);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.65);
}

.pia-conc-bar {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 12px 16px;
	border-bottom: 1px solid rgba(214, 217, 219, 0.14);
	background: #0d0d0e;
}

.pia-conc-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #35c76f;
	box-shadow: 0 0 0 3px rgba(53, 199, 111, 0.18);
}

.pia-conc-name {
	font-size: 13px;
	font-weight: 600;
	color: #f2f4f5;
}

.pia-conc-live {
	margin-left: auto;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #8b9094;
}

.pia-conc-log {
	padding: 18px 16px;
	max-height: 320px;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.pia-msg {
	max-width: 86%;
	padding: 11px 15px;
	border-radius: 14px;
	font-size: 15px;
	line-height: 1.5;
}

.pia-msg p {
	margin: 0;
}

.pia-msg-bot {
	align-self: flex-start;
	background: #16181c;
	border: 1px solid rgba(214, 217, 219, 0.16);
	border-bottom-left-radius: 4px;
	color: #dfe3e5;
}

.pia-msg-user {
	align-self: flex-end;
	background: linear-gradient(135deg, #b4611f, #8f4c18);
	border-bottom-right-radius: 4px;
	color: #fff;
}

.pia-msg-bot .pia-btn {
	margin-top: 11px;
}

.pia-conc-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	padding: 0 16px 14px;
}

.pia-chip {
	background: transparent;
	border: 1px solid rgba(214, 217, 219, 0.24);
	color: #b9bec1;
	border-radius: 100px;
	padding: 7px 13px;
	font-size: 13px;
	cursor: pointer;
}

.pia-chip:hover {
	border-color: #b4611f;
	color: #f2f4f5;
}

.pia-conc-form {
	display: flex;
	gap: 8px;
	padding: 0 16px 14px;
}

.pia-conc-form input {
	flex: 1 1 auto;
	min-width: 0;
	background: #0f1013;
	border: 1px solid rgba(214, 217, 219, 0.22);
	color: #e6e8e9;
	border-radius: 8px;
	padding: 13px 15px;
	font-size: 15px;
}

.pia-conc-form input:focus {
	outline: 2px solid rgba(180, 97, 31, 0.6);
	outline-offset: 1px;
}

.pia-conc-form button {
	flex: 0 0 auto;
	background: #b4611f;
	color: #0d0d0d;
	border: 0;
	border-radius: 8px;
	padding: 13px 24px;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 700;
	cursor: pointer;
}

.pia-conc-form button:hover {
	background: #c97331;
}

.pia-conc-note {
	margin: 0;
	padding: 0 16px 15px;
	font-size: 11.5px;
	line-height: 1.45;
	color: #6f7478;
}

/* Two column split */
.pia-split {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 20px;
	max-width: 1040px;
	margin: 0 auto 34px;
}

.pia-col {
	display: flex;
	flex-direction: column;
	gap: 12px;
	background: linear-gradient(#14161b, #0b0c0f);
	border: 1px solid rgba(214, 217, 219, 0.16);
	border-radius: 14px;
	padding: 28px 26px 26px;
	color: #d6d9db;
}

.pia-col-victim {
	border-color: rgba(180, 97, 31, 0.5);
}

.pia-col-kicker {
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #c98a4e;
}

.pia-col-pro .pia-col-kicker {
	color: #9aa1a6;
}

.pia-col h2 {
	margin: 0;
	font-size: 24px;
	line-height: 1.2;
	color: #f5f7f8;
}

.pia-col p {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: #a9aeb2;
}

.pia-col ul {
	list-style: none;
	margin: 4px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.pia-col li {
	position: relative;
	padding-left: 22px;
	font-size: 14px;
	color: #b9bec1;
}

.pia-col li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	width: 10px;
	height: 6px;
	border-left: 2px solid #b4611f;
	border-bottom: 2px solid #b4611f;
	transform: rotate(-45deg);
}

.pia-col .pia-btn {
	margin-top: auto;
	align-self: flex-start;
	padding: 13px 22px;
}

.pia-col-pro .pia-btn {
	background: transparent;
	border: 1px solid rgba(214, 217, 219, 0.34);
	color: #e6e8e9;
}

.pia-col-pro .pia-btn:hover {
	border-color: #b4611f;
	background: transparent;
}

/* Compliance notice */
.pia-compliance {
	max-width: 1040px;
	margin: 0 auto 34px;
	background: #0c0e11;
	border: 1px solid rgba(180, 97, 31, 0.42);
	border-radius: 14px;
	padding: 26px;
}

.pia-compliance h3 {
	margin: 0 0 10px;
	font-size: 13px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #b4611f;
}

.pia-compliance p {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: #a9aeb2;
}

@media (max-width: 600px) {
	.pia-hero-concierge {
		padding: 32px 14px 30px;
	}

	.pia-conc-log {
		max-height: 260px;
	}
}

/* =========================================================================
   METALLIC SYSTEM
   Palette taken from Todd's own sites: copper #b88a58 / #d6af80 / #9c6f44,
   amber #d97736, chrome #e2e8f0, on near black.
   ========================================================================= */

:root {
	--pia-ink: #08080a;
	--pia-panel: #0f1013;
	--pia-line: rgba(214, 175, 128, 0.22);
	--pia-copper: #b88a58;
	--pia-copper-lt: #d6af80;
	--pia-copper-dk: #9c6f44;
	--pia-amber: #d97736;
	--pia-chrome: #e2e8f0;
	--pia-mute: #9aa1a6;
}

.pia-metal-copper,
.pia-metal-chrome {
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
}

.pia-metal-copper {
	background-image: linear-gradient(180deg, #f9c09d 0%, #d97736 45%, #7c3612 100%);
}

.pia-metal-chrome {
	background-image: linear-gradient(180deg, #ffffff 0%, #cbd5e1 45%, #64748b 100%);
}

/* ---- Logo lockup, drawn rather than loaded ---------------------------- */
.pia-logo {
	display: inline-flex;
	align-items: center;
	gap: 12px;
}

.pia-logo-mark {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 22%;
	background: linear-gradient(140deg, #f9c09d, #d97736 45%, #7c3612);
	box-shadow: 0 0 22px rgba(217, 119, 54, 0.35);
	padding: 2px;
	flex: 0 0 auto;
}

.pia-logo-mark::before {
	content: "";
	position: absolute;
	inset: 2px;
	border-radius: 20%;
	background:
		radial-gradient(ellipse at top left, rgba(217, 119, 54, 0.3), transparent 70%),
		#0b0b0f;
}

.pia-logo-pi {
	position: relative;
	z-index: 1;
	font-weight: 900;
	letter-spacing: -0.04em;
	line-height: 1;
	background-image: linear-gradient(180deg, #f9c09d, #d97736 50%, #8a4318);
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
}

.pia-logo-dot {
	position: absolute;
	top: -2px;
	right: -2px;
	border-radius: 50%;
	background: linear-gradient(140deg, #fff, #cbd5e1 45%, #64748b);
	box-shadow: 0 0 8px rgba(255, 255, 255, 0.7);
	border: 1px solid #0b0b0f;
	z-index: 2;
}

.pia-logo-words {
	display: flex;
	flex-direction: column;
	line-height: 1.05;
	min-width: 0;
}

.pia-logo-name {
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	background-image: linear-gradient(180deg, #fff, #cbd5e1 45%, #7c848c);
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
}

.pia-logo-sub {
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: var(--pia-amber);
	margin-top: 5px;
}

.pia-logo-lg .pia-logo-mark { width: 74px; height: 74px; }
.pia-logo-lg .pia-logo-pi { font-size: 31px; }
.pia-logo-lg .pia-logo-dot { width: 9px; height: 9px; }
.pia-logo-lg .pia-logo-name { font-size: 25px; }
.pia-logo-lg .pia-logo-sub { font-size: 10px; }

.pia-logo-sm .pia-logo-mark { width: 32px; height: 32px; }
.pia-logo-sm .pia-logo-pi { font-size: 13px; }
.pia-logo-sm .pia-logo-dot { width: 4px; height: 4px; }
.pia-logo-sm .pia-logo-name { font-size: 11px; }
.pia-logo-sm .pia-logo-sub { font-size: 5px; margin-top: 3px; }

/* ---- Contact ticker --------------------------------------------------- */
.pia-ticker {
	background: #000;
	border-bottom: 1px solid var(--pia-line);
	overflow: hidden;
	padding: 9px 0;
}

.pia-ticker-track {
	display: flex;
	width: max-content;
	animation: pia-marquee 42s linear infinite;
}

.pia-ticker-set {
	display: flex;
	align-items: center;
	gap: 22px;
	padding: 0 22px;
	white-space: nowrap;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--pia-copper-lt);
}

.pia-ticker-set a {
	color: var(--pia-copper-lt);
	text-decoration: none;
}

.pia-ticker-set a:hover {
	color: #fff;
}

.pia-ticker-set i {
	display: block;
	width: 1px;
	height: 12px;
	background: rgba(226, 232, 240, 0.35);
}

@keyframes pia-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
	.pia-ticker-track { animation: none; }
}

/* ---- Hero, restyled onto the metallic palette ------------------------- */
.pia-hero-concierge {
	background:
		radial-gradient(60% 55% at 50% 0%, rgba(217, 119, 54, 0.18), transparent 65%),
		radial-gradient(40% 40% at 85% 90%, rgba(226, 232, 240, 0.06), transparent 70%),
		var(--pia-ink);
	border-bottom: 1px solid var(--pia-line);
	padding: 52px 20px 44px;
	margin: 0 0 36px;
}

.pia-hero-head {
	max-width: 860px;
	margin: 0 auto 26px;
	text-align: center;
}

.pia-hero-logo {
	display: flex;
	justify-content: center;
	margin-bottom: 16px;
}

.pia-hero-logo .pia-logo {
	padding: 14px 20px;
	border: 1px solid rgba(214, 175, 128, 0.35);
	border-radius: 16px;
	background: rgba(15, 16, 19, 0.9);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.8);
	position: relative;
}

.pia-hero-logo .pia-logo::before {
	content: "";
	position: absolute;
	top: 0;
	left: 12%;
	right: 12%;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--pia-amber), transparent);
}

.pia-hero-badge {
	display: inline-block;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--pia-mute);
	border: 1px solid rgba(226, 232, 240, 0.16);
	border-radius: 100px;
	padding: 5px 14px;
	margin-bottom: 18px;
}

.pia-hero-badge strong {
	color: var(--pia-chrome);
	font-weight: 700;
}

.pia-hero-head h1 {
	margin: 0 0 12px;
	font-size: clamp(28px, 4.6vw, 46px);
	line-height: 1.12;
	letter-spacing: -0.01em;
	font-weight: 800;
	color: #f2f5f7;
}

.pia-hero-head p {
	margin: 0 auto;
	max-width: 640px;
	font-size: 16px;
	line-height: 1.55;
	color: var(--pia-mute);
}

/* Four action buttons, the grid from Todd's draft */
.pia-hero-actions {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(168px, 1fr));
	gap: 12px;
	max-width: 860px;
	margin: 0 auto 26px;
}

.pia-act {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 52px;
	padding: 12px 16px;
	border-radius: 12px;
	font-size: 12.5px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	border: 1px solid transparent;
}

.pia-act-copper {
	background: linear-gradient(135deg, var(--pia-amber), var(--pia-copper-dk));
	color: #fff;
	border-color: rgba(249, 192, 157, 0.45);
	box-shadow: 0 12px 26px rgba(0, 0, 0, 0.55);
}

.pia-act-copper:hover { filter: brightness(1.12); }

.pia-act-silver {
	background: linear-gradient(135deg, #f1f5f9, #cbd5e1 55%, #94a3b8);
	color: #0b0b0f;
	border-color: #e2e8f0;
}

.pia-act-silver:hover { filter: brightness(1.06); }

.pia-act-ghost {
	background: rgba(15, 16, 19, 0.9);
	color: var(--pia-copper-lt);
	border-color: rgba(214, 175, 128, 0.45);
}

.pia-act-ghost:hover {
	border-color: var(--pia-copper-lt);
	color: #fff;
}

/* Concierge panel */
.pia-conc {
	max-width: 860px;
	background:
		linear-gradient(180deg, rgba(217, 119, 54, 0.07), transparent 40%),
		#050506;
	border: 1px solid rgba(214, 175, 128, 0.4);
	border-radius: 18px;
	box-shadow: 0 22px 52px rgba(0, 0, 0, 0.75);
}

.pia-conc-bar {
	gap: 12px;
	padding: 14px 18px;
	border-bottom: 1px solid rgba(214, 175, 128, 0.22);
	background: transparent;
}

.pia-conc-icon {
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: rgba(217, 119, 54, 0.16);
	border: 1px solid rgba(217, 119, 54, 0.45);
	position: relative;
	flex: 0 0 auto;
}

.pia-conc-icon::before {
	content: "";
	position: absolute;
	inset: 9px;
	border-radius: 3px;
	border: 2px solid var(--pia-copper-lt);
	border-bottom-width: 4px;
}

.pia-conc-titles {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.pia-conc-name {
	font-size: 14px;
	font-weight: 700;
	color: #f2f5f7;
}

.pia-conc-tag {
	font-size: 10.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--pia-mute);
}

.pia-conc-live {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 10.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #6ee7a8;
	flex: 0 0 auto;
}

.pia-conc-live i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #35c76f;
	box-shadow: 0 0 0 3px rgba(53, 199, 111, 0.18);
}

.pia-conc-log {
	background: rgba(8, 8, 10, 0.6);
	margin: 14px 16px 0;
	border: 1px solid rgba(226, 232, 240, 0.08);
	border-radius: 14px;
	padding: 16px;
}

.pia-msg-bot {
	background: #14161a;
	border-color: rgba(214, 175, 128, 0.2);
}

.pia-msg-user {
	background: linear-gradient(135deg, var(--pia-amber), var(--pia-copper-dk));
}

.pia-conc-chips {
	align-items: center;
	padding: 14px 16px 0;
}

.pia-conc-chips-label {
	font-size: 10.5px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--pia-copper-lt);
	margin-right: 4px;
}

.pia-chip {
	border-color: rgba(226, 232, 240, 0.16);
	background: rgba(15, 16, 19, 0.9);
}

.pia-chip:hover {
	border-color: var(--pia-copper-lt);
	color: #fff;
}

.pia-conc-form {
	padding: 14px 16px 0;
}

.pia-conc-form input {
	border-radius: 12px;
	border-color: rgba(226, 232, 240, 0.16);
}

.pia-conc-form input:focus {
	outline-color: rgba(217, 119, 54, 0.7);
}

.pia-conc-form button {
	border-radius: 12px;
	background: linear-gradient(135deg, var(--pia-amber), var(--pia-copper-dk));
	color: #fff;
	border: 1px solid rgba(249, 192, 157, 0.4);
}

.pia-conc-note {
	padding: 13px 16px 16px;
	color: #6a7075;
}

/* Service area chips */
.pia-hero-counties {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 9px;
	max-width: 860px;
	margin: 22px auto 0;
}

.pia-hero-counties-label {
	font-size: 10.5px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--pia-mute);
}

.pia-hero-counties a {
	font-size: 12.5px;
	color: #cbd2d7;
	text-decoration: none;
	border: 1px solid rgba(226, 232, 240, 0.16);
	background: rgba(15, 16, 19, 0.9);
	border-radius: 9px;
	padding: 7px 13px;
}

.pia-hero-counties a:hover {
	border-color: var(--pia-copper-lt);
	color: #fff;
}

/* ---- Cards on the metallic palette ------------------------------------ */
.pia-card {
	background: linear-gradient(180deg, #121317, #08080a);
	border-color: rgba(226, 232, 240, 0.12);
	border-radius: 16px;
	padding: 24px 22px 20px;
}

.pia-card-badge {
	align-self: flex-start;
	font-size: 9.5px;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	padding: 5px 11px;
	border-radius: 100px;
	background: rgba(217, 119, 54, 0.14);
	color: var(--pia-copper-lt);
	border: 1px solid rgba(217, 119, 54, 0.4);
}

.pia-card-firm {
	font-size: 19px;
	font-weight: 700;
}

.pia-card-firm a {
	color: #f2f5f7;
	text-decoration: none;
}

.pia-card-firm a:hover {
	color: var(--pia-copper-lt);
}

.pia-card-specialty {
	margin: -4px 0 0;
	font-size: 13.5px;
	color: var(--pia-copper-lt);
}

.pia-card-place {
	margin: 0;
	font-size: 12.5px;
	letter-spacing: 0.04em;
	color: #b6bcc1;
}

.pia-card-addr {
	margin: -6px 0 0;
	font-size: 13px;
	color: var(--pia-mute);
}

.pia-card-actions {
	gap: 8px;
	padding-top: 10px;
}

.pia-btn {
	border-radius: 10px;
	font-weight: 700;
}

.pia-btn-call {
	background: rgba(15, 16, 19, 0.95);
	border: 1px solid rgba(226, 232, 240, 0.2);
	color: #dfe4e7;
}

.pia-btn-call:hover {
	border-color: var(--pia-copper-lt);
	color: #fff;
}

.pia-btn-web {
	background: linear-gradient(135deg, var(--pia-amber), var(--pia-copper-dk));
	color: #fff;
	border: 1px solid rgba(249, 192, 157, 0.4);
}

.pia-btn-web:hover {
	filter: brightness(1.12);
	background: linear-gradient(135deg, var(--pia-amber), var(--pia-copper-dk));
}

.pia-btn-site,
.pia-btn-claim {
	border: 1px solid rgba(226, 232, 240, 0.2);
	color: #b6bcc1;
	background: transparent;
}

.pia-btn-site:hover,
.pia-btn-claim:hover {
	border-color: var(--pia-copper-lt);
	color: #fff;
}

/* Tier presence: silver, bronze, bronze+chrome, black metallic + gold */
.pia-tier-2 {
	border-color: rgba(184, 138, 88, 0.4);
}

.pia-tier-3 {
	padding: 28px 24px 22px;
	background:
		linear-gradient(180deg, #141519, #08080a) padding-box,
		linear-gradient(150deg, #cbd5e1, #9c6f44 50%, #cbd5e1) border-box;
	border: 1px solid transparent;
}

.pia-tier-4 {
	padding: 32px 26px 24px;
	background:
		linear-gradient(180deg, #16130e, #08080a) padding-box,
		linear-gradient(150deg, #f9c09d, #d97736 45%, #7c3612) border-box;
	border: 1px solid transparent;
	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.7);
}

.pia-tier-4 .pia-card-badge {
	background: linear-gradient(135deg, #f9c09d, #d97736);
	color: #12100c;
	border-color: transparent;
}

/* ---- Filters, split, compliance --------------------------------------- */
.pia-filters {
	background: var(--pia-panel);
	border-color: rgba(226, 232, 240, 0.12);
	border-radius: 14px;
}

.pia-filters input,
.pia-filters select {
	border-radius: 10px;
	border-color: rgba(226, 232, 240, 0.16);
	background: #08080a;
}

.pia-filters button {
	border-radius: 10px;
	background: linear-gradient(135deg, var(--pia-amber), var(--pia-copper-dk));
	color: #fff;
	font-weight: 800;
}

.pia-col {
	background: linear-gradient(180deg, #141519, #08080a);
	border-color: rgba(226, 232, 240, 0.14);
	border-radius: 20px;
	padding: 32px 28px 28px;
}

.pia-col-victim {
	background:
		linear-gradient(180deg, #16130e, #08080a) padding-box,
		linear-gradient(150deg, #f9c09d, #d97736 45%, #7c3612) border-box;
	border: 1px solid transparent;
}

.pia-col-kicker {
	color: var(--pia-copper-lt);
}

.pia-col li::before {
	border-color: var(--pia-copper-lt);
}

.pia-col .pia-btn {
	padding: 14px 24px;
	font-size: 12px;
}

.pia-compliance {
	background: linear-gradient(180deg, #101114, #08080a);
	border-color: rgba(214, 175, 128, 0.4);
	border-radius: 20px;
}

.pia-compliance h3 {
	color: var(--pia-copper-lt);
}

/* ---- Footer strip ------------------------------------------------------ */
.pia-footer {
	border-top: 1px solid var(--pia-line);
	background: #000;
	padding: 34px 20px 30px;
	margin-top: 40px;
}

.pia-footer-inner {
	max-width: 1040px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	align-items: center;
	justify-content: space-between;
}

.pia-footer-contact {
	display: flex;
	flex-direction: column;
	gap: 5px;
	font-size: 13.5px;
	color: var(--pia-mute);
	text-align: right;
}

.pia-footer-contact a {
	color: var(--pia-copper-lt);
	text-decoration: none;
}

.pia-footer-note {
	max-width: 1040px;
	margin: 22px auto 0;
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #5f6469;
	text-align: center;
}

@media (max-width: 640px) {
	.pia-footer-inner {
		justify-content: center;
		text-align: center;
	}

	.pia-footer-contact {
		text-align: center;
	}
}

/* =========================================================================
   SITE HEADER
   ========================================================================= */

body { background: var(--pia-ink); }

.pia-header {
	position: sticky;
	top: 0;
	z-index: 90;
	background: rgba(8, 8, 10, 0.92);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--pia-line);
}

.pia-header::before {
	content: "";
	position: absolute;
	left: 10%;
	right: 10%;
	top: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(217, 119, 54, 0.65), transparent);
}

.pia-header-inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: 12px 20px;
	display: flex;
	align-items: center;
	gap: 22px;
}

.pia-header-brand {
	text-decoration: none;
	flex: 0 0 auto;
}

.pia-nav {
	flex: 1 1 auto;
	min-width: 0;
}

.pia-nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4px;
}

.pia-nav-list a {
	display: block;
	padding: 8px 12px;
	border-radius: 9px;
	font-size: 13.5px;
	font-weight: 600;
	text-decoration: none;
	color: #c3c9ce;
	white-space: nowrap;
}

.pia-nav-list a:hover {
	color: #fff;
	background: rgba(226, 232, 240, 0.07);
}

.pia-nav-list .current-menu-item > a,
.pia-nav-list .current_page_item > a {
	color: var(--pia-copper-lt);
	background: rgba(217, 119, 54, 0.12);
}

.pia-header-cta {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 8px;
}

.pia-hbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 9px 15px;
	border-radius: 9px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-decoration: none;
	white-space: nowrap;
	border: 1px solid transparent;
}

.pia-hbtn-ghost {
	border-color: rgba(226, 232, 240, 0.22);
	color: #c3c9ce;
}

.pia-hbtn-ghost:hover {
	border-color: var(--pia-copper-lt);
	color: #fff;
}

.pia-hbtn-copper {
	background: linear-gradient(135deg, var(--pia-amber), var(--pia-copper-dk));
	color: #fff;
	border-color: rgba(249, 192, 157, 0.4);
}

.pia-hbtn-copper:hover { filter: brightness(1.12); }

/* Mobile nav */
.pia-nav-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 42px;
	height: 42px;
	padding: 0 10px;
	border-radius: 10px;
	border: 1px solid rgba(226, 232, 240, 0.22);
	background: transparent;
	cursor: pointer;
	flex: 0 0 auto;
}

.pia-nav-toggle i {
	display: block;
	height: 2px;
	background: var(--pia-copper-lt);
	border-radius: 2px;
}

.pia-mobile-nav {
	border-top: 1px solid var(--pia-line);
	padding: 14px 20px 18px;
	background: #08080a;
}

.pia-mobile-list {
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.pia-mobile-list a {
	display: block;
	padding: 12px 12px;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	color: #dfe4e7;
}

.pia-mobile-list a:hover,
.pia-mobile-list .current-menu-item > a {
	background: rgba(217, 119, 54, 0.12);
	color: var(--pia-copper-lt);
}

.pia-mobile-nav .pia-hbtn {
	width: 100%;
	padding: 14px;
	font-size: 13px;
}

@media (max-width: 1080px) {
	.pia-nav,
	.pia-header-cta { display: none; }
	.pia-nav-toggle { display: flex; }
	.pia-header-inner { justify-content: space-between; }
}

@media (min-width: 1081px) {
	.pia-mobile-nav { display: none !important; }
}

/* =========================================================================
   SITE FOOTER
   ========================================================================= */

.pia-footer {
	border-top: 1px solid var(--pia-line);
	background: #000;
	padding: 46px 20px 26px;
	margin-top: 56px;
}

.pia-footer-grid {
	max-width: 1180px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
	gap: 34px;
}

.pia-footer-brand p {
	margin: 14px 0 12px;
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--pia-mute);
	max-width: 34ch;
}

.pia-footer-flag {
	display: inline-block;
	font-size: 10.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--pia-copper-lt);
	border: 1px solid rgba(217, 119, 54, 0.4);
	background: rgba(217, 119, 54, 0.08);
	border-radius: 100px;
	padding: 5px 12px;
}

.pia-footer-col h4 {
	margin: 0 0 14px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #f2f5f7;
}

.pia-footer-col ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.pia-footer-col a {
	font-size: 13.5px;
	color: var(--pia-mute);
	text-decoration: none;
}

.pia-footer-col a:hover { color: var(--pia-copper-lt); }

.pia-footer-contact {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid rgba(226, 232, 240, 0.1);
	font-size: 13.5px;
	color: var(--pia-mute);
	text-align: left;
}

.pia-footer-contact a {
	color: var(--pia-copper-lt);
	text-decoration: none;
}

.pia-footer-legal {
	max-width: 1180px;
	margin: 36px auto 0;
	padding: 16px 18px;
	border: 1px solid rgba(226, 232, 240, 0.1);
	border-radius: 12px;
	background: rgba(15, 16, 19, 0.7);
	font-size: 12px;
	line-height: 1.6;
	color: #6a7075;
}

.pia-footer-note {
	max-width: 1180px;
	margin: 18px auto 0;
	padding-top: 16px;
	border-top: 1px solid rgba(226, 232, 240, 0.08);
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #5f6469;
	text-align: center;
}

@media (max-width: 900px) {
	.pia-footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
	.pia-footer-grid { grid-template-columns: 1fr; gap: 26px; }
	.pia-footer { padding-top: 34px; }
}

/* Page content sits on the dark ground now that the theme chrome is off */
.pia-page-wrap,
.site-main,
.page-content {
	color: #d6d9db;
}

/* =========================================================================
   DARK GROUND
   Elementor's global kit paints the page white, which left a white band under
   the hero. Scoped to .pia-dark so it outranks the kit without !important.
   ========================================================================= */

body.pia-dark,
body.pia-dark .site,
body.pia-dark #content,
body.pia-dark .site-main,
body.pia-dark .page-content,
body.pia-dark .entry-content,
body.pia-dark main,
body.pia-dark article {
	background: var(--pia-ink);
	color: #d2d7db;
}

body.pia-dark {
	/* A faint dot field keeps the black from reading as flat. */
	background-image: radial-gradient(rgba(226, 232, 240, 0.045) 1px, transparent 1px);
	background-size: 26px 26px;
	background-attachment: fixed;
}

body.pia-dark .site-main,
body.pia-dark .page-content,
body.pia-dark .entry-content {
	background: transparent;
}

/* The theme wraps page content in a narrow column; let our sections breathe. */
body.pia-dark .site-main > .page-content,
body.pia-dark .entry-content {
	max-width: none;
	padding: 0;
}

body.pia-dark h1,
body.pia-dark h2,
body.pia-dark h3,
body.pia-dark h4 {
	font-family: "Sora", "Roboto", system-ui, sans-serif;
	color: #f3f6f8;
	letter-spacing: -0.015em;
}

body.pia-dark p,
body.pia-dark li {
	color: #b3b9be;
}

/* Nothing should inherit the theme's link colour. */
body.pia-dark .pia-chip,
body.pia-dark .pia-nav-list a,
body.pia-dark .pia-mobile-list a,
body.pia-dark .pia-hero-counties a,
body.pia-dark .pia-footer-col a,
body.pia-dark .pia-card-firm a {
	color: #c3c9ce;
}

body.pia-dark .pia-chip:hover,
body.pia-dark .pia-hero-counties a:hover,
body.pia-dark .pia-footer-col a:hover,
body.pia-dark .pia-card-firm a:hover {
	color: #fff;
}

body.pia-dark .pia-btn,
body.pia-dark .pia-act,
body.pia-dark .pia-hbtn,
body.pia-dark .pia-conc-form button,
body.pia-dark .pia-filters button {
	font-family: "Sora", "Roboto", system-ui, sans-serif;
}

body.pia-dark .pia-act-copper,
body.pia-dark .pia-btn-web,
body.pia-dark .pia-hbtn-copper,
body.pia-dark .pia-conc-form button,
body.pia-dark .pia-filters button {
	color: #fff;
}

body.pia-dark .pia-act-silver {
	color: #0b0b0f;
}

body.pia-dark .pia-btn-call,
body.pia-dark .pia-btn-site,
body.pia-dark .pia-btn-claim,
body.pia-dark .pia-hbtn-ghost {
	color: #c3c9ce;
}

body.pia-dark .pia-btn-call:hover,
body.pia-dark .pia-btn-site:hover,
body.pia-dark .pia-btn-claim:hover,
body.pia-dark .pia-hbtn-ghost:hover {
	color: #fff;
}

/* =========================================================================
   DEPTH AND POLISH
   ========================================================================= */

.pia-hero-concierge {
	position: relative;
	overflow: hidden;
	padding: 64px 20px 56px;
}

/* Slow copper bloom behind the hero. */
.pia-hero-concierge::after {
	content: "";
	position: absolute;
	top: -220px;
	left: 50%;
	width: 900px;
	height: 520px;
	transform: translateX(-50%);
	background: radial-gradient(closest-side, rgba(217, 119, 54, 0.2), transparent);
	filter: blur(30px);
	pointer-events: none;
	animation: pia-bloom 11s ease-in-out infinite;
}

.pia-hero-concierge > * {
	position: relative;
	z-index: 1;
}

@keyframes pia-bloom {
	0%, 100% { opacity: 0.75; transform: translateX(-50%) scale(1); }
	50% { opacity: 1; transform: translateX(-50%) scale(1.08); }
}

.pia-hero-head h1 {
	font-weight: 800;
	font-size: clamp(30px, 5vw, 52px);
}

/* Hairline rule used between sections. */
.pia-split::before,
.pia-compliance::before {
	content: "";
	display: block;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(217, 119, 54, 0.5), transparent);
	margin: 0 0 34px;
}

.pia-split,
.pia-compliance,
.pia-grid-cards,
.pia-filters,
.pia-pager {
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
}

.pia-split {
	padding: 0 20px;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.pia-compliance {
	margin-top: 44px;
}

/* Cards lift on hover, the way Todd's draft does it. */
.pia-card {
	transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.pia-card:hover {
	transform: translateY(-6px);
	border-color: rgba(217, 119, 54, 0.55);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.7);
}

.pia-col {
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.pia-col:hover {
	transform: translateY(-4px);
	box-shadow: 0 22px 48px rgba(0, 0, 0, 0.7);
}

.pia-act,
.pia-btn,
.pia-hbtn,
.pia-chip {
	transition: transform 0.2s ease, filter 0.2s ease, border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.pia-act:hover,
.pia-hbtn:hover {
	transform: translateY(-2px);
}

/* Concierge panel refinements */
.pia-conc {
	position: relative;
}

.pia-conc::before {
	content: "";
	position: absolute;
	top: 0;
	left: 14%;
	right: 14%;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--pia-amber), transparent);
	border-radius: 2px;
}

.pia-conc-log {
	min-height: 150px;
}

.pia-msg {
	animation: pia-rise 0.28s ease both;
}

@keyframes pia-rise {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: none; }
}

/* Filters bar */
.pia-filters {
	padding: 14px;
	gap: 8px;
}

/* Pagination */
.pia-pager {
	justify-content: center;
	padding-bottom: 10px;
}

.pia-pager .page-numbers:hover {
	border-color: var(--pia-copper-lt);
	color: #fff;
}

/* Logo shine, once, on load */
.pia-hero-logo .pia-logo {
	overflow: hidden;
}

.pia-hero-logo .pia-logo::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 40%;
	left: -60%;
	background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.14), transparent);
	animation: pia-shine 4.5s ease-in-out 1s infinite;
	pointer-events: none;
}

@keyframes pia-shine {
	0%, 70%, 100% { left: -60%; }
	28% { left: 130%; }
}

@media (prefers-reduced-motion: reduce) {
	.pia-hero-concierge::after,
	.pia-hero-logo .pia-logo::after,
	.pia-msg {
		animation: none;
	}

	.pia-card:hover,
	.pia-col:hover,
	.pia-act:hover,
	.pia-hbtn:hover {
		transform: none;
	}
}

@media (max-width: 640px) {
	.pia-hero-concierge { padding: 40px 14px 40px; }
	.pia-hero-actions { grid-template-columns: 1fr 1fr; }
}

/* Concierge used as a bare Elementor widget: no hero chrome around it. */
.pia-conc-bare {
	background: none;
	border: 0;
	padding: 0;
	margin: 0;
}

.pia-conc-bare::after { display: none; }

.pia-conc-bare .pia-conc { margin: 0 auto; }

/* =========================================================================
   ELEMENTOR WIDGETS
   The home page is built from native Elementor widgets so it stays editable
   in the canvas. These rules give those widgets the metallic treatment.
   ========================================================================= */

body.pia-dark .pia-el-logo {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}

body.pia-dark .pia-el-logo .pia-logo {
	padding: 14px 20px;
	border: 1px solid rgba(214, 175, 128, 0.35);
	border-radius: 16px;
	background: rgba(15, 16, 19, 0.9);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.8);
	position: relative;
	overflow: hidden;
}

body.pia-dark .pia-el-logo .pia-logo::before {
	content: "";
	position: absolute;
	top: 0;
	left: 12%;
	right: 12%;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--pia-amber), transparent);
}

body.pia-dark .pia-el-h1 .elementor-heading-title {
	font-family: "Sora", "Roboto", system-ui, sans-serif;
	font-size: clamp(30px, 5vw, 52px);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.015em;
	color: #f3f6f8;
}

body.pia-dark .pia-el-h2 .elementor-heading-title {
	font-family: "Sora", "Roboto", system-ui, sans-serif;
	font-size: clamp(22px, 3vw, 28px);
	font-weight: 700;
	color: #f3f6f8;
}

body.pia-dark .pia-el-h3 .elementor-heading-title {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--pia-copper-lt);
}

body.pia-dark .pia-el-sub {
	max-width: 640px;
	margin: 0 auto;
}

body.pia-dark .pia-el-sub p {
	font-size: 16px;
	line-height: 1.55;
	color: var(--pia-mute);
}

body.pia-dark .pia-el-kicker {
	font-size: 10px !important;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--pia-copper-lt) !important;
	margin: 0 0 6px;
}

/* Buttons keep the gradient look the free Elementor controls cannot express. */
body.pia-dark .pia-el-act .elementor-button {
	font-family: "Sora", "Roboto", system-ui, sans-serif;
	font-size: 12.5px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-radius: 12px;
	padding: 15px 20px;
	border: 1px solid transparent;
	transition: transform 0.2s ease, filter 0.2s ease, border-color 0.2s ease;
}

body.pia-dark .pia-el-act .elementor-button:hover {
	transform: translateY(-2px);
}

body.pia-dark .pia-el-act-copper .elementor-button {
	background: linear-gradient(135deg, var(--pia-amber), var(--pia-copper-dk));
	color: #fff;
	border-color: rgba(249, 192, 157, 0.45);
	box-shadow: 0 12px 26px rgba(0, 0, 0, 0.55);
}

body.pia-dark .pia-el-act-copper .elementor-button:hover { filter: brightness(1.12); }

body.pia-dark .pia-el-act-silver .elementor-button {
	background: linear-gradient(135deg, #f1f5f9, #cbd5e1 55%, #94a3b8);
	color: #0b0b0f;
	border-color: #e2e8f0;
}

body.pia-dark .pia-el-act-ghost .elementor-button {
	background: rgba(15, 16, 19, 0.9);
	color: var(--pia-copper-lt);
	border-color: rgba(214, 175, 128, 0.45);
}

body.pia-dark .pia-el-act-ghost .elementor-button:hover {
	border-color: var(--pia-copper-lt);
	color: #fff;
}

/* Tick list in the two column split */
body.pia-dark .pia-el-list .elementor-icon-list-item {
	margin-bottom: 9px;
}

body.pia-dark .pia-el-list .elementor-icon-list-text {
	font-size: 14px;
	color: #b9bec1;
}

body.pia-dark .pia-el-list .elementor-icon-list-icon svg,
body.pia-dark .pia-el-list .elementor-icon-list-icon i {
	color: var(--pia-copper-lt);
	fill: var(--pia-copper-lt);
	font-size: 13px;
}

/* Concierge dropped in as a shortcode widget */
body.pia-dark .pia-el-conc {
	margin: 26px 0 6px;
}

/* Elementor columns used as cards lift like the directory cards do. */
body.pia-dark .pia-el-split .elementor-column {
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

body.pia-dark .pia-el-split .elementor-column:hover {
	transform: translateY(-4px);
	box-shadow: 0 22px 48px rgba(0, 0, 0, 0.7);
}

@media (max-width: 767px) {
	body.pia-dark .pia-el-split .elementor-column {
		margin-bottom: 16px !important;
	}
}

/* =========================================================================
   TIER METALS
   Gold for Elite, bronze for Featured, silver for Verified, plain grey for
   free. The metal is what they are paying for, so free gets none of it.
   ========================================================================= */

:root {
	--pia-gold: linear-gradient(150deg, #f7e2a0, #d4af37 45%, #8a6a1f);
	--pia-bronze: linear-gradient(150deg, #e6b98a, #a9713f 48%, #5e3a1c);
	--pia-silver: linear-gradient(150deg, #ffffff, #c6cdd3 45%, #7d868d);
}

/* Tier 1, free. Deliberately plain. */
body.pia-dark .pia-card.pia-tier-1 {
	border: 1px solid rgba(226, 232, 240, 0.12);
	background: linear-gradient(180deg, #101114, #08080a);
}

/* Tier 2, silver */
body.pia-dark .pia-card.pia-tier-2 {
	border: 1px solid transparent;
	background:
		linear-gradient(180deg, #131519, #08080a) padding-box,
		var(--pia-silver) border-box;
}

body.pia-dark .pia-tier-2 .pia-card-badge {
	background: var(--pia-silver);
	color: #14161a;
	border-color: transparent;
}

/* Tier 3, bronze */
body.pia-dark .pia-card.pia-tier-3 {
	border: 1px solid transparent;
	padding: 28px 24px 22px;
	background:
		linear-gradient(180deg, #15120f, #08080a) padding-box,
		var(--pia-bronze) border-box;
}

body.pia-dark .pia-tier-3 .pia-card-badge {
	background: var(--pia-bronze);
	color: #17100a;
	border-color: transparent;
}

/* Tier 4, gold */
body.pia-dark .pia-card.pia-tier-4 {
	border: 1px solid transparent;
	padding: 32px 26px 24px;
	background:
		linear-gradient(180deg, #17140c, #08080a) padding-box,
		var(--pia-gold) border-box;
	box-shadow: 0 18px 46px rgba(0, 0, 0, 0.72);
}

body.pia-dark .pia-tier-4 .pia-card-badge {
	background: var(--pia-gold);
	color: #16120a;
	border-color: transparent;
}

body.pia-dark .pia-tier-4 .pia-card-firm a { color: #fbf2dc; }

/* =========================================================================
   ELITE ROW
   ========================================================================= */

.pia-elite {
	max-width: 1180px;
	margin: 0 auto 34px;
	padding: 22px 0 26px;
	border-bottom: 1px solid rgba(212, 175, 55, 0.28);
}

.pia-elite-head {
	display: flex;
	align-items: baseline;
	gap: 14px;
	flex-wrap: wrap;
	margin-bottom: 16px;
}

.pia-elite-kicker {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	background-image: var(--pia-gold);
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
}

.pia-elite-count {
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #7d848a;
	border: 1px solid rgba(212, 175, 55, 0.3);
	border-radius: 100px;
	padding: 4px 11px;
}

.pia-elite-row {
	grid-template-columns: repeat(auto-fill, minmax(268px, 1fr));
}

/* =========================================================================
   TIER COMPARISON TABLE
   ========================================================================= */

.pia-tiers {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 20px;
	max-width: 1180px;
	margin: 0 auto 40px;
	align-items: stretch;
}

.pia-tier {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 28px 24px 24px;
	border-radius: 18px;
	border: 1px solid rgba(226, 232, 240, 0.12);
	background: linear-gradient(180deg, #101114, #08080a);
}

.pia-tier-card-2 {
	border: 1px solid transparent;
	background: linear-gradient(180deg, #131519, #08080a) padding-box, var(--pia-silver) border-box;
}

.pia-tier-card-3 {
	border: 1px solid transparent;
	background: linear-gradient(180deg, #15120f, #08080a) padding-box, var(--pia-bronze) border-box;
}

.pia-tier-card-4 {
	border: 1px solid transparent;
	background: linear-gradient(180deg, #17140c, #08080a) padding-box, var(--pia-gold) border-box;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.75);
}

.pia-tier-metal {
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #8b9094;
}

.pia-tier-card-2 .pia-tier-metal,
.pia-tier-card-3 .pia-tier-metal,
.pia-tier-card-4 .pia-tier-metal,
.pia-tier-card-5 .pia-tier-metal {
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
}

.pia-tier-card-2 .pia-tier-metal { background-image: var(--pia-silver); }
.pia-tier-card-3 .pia-tier-metal { background-image: var(--pia-bronze); }
.pia-tier-card-4 .pia-tier-metal { background-image: var(--pia-gold); }

.pia-tier-name {
	margin: 0;
	font-size: 20px;
	line-height: 1.2;
	color: #f3f6f8;
}

.pia-tier-price {
	margin: 0;
	font-size: 26px;
	font-weight: 800;
	color: #f3f6f8;
	font-family: "Sora", "Roboto", system-ui, sans-serif;
}

.pia-tier-blurb {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: #a9aeb2;
}

.pia-tier-slots {
	margin: 0;
	font-size: 12.5px;
	color: #d9c07a;
	border: 1px solid rgba(212, 175, 55, 0.35);
	background: rgba(212, 175, 55, 0.08);
	border-radius: 10px;
	padding: 9px 12px;
}

.pia-tier-features {
	list-style: none;
	margin: 6px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.pia-tier-features li {
	position: relative;
	padding-left: 24px;
	font-size: 13.5px;
	line-height: 1.4;
}

.pia-tier-features .pia-has {
	color: #c6ccd1;
}

.pia-tier-features .pia-hasnt {
	color: #4e5459;
	text-decoration: line-through;
	text-decoration-color: rgba(120, 128, 135, 0.5);
}

.pia-tier-features .pia-has::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 5px;
	width: 10px;
	height: 6px;
	border-left: 2px solid var(--pia-copper-lt);
	border-bottom: 2px solid var(--pia-copper-lt);
	transform: rotate(-45deg);
}

.pia-tier-card-4 .pia-tier-features .pia-has::before {
	border-color: #d4af37;
}

.pia-tier-features .pia-hasnt::before {
	content: "";
	position: absolute;
	left: 3px;
	top: 8px;
	width: 10px;
	height: 1px;
	background: #4e5459;
}

.pia-tier .pia-btn {
	margin-top: auto;
	text-align: center;
	padding: 14px 18px;
}

/* =========================================================================
   REAL LOGO
   Replaces the drawn placeholder. The mark carries the header because the
   wordmark is unreadable below about 90px tall.
   ========================================================================= */

body.pia-dark .pia-logo-lg,
body.pia-dark .pia-el-logo .pia-logo {
	display: block;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	overflow: visible;
}

body.pia-dark .pia-logo-lg img {
	display: block;
	width: 100%;
	max-width: 540px;
	height: auto;
	margin: 0 auto;
}

/* Neutralise the drawn-mark styling now that the mark is a real image. */
body.pia-dark img.pia-logo-mark {
	width: 40px;
	height: auto;
	padding: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	flex: 0 0 auto;
}

body.pia-dark img.pia-logo-mark::before,
body.pia-dark .pia-logo-lg::before,
body.pia-dark .pia-el-logo .pia-logo::before,
body.pia-dark .pia-el-logo .pia-logo::after {
	content: none;
}

body.pia-dark .pia-logo-sm {
	display: inline-flex;
	align-items: center;
	gap: 11px;
}

body.pia-dark .pia-logo-sm .pia-logo-name {
	font-family: "Sora", "Roboto", system-ui, sans-serif;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	background-image: linear-gradient(180deg, #fff, #cbd5e1 45%, #7c848c);
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
}

body.pia-dark .pia-logo-sm .pia-logo-sub {
	font-size: 8.5px;
	letter-spacing: 0.2em;
	margin-top: 4px;
	color: var(--pia-copper-lt);
}

/* Hero lockup: let the artwork stand on its own, no frame around it. */
body.pia-dark .pia-hero-logo .pia-logo,
body.pia-dark .pia-el-logo .pia-logo {
	border: 0;
	background: none;
	box-shadow: none;
	padding: 0;
}

body.pia-dark .pia-el-logo {
	gap: 18px;
}

@media (max-width: 640px) {
	body.pia-dark .pia-logo-lg img { max-width: 320px; }
	body.pia-dark img.pia-logo-mark { width: 34px; }
	body.pia-dark .pia-logo-sm .pia-logo-name { font-size: 12.5px; }
}

/* =========================================================================
   THE FUNNEL
   Walls converge toward the concierge bubble. Copper light runs down them and
   collects at the neck, so the eye is led rather than told.
   ========================================================================= */

.pia-funnel {
	position: relative;
	max-width: 1180px;
	margin: 0 auto;
	padding: 6px 20px 0;
	isolation: isolate;
}

.pia-funnel-walls {
	position: absolute;
	inset: 0 0 auto;
	width: 100%;
	height: 100%;
	z-index: 0;
	pointer-events: none;
}

.pia-funnel-walls path {
	fill: none;
	stroke: url(#pia-wall);
	stroke-width: 1.4;
	vector-effect: non-scaling-stroke;
}

/* The travelling glints that run down the walls into the neck. */
.pia-funnel-walls .pia-spark-l,
.pia-funnel-walls .pia-spark-r {
	stroke: #f9c09d;
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-dasharray: 26 660;
	filter: drop-shadow(0 0 6px rgba(249, 192, 157, 0.8));
	animation: pia-run 4.6s linear infinite;
}

.pia-funnel-walls .pia-spark-r {
	animation-delay: 2.3s;
}

@keyframes pia-run {
	from { stroke-dashoffset: 686; }
	to   { stroke-dashoffset: 0; }
}

.pia-funnel-inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 26px;
}

/* Widest band of the funnel */
.pia-stats {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px 40px;
	margin: 0;
	padding: 0;
	width: 100%;
	max-width: 900px;
}

.pia-stats li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
}

.pia-stats b {
	font-family: "Sora", "Roboto", system-ui, sans-serif;
	font-size: clamp(24px, 3.4vw, 34px);
	font-weight: 800;
	line-height: 1;
	background-image: linear-gradient(180deg, #f9c09d, #d97736 60%, #8a4318);
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
}

.pia-stats span {
	font-size: 10.5px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #7d848a;
}

/* Middle band, narrower than the stats */
.pia-funnel-quick {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 11px;
	width: 100%;
	max-width: 760px;
}

/* The neck. Narrowest point, where the bubble sits. */
.pia-funnel-neck {
	width: 100%;
	max-width: 480px;
	display: flex;
	justify-content: center;
	padding-top: 4px;
}

.pia-bubble {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}

.pia-bubble-ring {
	position: absolute;
	inset: -10px;
	border-radius: 100px;
	border: 1px solid rgba(217, 119, 54, 0.5);
	animation: pia-pulse 2.8s ease-out infinite;
	pointer-events: none;
}

@keyframes pia-pulse {
	0%   { transform: scale(0.96); opacity: 0.9; }
	70%  { transform: scale(1.06); opacity: 0; }
	100% { transform: scale(1.06); opacity: 0; }
}

.pia-bubble-face {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 14px 26px;
	border-radius: 100px;
	background: linear-gradient(135deg, #16110c, #0b0b0d);
	border: 1px solid rgba(217, 119, 54, 0.55);
	box-shadow: 0 16px 38px rgba(0, 0, 0, 0.7), inset 0 1px 0 rgba(249, 192, 157, 0.16);
	transition: transform 0.25s ease, border-color 0.25s ease;
}

.pia-bubble:hover .pia-bubble-face {
	transform: translateY(-2px);
	border-color: var(--pia-copper-lt);
}

.pia-bubble-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #35c76f;
	box-shadow: 0 0 0 4px rgba(53, 199, 111, 0.15);
	flex: 0 0 auto;
}

.pia-bubble-text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	line-height: 1.25;
}

.pia-bubble-text strong {
	font-family: "Sora", "Roboto", system-ui, sans-serif;
	font-size: 14.5px;
	font-weight: 700;
	color: #f2f5f7;
}

.pia-bubble-text em {
	font-style: normal;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--pia-copper-lt);
}

/* The concierge unfolding out of the bubble */
.pia-funnel-conc {
	width: 100%;
	max-width: 880px;
	transform-origin: top center;
	animation: pia-unfold 0.42s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

@keyframes pia-unfold {
	from { opacity: 0; transform: translateY(-14px) scaleY(0.94); }
	to   { opacity: 1; transform: none; }
}

/* Once open, the neck has done its job. */
.pia-funnel.is-open .pia-bubble-ring { animation: none; opacity: 0; }
.pia-funnel.is-open .pia-bubble-face { border-color: rgba(217, 119, 54, 0.3); }
.pia-funnel.is-open .pia-funnel-walls .pia-spark-l,
.pia-funnel.is-open .pia-funnel-walls .pia-spark-r { animation-duration: 2.4s; }

@media (max-width: 700px) {
	.pia-funnel { padding: 4px 14px 0; }
	.pia-stats { gap: 10px 22px; }
	.pia-funnel-quick { grid-template-columns: 1fr 1fr; }
	.pia-bubble-face { padding: 13px 20px; }
}

@media (prefers-reduced-motion: reduce) {
	.pia-funnel-walls .pia-spark-l,
	.pia-funnel-walls .pia-spark-r,
	.pia-bubble-ring { animation: none; }
	.pia-funnel-conc { animation: none; }
}

/* Typing cursor while the greeting writes itself */
.pia-conc.pia-typing .pia-msg-bot p::after {
	content: "";
	display: inline-block;
	width: 2px;
	height: 1em;
	margin-left: 2px;
	vertical-align: -2px;
	background: var(--pia-copper-lt);
	animation: pia-caret 0.9s steps(1) infinite;
}

@keyframes pia-caret {
	50% { opacity: 0; }
}

/* Placeholder cross-fade as the example questions cycle */
.pia-conc-form input {
	transition: opacity 0.22s ease;
}

.pia-conc-form input.pia-swap {
	opacity: 0.35;
}

/* Admin status chips */
.pia-chip-unclaimed,
.pia-chip-claim, .pia-chip-new, .pia-chip-pending, .pia-chip-changes,
.pia-chip-active, .pia-chip-rejected, .pia-chip-incomplete {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	padding: 3px 9px;
	border-radius: 100px;
	border: 1px solid;
}

.pia-chip-unclaimed  { color: #6b7280; border-color: #d1d5db; background: #f3f4f6; }
.pia-chip-claim,
.pia-chip-new,
.pia-chip-pending,
.pia-chip-changes    { color: #92400e; border-color: #fcd34d; background: #fef3c7; }
.pia-chip-active     { color: #065f46; border-color: #6ee7b7; background: #d1fae5; }
.pia-chip-rejected   { color: #991b1b; border-color: #fca5a5; background: #fee2e2; }
.pia-chip-incomplete { color: #3730a3; border-color: #a5b4fc; background: #e0e7ff; }

/* Thinking dots while the concierge looks up an answer */
.pia-msg-wait p {
	display: flex;
	gap: 5px;
	align-items: center;
	margin: 0;
	padding: 2px 0;
}

.pia-msg-wait i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--pia-copper-lt);
	opacity: 0.35;
	animation: pia-think 1.1s ease-in-out infinite;
}

.pia-msg-wait i:nth-child(2) { animation-delay: 0.15s; }
.pia-msg-wait i:nth-child(3) { animation-delay: 0.3s; }

@keyframes pia-think {
	0%, 60%, 100% { opacity: 0.3; transform: translateY(0); }
	30% { opacity: 1; transform: translateY(-3px); }
}

/* Longer FAQ answers need room to breathe in the chat */
.pia-conc-log { max-height: 420px; }
.pia-msg-bot p { margin: 0 0 2px; }

/* =========================================================================
   FAQ PAGE
   ========================================================================= */

.pia-faq {
	max-width: 860px;
	margin: 0 auto 40px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.pia-faq-item {
	border: 1px solid rgba(226, 232, 240, 0.12);
	border-radius: 14px;
	background: linear-gradient(180deg, #101114, #08080a);
	overflow: hidden;
}

.pia-faq-item[open] {
	border-color: rgba(217, 119, 54, 0.42);
}

.pia-faq-item summary {
	cursor: pointer;
	list-style: none;
	padding: 17px 52px 17px 20px;
	position: relative;
	font-family: "Sora", "Roboto", system-ui, sans-serif;
	font-size: 15.5px;
	font-weight: 600;
	color: #eef2f4;
}

.pia-faq-item summary::-webkit-details-marker { display: none; }

.pia-faq-item summary::after {
	content: "";
	position: absolute;
	right: 22px;
	top: 50%;
	width: 9px;
	height: 9px;
	margin-top: -6px;
	border-right: 2px solid var(--pia-copper-lt);
	border-bottom: 2px solid var(--pia-copper-lt);
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

.pia-faq-item[open] summary::after {
	transform: rotate(-135deg);
	margin-top: -2px;
}

.pia-faq-item summary:hover { color: #fff; }

.pia-faq-a {
	padding: 0 20px 18px;
	border-top: 1px solid rgba(226, 232, 240, 0.08);
}

.pia-faq-a p {
	margin: 14px 0 0;
	font-size: 15px;
	line-height: 1.65;
	color: #b3b9be;
}

/* =========================================================================
   HEADER v2 — pill navigation, white wordmark
   ========================================================================= */

body.pia-dark .pia-header-inner {
	gap: 16px;
	padding: 10px 20px;
	max-width: 1320px;
}

/* Todd found the metallic wordmark hard to read at this size. Plain white. */
body.pia-dark .pia-logo-sm .pia-logo-name {
	background: none;
	-webkit-background-clip: border-box;
	background-clip: border-box;
	color: #fff;
	font-size: 15px;
	letter-spacing: 0.09em;
}

body.pia-dark .pia-logo-sm .pia-logo-sub {
	color: #b9bec1;
	font-size: 8px;
}

body.pia-dark img.pia-logo-mark { width: 38px; }

.pia-pills {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px;
}

.pia-pill {
	display: inline-block;
	padding: 9px 17px;
	border-radius: 100px;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-decoration: none;
	white-space: nowrap;
	color: #d3d8dc;
	border: 1px solid rgba(226, 232, 240, 0.2);
	background: linear-gradient(180deg, rgba(28, 30, 34, 0.9), rgba(12, 13, 15, 0.9));
	transition: border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

body.pia-dark .pia-pill { color: #d3d8dc; }

.pia-pill:hover {
	border-color: var(--pia-copper-lt);
	color: #fff;
	transform: translateY(-1px);
}

.pia-pill.is-on {
	border-color: rgba(217, 119, 54, 0.75);
	color: #fff;
	background: linear-gradient(180deg, rgba(60, 34, 18, 0.9), rgba(20, 13, 8, 0.9));
}

.pia-pill-contact {
	border-color: rgba(249, 192, 157, 0.5);
	background: linear-gradient(135deg, var(--pia-amber), var(--pia-copper-dk));
}

body.pia-dark .pia-pill-contact { color: #fff; }

.pia-pills-stack {
	flex-direction: column;
	justify-content: stretch;
}

.pia-pills-stack .pia-pill {
	display: block;
	text-align: center;
	padding: 13px 16px;
	font-size: 14px;
}

@media (max-width: 1100px) {
	body.pia-dark .pia-nav { display: none; }
	.pia-nav-toggle { display: flex; }
}

/* Bronze shine line between the header and the hero */
.pia-shine {
	height: 3px;
	background: linear-gradient(90deg, transparent, #7c3612 12%, #d97736 38%, #f9c09d 50%, #d97736 62%, #7c3612 88%, transparent);
	box-shadow: 0 0 18px rgba(217, 119, 54, 0.55);
}

/* =========================================================================
   HERO v2 — full width logo band, two choices, concierge at the neck
   ========================================================================= */

.pia-hero {
	position: relative;
	background: #010101;
	padding: 0 0 26px;
	overflow: hidden;
}

/* The artwork's own black is #010101, so the band blends edge to edge. */
.pia-hero-band {
	width: 100%;
	background: #010101;
	line-height: 0;
	text-align: center;
}

.pia-hero-band img {
	width: 100%;
	max-width: 1500px;
	height: auto;
	max-height: 30vh;
	object-fit: contain;
	margin: 0 auto;
}

.pia-hero-title {
	margin: 6px auto 20px;
	max-width: 900px;
	padding: 0 20px;
	text-align: center;
	font-family: "Sora", "Roboto", system-ui, sans-serif;
	/* 30% down from the old clamp, as asked. */
	font-size: clamp(19px, 2.9vw, 32px);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.005em;
	color: #cfd6db;
}

.pia-hero-title span {
	display: inline-block;
	background-image: linear-gradient(180deg, #ffe9d2 0%, #f9c09d 30%, #d97736 62%, #8a4318 100%);
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
	text-shadow: 0 1px 18px rgba(217, 119, 54, 0.25);
}

/* Two choices, side by side, forming the top of the funnel */
.pia-choices {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	width: 100%;
	max-width: 940px;
}

.pia-choice {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 22px 24px 24px;
	border-radius: 16px;
	text-decoration: none;
	border: 1px solid transparent;
	background: linear-gradient(180deg, #141519, #08080a) padding-box,
		linear-gradient(150deg, #c6cdd3, #7d868d) border-box;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.pia-choice-copper {
	background: linear-gradient(180deg, #17130e, #08080a) padding-box,
		linear-gradient(150deg, #f9c09d, #d97736 50%, #7c3612) border-box;
}

.pia-choice:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 44px rgba(0, 0, 0, 0.7);
}

.pia-choice-kicker {
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--pia-copper-lt);
}

.pia-choice-silver .pia-choice-kicker { color: #aab1b7; }

.pia-choice-title {
	font-family: "Sora", "Roboto", system-ui, sans-serif;
	font-size: clamp(20px, 2.6vw, 27px);
	font-weight: 800;
	line-height: 1.15;
	color: #f4f7f9;
}

.pia-choice-sub {
	font-size: 13.5px;
	line-height: 1.5;
	color: #a4abb0;
}

/* Neck: the concierge bubble, gleaming */
.pia-funnel-neck { max-width: 560px; }

.pia-bubble-ring-2 {
	animation-delay: 1.4s;
}

.pia-bubble-face {
	position: relative;
	overflow: hidden;
}

/* The gleam that sweeps across the bubble */
.pia-bubble-face::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 46%;
	left: -60%;
	background: linear-gradient(100deg, transparent, rgba(255, 232, 210, 0.28), transparent);
	animation: pia-gleam 3.6s ease-in-out infinite;
	pointer-events: none;
}

@keyframes pia-gleam {
	0%, 62%, 100% { left: -60%; }
	26% { left: 130%; }
}

/* Stats now sit under the concierge */
.pia-funnel-inner .pia-stats {
	margin-top: 6px;
	padding-top: 20px;
	border-top: 1px solid rgba(226, 232, 240, 0.09);
}

.pia-funnel-inner .pia-stats b { font-size: clamp(20px, 2.6vw, 27px); }

@media (max-width: 780px) {
	.pia-choices { grid-template-columns: 1fr; gap: 12px; }
	.pia-hero-band img { max-height: 22vh; }
	.pia-choice { padding: 18px 18px 20px; }
}

@media (prefers-reduced-motion: reduce) {
	.pia-bubble-face::after { animation: none; }
}

/* =========================================================================
   TIER TABLE v2 — five tiers, real pricing
   Todd's mockup was on cream; this is the same structure carried onto the
   dark metallic palette so it matches the rest of the site.
   ========================================================================= */

:root {
	--pia-ai: linear-gradient(140deg, #0b2545, #3e7cb1 28%, #afdbf5 48%, #3e7cb1 70%, #0b2545);
}

.pia-tiers {
	grid-template-columns: repeat(5, minmax(212px, 1fr));
	gap: 14px;
	max-width: 1460px;
}

@media (max-width: 1400px) {
	.pia-tiers { grid-template-columns: repeat(3, minmax(220px, 1fr)); max-width: 900px; }
}

@media (max-width: 820px) {
	.pia-tiers { grid-template-columns: repeat(2, minmax(200px, 1fr)); max-width: 620px; }
}

@media (max-width: 560px) {
	.pia-tiers { grid-template-columns: 1fr; max-width: 420px; }
}

.pia-tier {
	position: relative;
	padding: 26px 20px 22px;
	gap: 10px;
}

/* Metal edge per tier */
.pia-tier-card-1 { border: 1px solid rgba(226, 232, 240, 0.14); }

.pia-tier-card-5 {
	border: 1px solid transparent;
	background: linear-gradient(180deg, #0c1520, #08080a) padding-box, var(--pia-ai) border-box;
	box-shadow: 0 20px 48px rgba(11, 37, 69, 0.55);
}

/* Top hairline on the two Elite tiers */
.pia-tier-card-4::before,
.pia-tier-card-5::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	border-radius: 18px 18px 0 0;
}

.pia-tier-card-4::before { background: linear-gradient(90deg, #8a6a1f, #f7e2a0, #8a6a1f); }
.pia-tier-card-5::before { background: linear-gradient(90deg, #0b2545, #afdbf5, #0b2545); }

.pia-tier-badge {
	position: absolute;
	top: -11px;
	right: 16px;
	font-size: 9.5px;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 5px 11px;
	border-radius: 100px;
	color: #14110a;
	background: var(--pia-silver);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.6);
}

.pia-tier-card-3 .pia-tier-badge { background: var(--pia-bronze); color: #17100a; }
.pia-tier-card-4 .pia-tier-badge { background: var(--pia-gold); color: #16120a; }

.pia-tier-card-5 .pia-tier-badge {
	background: var(--pia-ai);
	color: #eaf4ff;
	animation: pia-badge-glow 2.6s ease-in-out infinite;
}

@keyframes pia-badge-glow {
	0%, 100% { box-shadow: 0 0 0 0 rgba(175, 219, 245, 0.5), 0 6px 16px rgba(0, 0, 0, 0.6); }
	50%      { box-shadow: 0 0 16px 4px rgba(175, 219, 245, 0.55), 0 6px 16px rgba(0, 0, 0, 0.6); }
}

.pia-tier-card-5 .pia-tier-name { color: #dbeaf7; }
.pia-tier-card-5 .pia-tier-metal { background-image: var(--pia-ai); }

.pia-tier-price {
	font-size: 30px;
	line-height: 1;
	margin-top: 2px;
}

.pia-tier-price span {
	font-size: 13px;
	font-weight: 500;
	color: #8b9094;
	margin-left: 2px;
}

.pia-tier-annual {
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	color: #b7bdc2;
}

.pia-tier-annual span { font-weight: 500; color: #8b9094; }
.pia-tier-annual em { font-style: normal; color: var(--pia-copper-lt); }
.pia-tier-card-5 .pia-tier-annual em { color: #9fd0f0; }

.pia-tier-tagline {
	margin: 2px 0 0;
	font-size: 12px;
	line-height: 1.5;
	color: #9fb6cc;
	font-weight: 600;
}

/* "The system that pays for itself" */
.pia-tier-flag {
	align-self: flex-start;
	display: inline-block;
	margin: 4px 0 2px;
	padding: 6px 13px;
	border-radius: 100px;
	font-size: 9.5px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #f0f4f8;
	background: linear-gradient(135deg, #0b2545, #1f3a56 55%, #0b2545);
	border: 1.5px solid #e4c567;
	transform: rotate(-2.5deg);
	animation: pia-flag-pop 2.2s ease-in-out infinite;
}

@keyframes pia-flag-pop {
	0%, 100% { transform: rotate(-2.5deg) scale(1); box-shadow: 0 6px 14px rgba(11, 37, 69, 0.5); }
	50%      { transform: rotate(-2.5deg) scale(1.05); box-shadow: 0 0 12px 4px rgba(228, 197, 103, 0.6), 0 6px 14px rgba(11, 37, 69, 0.5); }
}

.pia-tier-features li { padding-left: 22px; font-size: 12.8px; }

/* What this tier adds on top of the one below it */
.pia-tier-features .pia-new {
	color: #eef2f5;
	font-weight: 600;
}

.pia-tier-card-4 .pia-tier-features .pia-new::before { border-color: #f7e2a0; }
.pia-tier-card-5 .pia-tier-features .pia-new::before { border-color: #afdbf5; }
.pia-tier-card-5 .pia-tier-features .pia-has::before { border-color: #6f9fc4; }

.pia-tiers-note {
	max-width: 1000px;
	margin: 0 auto 44px;
	text-align: center;
	font-size: 12px;
	line-height: 1.7;
	color: #7d848a;
}

@media (prefers-reduced-motion: reduce) {
	.pia-tier-flag,
	.pia-tier-card-5 .pia-tier-badge { animation: none; }
}

/* =========================================================================
   TWEAKS — gold replaced, tier cards levelled, house ad slot
   ========================================================================= */

/* Gold read muddy on near-black. Tier 4 now uses the brightest copper from
   Todd's own logo, which outranks the muted bronze on tier 3 cleanly and is
   literally the brand's hero metal. */
:root {
	--pia-gold: linear-gradient(150deg, #ffd9b8, #f9c09d 22%, #d97736 55%, #8a4318);
	--pia-bronze: linear-gradient(150deg, #c9a483, #8f6440 48%, #4e3420);
}

body.pia-dark .pia-card.pia-tier-4 {
	background:
		linear-gradient(180deg, #191109, #08080a) padding-box,
		var(--pia-gold) border-box;
	box-shadow: 0 18px 46px rgba(0, 0, 0, 0.72), 0 0 34px -12px rgba(217, 119, 54, 0.45);
}

.pia-tier-card-4::before {
	background: linear-gradient(90deg, #8a4318, #ffd9b8, #8a4318);
}

.pia-tier-card-4 .pia-tier-features .pia-new::before { border-color: #f9c09d; }
.pia-elite-kicker { background-image: var(--pia-gold); }
.pia-elite { border-bottom-color: rgba(217, 119, 54, 0.3); }
.pia-elite-count { border-color: rgba(217, 119, 54, 0.32); }
.pia-tier-slots {
	color: #f0c49c;
	border-color: rgba(217, 119, 54, 0.4);
	background: rgba(217, 119, 54, 0.09);
}

/* Every tier card the same height, borders lining up across the row. */
.pia-tiers { align-items: stretch; }

.pia-tier {
	height: 100%;
	min-height: 100%;
}

.pia-tier-features {
	flex: 1 1 auto;
}

.pia-tier-name {
	min-height: 2.4em;
	display: flex;
	align-items: flex-end;
}

.pia-tier-price { min-height: 32px; }
.pia-tier-annual { min-height: 20px; }

/* =========================================================================
   HOUSE AD — Todd's own slot, sitewide
   ========================================================================= */

.pia-house {
	max-width: 1180px;
	margin: 0 auto 34px;
	position: relative;
	display: block;
	text-decoration: none;
	border-radius: 16px;
	padding: 3px;
	background: linear-gradient(135deg, #0b2545, #3e7cb1 26%, #afdbf5 46%, #3e7cb1 68%, #0b2545);
	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.6);
	overflow: hidden;
}

/* Deliberately a different material to the directory cards so it reads as an
   advert, not another listing. */
.pia-house-inner {
	display: flex;
	align-items: center;
	gap: 26px;
	min-height: 160px;
	padding: 20px 28px;
	border-radius: 13px;
	background:
		repeating-linear-gradient(115deg, rgba(255, 255, 255, 0.022) 0 2px, transparent 2px 5px),
		linear-gradient(135deg, #10161f, #070a0f 60%);
}

.pia-house-media {
	flex: 0 0 auto;
	max-width: 240px;
	line-height: 0;
}

.pia-house-media img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
}

.pia-house-body {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.pia-house-kicker {
	font-size: 9.5px;
	font-weight: 800;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #8fc4e6;
}

.pia-house-title {
	margin: 0;
	font-family: "Sora", "Roboto", system-ui, sans-serif;
	font-size: clamp(19px, 2.4vw, 26px);
	font-weight: 800;
	line-height: 1.15;
	color: #eef5fb;
}

.pia-house-text {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: #a9bccd;
	max-width: 62ch;
}

.pia-house-cta {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 14px 24px;
	border-radius: 100px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #06121e;
	background: linear-gradient(135deg, #cfe8fa, #7fb6dd 55%, #4d8cb8);
	border: 1px solid rgba(207, 232, 250, 0.6);
	white-space: nowrap;
	transition: filter 0.2s ease, transform 0.2s ease;
}

.pia-house:hover .pia-house-cta {
	filter: brightness(1.1);
	transform: translateX(3px);
}

.pia-house-flag {
	position: absolute;
	top: 12px;
	right: 16px;
	font-size: 8.5px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #6d8598;
}

@media (max-width: 860px) {
	.pia-house-inner {
		flex-direction: column;
		align-items: flex-start;
		text-align: left;
		min-height: 0;
		gap: 16px;
	}
	.pia-house-media { max-width: 160px; }
	.pia-house-cta { width: 100%; justify-content: center; }
}

/* ---- Tier 5 legibility -------------------------------------------------
   The AI gradient bottoms out at #0b2545, which is almost black, so as text
   on a black card it disappeared and the label read as a solid bar. This is
   the same blue family kept bright enough to read. */

.pia-tier-card-5 .pia-tier-metal {
	background-image: linear-gradient(100deg, #8fc4e6, #dcefff 45%, #6ea9d4);
}

.pia-tier-card-5 .pia-tier-badge {
	background: linear-gradient(135deg, #dcefff, #8fc4e6 55%, #4d8cb8);
	color: #06121e;
	border: 1px solid rgba(220, 239, 255, 0.7);
}

.pia-tier-card-5 .pia-tier-name {
	background-image: linear-gradient(180deg, #ffffff, #cfe4f5 50%, #7fa8c6);
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
}

/* The pays-for-itself flag needs to clear the badge above it. */
.pia-tier-flag { margin-top: 8px; }

/* Sold out reads differently to spots remaining. */
.pia-tier-slots strong { color: #ffd9b8; }

/* =========================================================================
   PAGE INTROS
   Removing the theme container let the intro paragraphs run flush to the left
   edge. They get their own centred container back, without constraining the
   directory grid or the tier table, which manage their own width.
   ========================================================================= */

body.pia-dark .entry-content,
body.pia-dark .page-content,
body.pia-dark .site-main {
	padding-top: 26px;
}

body.pia-dark .entry-content > p,
body.pia-dark .page-content > p,
body.pia-dark .entry-content > h2,
body.pia-dark .entry-content > h3,
body.pia-dark .page-content > h2,
body.pia-dark .page-content > h3 {
	max-width: 780px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
	text-align: center;
}

body.pia-dark .entry-content > p,
body.pia-dark .page-content > p {
	margin-bottom: 26px;
	font-size: 16px;
	line-height: 1.65;
	color: #a9aeb2;
}

/* The homepage hero is full bleed and sets its own spacing. */
body.pia-dark.home .entry-content,
body.pia-dark.home .page-content,
body.pia-dark.home .site-main {
	padding-top: 0;
}

/* Single listings read as a document, so keep that copy left aligned. */
body.pia-dark .pia-single p,
body.pia-dark .pia-faq-a p {
	text-align: left;
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

/* ---- Page intros, actual fix -------------------------------------------
   Disabling the theme chrome means block content renders bare in the body
   rather than inside .entry-content, so the earlier selector never matched.
   Targeting the block classes themselves. */

body.pia-dark .wp-block-paragraph,
body.pia-dark .wp-block-heading,
body.pia-dark > p,
body.pia-dark > h2,
body.pia-dark > h3,
body.pia-dark > ul,
body.pia-dark > ol {
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
	text-align: center;
}

body.pia-dark .wp-block-paragraph,
body.pia-dark > p {
	margin-top: 0;
	margin-bottom: 24px;
	font-size: 16px;
	line-height: 1.7;
	color: #a9aeb2;
}

body.pia-dark .wp-block-heading,
body.pia-dark > h2,
body.pia-dark > h3 {
	margin-top: 34px;
	margin-bottom: 14px;
	color: #f2f5f7;
}

/* First paragraph on a page needs air under the shine line. */
body.pia-dark .pia-shine + .wp-block-paragraph,
body.pia-dark .pia-shine + p {
	margin-top: 34px;
}

/* Components that own their layout keep it. */
body.pia-dark .pia-single .wp-block-paragraph,
body.pia-dark .pia-faq-a p,
body.pia-dark .pia-house .wp-block-paragraph,
body.pia-dark .pia-compliance p {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
	text-align: left;
}

/* =========================================================================
   BRUSHED BLACK METAL — whole page
   Drawn in CSS rather than tiled from a bitmap. A repeated image seams
   visibly at this scale, and mirroring it produced light bands down the page.
   Fine horizontal grain plus a slow vertical sheen gives the same read at no
   file size and at any screen width.
   ========================================================================= */

body.pia-dark {
	background-color: #060607;
	background-image:
		/* the fine brush grain */
		repeating-linear-gradient(
			180deg,
			rgba(255, 255, 255, 0.016) 0px,
			rgba(255, 255, 255, 0.016) 1px,
			rgba(0, 0, 0, 0) 1px,
			rgba(0, 0, 0, 0) 3px
		),
		/* long vertical sheen, like light travelling across the metal */
		linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.028) 0%,
			rgba(255, 255, 255, 0) 14%,
			rgba(255, 255, 255, 0.045) 34%,
			rgba(255, 255, 255, 0) 52%,
			rgba(255, 255, 255, 0.03) 72%,
			rgba(255, 255, 255, 0) 88%,
			rgba(255, 255, 255, 0.038) 100%
		),
		/* depth top to bottom so it does not read as flat */
		linear-gradient(180deg, #0d0e10 0%, #070709 45%, #050506 100%);
	background-attachment: fixed, fixed, fixed;
	background-size: auto, 100% 100%, 100% 100%;
}

/* Sections that previously painted their own flat black now let the metal
   through, so the page reads as one surface rather than stacked panels. */
body.pia-dark .pia-hero,
body.pia-dark .pia-hero-band,
body.pia-dark .site-main,
body.pia-dark .entry-content,
body.pia-dark .page-content {
	background: transparent;
}

/* The logo artwork carries its own near black, so a soft fade at its edges
   blends it into the brushed surface instead of showing a hard rectangle. */
body.pia-dark .pia-hero-band {
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}

/* ---- Logo stretched wider on the hero ---------------------------------- */
body.pia-dark .pia-hero-band img {
	max-width: 1760px;
	width: 96%;
	max-height: 34vh;
}

@media (max-width: 900px) {
	body.pia-dark .pia-hero-band img { width: 100%; max-height: 24vh; }
	body.pia-dark .pia-hero-band {
		-webkit-mask-image: none;
		mask-image: none;
	}
}

/* Cards keep a touch of their own body so they lift off the metal. */
body.pia-dark .pia-card,
body.pia-dark .pia-tier,
body.pia-dark .pia-choice,
body.pia-dark .pia-conc {
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}

/* =========================================================================
   MEMBER DASHBOARD
   ========================================================================= */

.pia-dash,
.pia-dash-gate {
	max-width: 900px;
	margin: 0 auto 48px;
	padding: 0 20px;
}

.pia-dash-gate {
	text-align: center;
	padding: 46px 20px;
}

.pia-dash-gate p { color: #a9aeb2; margin-bottom: 18px; }

.pia-dash-head {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(226, 232, 240, 0.1);
}

.pia-dash-kicker {
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--pia-copper-lt);
}

.pia-dash-head h2 {
	margin: 6px 0 6px;
	font-size: clamp(22px, 3vw, 30px);
	color: #f3f6f8;
}

.pia-dash-tier {
	margin: 0;
	font-size: 13.5px;
	color: #9aa1a6;
}

.pia-dash-status {
	display: inline-block;
	font-size: 11px;
	padding: 3px 10px;
	border-radius: 100px;
	border: 1px solid;
}

/* Progress, the thing that actually gets listings finished */
.pia-dash-progress { margin: 22px 0 10px; }

.pia-dash-bar {
	height: 8px;
	border-radius: 100px;
	background: rgba(226, 232, 240, 0.09);
	overflow: hidden;
}

.pia-dash-bar span {
	display: block;
	height: 100%;
	border-radius: 100px;
	background: linear-gradient(90deg, var(--pia-copper-dk), var(--pia-amber), #f9c09d);
	transition: width 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.pia-dash-progress p {
	margin: 9px 0 0;
	font-size: 13.5px;
	color: #9aa1a6;
	text-align: left;
	max-width: none;
	padding: 0;
}

.pia-dash-progress strong { color: #f0f3f5; }

.pia-dash-notice,
.pia-dash-pending {
	margin: 16px 0 0;
	padding: 13px 16px;
	border-radius: 10px;
	font-size: 13.5px;
	line-height: 1.55;
	text-align: left;
	max-width: none;
}

.pia-dash-notice {
	color: #b7e8cd;
	border: 1px solid rgba(53, 199, 111, 0.35);
	background: rgba(53, 199, 111, 0.08);
}

.pia-dash-pending {
	color: #f0c49c;
	border: 1px solid rgba(217, 119, 54, 0.35);
	background: rgba(217, 119, 54, 0.08);
}

.pia-dash-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-top: 26px;
}

.pia-dash-field { display: flex; flex-direction: column; gap: 6px; }

.pia-dash-field:has(textarea) { grid-column: 1 / -1; }

.pia-dash-field label {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #9aa1a6;
}

.pia-dash-lock {
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.08em;
	padding: 3px 8px;
	border-radius: 100px;
	color: var(--pia-copper-lt);
	border: 1px solid rgba(217, 119, 54, 0.4);
	background: rgba(217, 119, 54, 0.08);
	text-transform: none;
}

.pia-dash-field input,
.pia-dash-field textarea {
	width: 100%;
	background: rgba(8, 8, 10, 0.85);
	border: 1px solid rgba(226, 232, 240, 0.16);
	border-radius: 10px;
	padding: 12px 14px;
	color: #e6e8e9;
	font-size: 15px;
	font-family: inherit;
}

.pia-dash-field input:focus,
.pia-dash-field textarea:focus {
	outline: 2px solid rgba(217, 119, 54, 0.6);
	outline-offset: 1px;
	border-color: transparent;
}

.pia-dash-field small { font-size: 12px; color: #7d848a; }

.pia-dash-field.is-locked input,
.pia-dash-field.is-locked textarea {
	opacity: 0.4;
	cursor: not-allowed;
}

.pia-dash-actions {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 8px;
}

.pia-dash-actions .pia-btn { padding: 14px 22px; }

@media (max-width: 700px) {
	.pia-dash-form { grid-template-columns: 1fr; }
}

/* =========================================================================
   HERO BLEND
   The logo is now cut out on transparency, so it sits directly on the page's
   brushed metal instead of carrying its own black rectangle. No mask needed,
   no edge to give it away.
   ========================================================================= */

body.pia-dark .pia-hero-band {
	background: none;
	-webkit-mask-image: none;
	mask-image: none;
	padding: 8px 20px 0;
}

body.pia-dark .pia-hero-band img {
	width: 100%;
	max-width: 1120px;
	max-height: 30vh;
	height: auto;
	object-fit: contain;
	/* Sits the logo on the surface rather than floating above it. */
	filter: drop-shadow(0 12px 30px rgba(0, 0, 0, 0.85));
}

/* A pool of copper light under the mark, so the hero reads as one piece of
   artwork lit from behind rather than an image pasted onto a page. */
body.pia-dark .pia-hero::before {
	content: "";
	position: absolute;
	top: -40px;
	left: 50%;
	width: min(1200px, 96%);
	height: 380px;
	transform: translateX(-50%);
	background: radial-gradient(60% 60% at 50% 45%, rgba(217, 119, 54, 0.16), transparent 70%);
	filter: blur(20px);
	pointer-events: none;
	z-index: 0;
}

body.pia-dark .pia-hero > * { position: relative; z-index: 1; }

/* The shine line under the header now fades into the hero instead of cutting
   hard across it. */
.pia-shine + .pia-hero,
body.pia-dark .pia-hero { padding-top: 10px; }

@media (max-width: 900px) {
	body.pia-dark .pia-hero-band img { max-height: 22vh; max-width: 92%; }
	body.pia-dark .pia-hero::before { height: 240px; }
}

/* =========================================================================
   LOST REVENUE CALCULATOR
   ========================================================================= */

.pia-calc {
	max-width: 620px;
	margin: 0 auto 34px;
	padding: 26px 26px 22px;
	border-radius: 16px;
	border: 1px solid rgba(217, 119, 54, 0.4);
	background: linear-gradient(180deg, #14100b, #08080a);
	box-shadow: 0 20px 48px rgba(0, 0, 0, 0.65);
}

.pia-calc-head {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--pia-copper-lt);
	text-align: center;
	padding-bottom: 16px;
	margin-bottom: 18px;
	border-bottom: 1px solid rgba(217, 119, 54, 0.22);
}

.pia-calc-row {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: baseline;
	gap: 6px 12px;
	margin-bottom: 20px;
}

.pia-calc-row label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #9aa1a6;
}

.pia-calc-row output {
	font-family: "Sora", "Roboto", system-ui, sans-serif;
	font-size: 20px;
	font-weight: 800;
	color: var(--pia-copper-lt);
	text-align: right;
}

.pia-calc-row input[type="range"] {
	grid-column: 1 / -1;
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 5px;
	border-radius: 100px;
	margin-top: 4px;
	background: linear-gradient(90deg, var(--pia-amber) 0%, var(--pia-amber) var(--pia-fill, 30%),
		rgba(226, 232, 240, 0.28) var(--pia-fill, 30%), rgba(226, 232, 240, 0.28) 100%);
	cursor: pointer;
}

.pia-calc-row input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: linear-gradient(180deg, #ffd9b8, #d97736);
	border: 2px solid #1a1207;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.7);
	cursor: grab;
}

.pia-calc-row input[type="range"]::-moz-range-thumb {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: linear-gradient(180deg, #ffd9b8, #d97736);
	border: 2px solid #1a1207;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.7);
	cursor: grab;
}

.pia-calc-row input[type="range"]:focus-visible {
	outline: 2px solid var(--pia-copper-lt);
	outline-offset: 4px;
}

.pia-calc-result {
	text-align: center;
	padding-top: 18px;
	border-top: 1px solid rgba(226, 232, 240, 0.1);
}

.pia-calc-label {
	display: block;
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #8b9094;
	margin-bottom: 6px;
}

.pia-calc-result strong {
	display: block;
	font-family: "Sora", "Roboto", system-ui, sans-serif;
	font-size: clamp(38px, 7vw, 58px);
	font-weight: 800;
	line-height: 1;
	color: #ff5b52;
	text-shadow: 0 0 30px rgba(255, 91, 82, 0.4);
}

.pia-calc-year {
	display: block;
	margin-top: 6px;
	font-size: 13px;
	color: #9aa1a6;
}

.pia-calc-quote {
	margin: 14px 0 0;
	text-align: center;
	font-size: 12.5px;
	font-style: italic;
	color: #7d848a;
	max-width: none;
	padding: 0;
}

/* =========================================================================
   FLAGSHIP PROMO PACKAGE
   Sits below the tiers as a separate offer, not a sixth tier.
   ========================================================================= */

.pia-promo {
	max-width: 560px;
	margin: 0 auto 48px;
	padding: 30px 28px 28px;
	border-radius: 18px;
	text-align: center;
	border: 1px solid transparent;
	background: linear-gradient(180deg, #14100b, #070709) padding-box,
		linear-gradient(150deg, #ffd9b8, #d97736 48%, #7c3612) border-box;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.7);
	position: relative;
}

.pia-promo::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	border-radius: 18px 18px 0 0;
	background: linear-gradient(90deg, #7c3612, #ffd9b8, #7c3612);
}

.pia-promo-kicker {
	display: inline-block;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--pia-copper-lt);
	border: 1px solid rgba(217, 119, 54, 0.5);
	border-radius: 100px;
	padding: 8px 16px;
	margin-bottom: 16px;
	line-height: 1.35;
}

.pia-promo-title {
	margin: 0 0 6px;
	font-family: "Sora", "Roboto", system-ui, sans-serif;
	font-size: clamp(26px, 4vw, 34px);
	font-weight: 800;
	color: #f5f8fa;
	letter-spacing: 0.01em;
}

.pia-promo-sub {
	margin: 0 0 10px;
	font-size: 13.5px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #c3c9ce;
	max-width: none;
	padding: 0;
}

.pia-promo-flag {
	display: inline-block;
	font-size: 11px;
	font-style: italic;
	color: var(--pia-copper-lt);
	margin-bottom: 18px;
}

.pia-promo-calc {
	border: 1px solid rgba(217, 119, 54, 0.45);
	border-radius: 12px;
	padding: 0 0 16px;
	margin-bottom: 20px;
	overflow: hidden;
}

.pia-promo-calc-head {
	display: block;
	padding: 9px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #16120a;
	background: linear-gradient(135deg, #ffd9b8, #d97736);
	margin-bottom: 14px;
}

.pia-promo-calc ul {
	list-style: none;
	margin: 0 0 12px;
	padding: 0 16px;
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.pia-promo-calc li {
	font-size: 14px;
	color: #c3c9ce;
	text-align: center;
}

.pia-promo-calc li strong { color: #f2f5f7; }

.pia-promo-loss {
	display: block;
	font-family: "Sora", "Roboto", system-ui, sans-serif;
	font-size: clamp(19px, 3vw, 24px);
	font-weight: 800;
	color: #ff5b52;
	text-shadow: 0 0 26px rgba(255, 91, 82, 0.35);
	padding: 0 12px;
}

.pia-promo-line {
	display: block;
	margin-top: 10px;
	padding: 0 12px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.03em;
	color: var(--pia-copper-lt);
}

.pia-promo-included {
	text-align: left;
	padding-top: 4px;
	margin-bottom: 20px;
	border-top: 1px solid rgba(226, 232, 240, 0.1);
}

.pia-promo-included-head {
	display: block;
	text-align: center;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #f2f5f7;
	margin: 16px 0 14px;
}

.pia-promo-included ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.pia-promo-included li {
	position: relative;
	padding-left: 20px;
	font-size: 13.5px;
	line-height: 1.45;
	color: #b9bec1;
}

.pia-promo-included li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 8px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--pia-copper-lt);
}

.pia-promo-price {
	margin: 0;
	font-family: "Sora", "Roboto", system-ui, sans-serif;
	font-size: clamp(30px, 5vw, 40px);
	font-weight: 800;
	color: var(--pia-copper-lt);
	max-width: none;
	padding: 0;
}

.pia-promo-annual {
	margin: 4px 0 0;
	font-size: 13.5px;
	color: #c3c9ce;
	max-width: none;
	padding: 0;
}

.pia-promo-note {
	margin: 10px 0 16px;
	font-size: 11px;
	color: #7d848a;
	max-width: none;
	padding: 0;
}

.pia-promo-cta {
	display: inline-block;
	min-width: 200px;
	padding: 13px 26px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--pia-copper-lt);
	border: 1px solid var(--pia-copper-lt);
	transition: background 0.2s ease, color 0.2s ease;
}

.pia-promo-cta:hover {
	background: linear-gradient(135deg, #ffd9b8, #d97736);
	color: #16120a;
}

/* Divider separating the tiers from the add-on below them */
.pia-promo-split {
	max-width: 1180px;
	margin: 10px auto 30px;
	text-align: center;
}

.pia-promo-split hr {
	border: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(217, 119, 54, 0.55), transparent);
	margin: 0 0 16px;
}

.pia-promo-split span {
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #7d848a;
}

/* =========================================================================
   MEMBERSHIP ROW
   Four tiers, a hard divider marking the end of the ladder, then the add-on
   package beside them. The package is wider and framed differently so it is
   never mistaken for a fifth tier.
   ========================================================================= */

.pia-plans {
	display: grid;
	grid-template-columns: repeat(4, minmax(190px, 1fr));
	gap: 14px;
	align-items: stretch;
	max-width: 1460px;
	margin: 0 auto 26px;
	padding: 0 20px;
}

.pia-plans.has-addon {
	grid-template-columns: repeat(4, minmax(178px, 1fr)) 26px minmax(300px, 1.25fr);
}

/* The stopping point after Tier 4 */
.pia-plans-divider {
	display: flex;
	align-items: stretch;
	justify-content: center;
}

.pia-plans-divider span {
	width: 2px;
	border-radius: 2px;
	background: linear-gradient(180deg, transparent, rgba(217, 119, 54, 0.75) 18%,
		rgba(249, 192, 157, 0.9) 50%, rgba(217, 119, 54, 0.75) 82%, transparent);
	box-shadow: 0 0 14px rgba(217, 119, 54, 0.5);
}

.pia-plans-addon { display: flex; }
.pia-plans-addon .pia-promo { margin: 0; width: 100%; max-width: none; }

@media (max-width: 1400px) {
	.pia-plans,
	.pia-plans.has-addon { grid-template-columns: repeat(2, minmax(220px, 1fr)); max-width: 760px; }
	.pia-plans-divider { display: none; }
	.pia-plans-addon { grid-column: 1 / -1; margin-top: 8px; }
}

@media (max-width: 620px) {
	.pia-plans,
	.pia-plans.has-addon { grid-template-columns: 1fr; max-width: 430px; }
}

/* ---- The add-on, framed to stand apart --------------------------------- */

.pia-promo {
	padding: 0 0 26px;
	overflow: hidden;
	border-width: 2px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.7), 0 0 40px -14px rgba(217, 119, 54, 0.5);
}

.pia-promo-band {
	display: block;
	padding: 14px 18px 12px;
	background: linear-gradient(135deg, #ffd9b8, #d97736 55%, #8a4318);
	margin-bottom: 20px;
}

.pia-promo-band-title {
	display: block;
	font-family: "Sora", "Roboto", system-ui, sans-serif;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #16120a;
	line-height: 1.25;
}

.pia-promo-band-sub {
	display: block;
	margin-top: 5px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: #2b1c0c;
}

.pia-promo-kicker,
.pia-promo-title,
.pia-promo-sub,
.pia-promo-flag,
.pia-promo-calc,
.pia-promo-included,
.pia-promo-price,
.pia-promo-annual,
.pia-promo-note,
.pia-promo-cta {
	margin-left: 22px;
	margin-right: 22px;
}

.pia-promo-calc,
.pia-promo-included { margin-left: 22px; margin-right: 22px; }

/* =========================================================================
   BORDER AUDIT
   One frame for every box on the site: same width, same radius, same inner
   padding, so cards line up across the directory, the tiers and the ads no
   matter how much text is inside them.
   ========================================================================= */

:root {
	--pia-frame-radius: 16px;
	--pia-frame-width: 1px;
	--pia-frame-pad: 24px;
}

body.pia-dark .pia-card,
body.pia-dark .pia-tier,
body.pia-dark .pia-choice,
body.pia-dark .pia-compliance,
body.pia-dark .pia-faq-item,
body.pia-dark .pia-calc,
body.pia-dark .pia-house {
	border-radius: var(--pia-frame-radius);
}

/* Tier padding no longer varies by level, otherwise the rows sit unevenly. */
body.pia-dark .pia-card.pia-tier-1,
body.pia-dark .pia-card.pia-tier-2,
body.pia-dark .pia-card.pia-tier-3,
body.pia-dark .pia-card.pia-tier-4 {
	padding: var(--pia-frame-pad) 22px 20px;
}

body.pia-dark .pia-tier {
	padding: 26px 20px 22px;
}

/* Equal height everywhere a grid wraps, so the bottom edges line up. */
body.pia-dark .pia-grid-cards,
body.pia-dark .pia-elite-row,
body.pia-dark .pia-tiers,
body.pia-dark .pia-plans,
body.pia-dark .pia-choices {
	align-items: stretch;
}

body.pia-dark .pia-card,
body.pia-dark .pia-tier,
body.pia-dark .pia-choice {
	height: 100%;
}

/* Buttons pinned to the bottom so every card ends on the same line. */
body.pia-dark .pia-card-actions,
body.pia-dark .pia-tier .pia-btn,
body.pia-dark .pia-choice-sub {
	margin-top: auto;
}

/* Tier colour identifiers, one place, used by cards and by the table. */
body.pia-dark .pia-card.pia-tier-1,
body.pia-dark .pia-tier-card-1 { border-color: rgba(226, 232, 240, 0.14); }

body.pia-dark .pia-elite {
	border-bottom-width: 1px;
}

/* =========================================================================
   MEMBERSHIP LAYOUT v3
   Four tiers across one row, then the add-on full width beneath them, then
   the house ad. The old side-by-side dropped to two columns on a normal
   laptop, which is what made it read as 2 + 2 + a block.
   ========================================================================= */

.pia-plans,
.pia-plans.has-addon {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	max-width: 1400px;
	padding: 0 20px;
}

/* Divider and add-on now sit below the row, spanning its full width. */
.pia-plans.has-addon .pia-plans-divider {
	grid-column: 1 / -1;
	display: block;
	height: 2px;
	margin: 26px 0 4px;
	background: linear-gradient(90deg, transparent, rgba(217, 119, 54, 0.8) 22%,
		rgba(249, 192, 157, 0.95) 50%, rgba(217, 119, 54, 0.8) 78%, transparent);
	box-shadow: 0 0 16px rgba(217, 119, 54, 0.45);
}

.pia-plans-divider span { display: none; }

.pia-plans.has-addon .pia-plans-addon {
	grid-column: 1 / -1;
	display: block;
}

/* Four across on laptops, two on tablets, one on phones. */
@media (max-width: 1180px) {
	.pia-plans,
	.pia-plans.has-addon { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 800px; }
}

@media (max-width: 620px) {
	.pia-plans,
	.pia-plans.has-addon { grid-template-columns: 1fr; max-width: 440px; }
}

/* ---- Visible metal borders ---------------------------------------------
   The old edges were barely above the background on a dark screen, so the
   boxes read as floating text with no frame at all. */

body.pia-dark .pia-tier {
	border: 2px solid rgba(226, 232, 240, 0.3);
	background: linear-gradient(180deg, #121317, #08080a);
}

body.pia-dark .pia-tier-card-1 {
	border: 2px solid rgba(226, 232, 240, 0.32);
}

body.pia-dark .pia-tier-card-2 {
	border: 2px solid transparent;
	background: linear-gradient(180deg, #131519, #08080a) padding-box, var(--pia-silver) border-box;
}

body.pia-dark .pia-tier-card-3 {
	border: 2px solid transparent;
	background: linear-gradient(180deg, #15120f, #08080a) padding-box, var(--pia-bronze) border-box;
}

body.pia-dark .pia-tier-card-4 {
	border: 2px solid transparent;
	background: linear-gradient(180deg, #17140c, #08080a) padding-box, var(--pia-gold) border-box;
}

/* Same treatment on the directory cards so the whole site matches. */
body.pia-dark .pia-card.pia-tier-1 { border: 2px solid rgba(226, 232, 240, 0.28); }
body.pia-dark .pia-card.pia-tier-2,
body.pia-dark .pia-card.pia-tier-3,
body.pia-dark .pia-card.pia-tier-4 { border-width: 2px; }

body.pia-dark .pia-choice,
body.pia-dark .pia-compliance,
body.pia-dark .pia-calc { border-width: 2px; }

/* =========================================================================
   ADD-ON, FULL WIDTH
   Given the whole row it becomes a three column panel rather than a very
   tall narrow one, and the type comes up to match the extra space.
   ========================================================================= */

.pia-plans-addon .pia-promo {
	max-width: none;
	text-align: left;
}

.pia-plans-addon .pia-promo-band {
	text-align: center;
	padding: 16px 20px 14px;
}

.pia-plans-addon .pia-promo-band-title { font-size: 18px; letter-spacing: 0.2em; }
.pia-plans-addon .pia-promo-band-sub { font-size: 12.5px; }

.pia-plans-addon .pia-promo-head {
	text-align: center;
	padding: 0 24px;
}

.pia-plans-addon .pia-promo-title { font-size: clamp(30px, 4vw, 42px); }
.pia-plans-addon .pia-promo-sub { font-size: 15px; }
.pia-plans-addon .pia-promo-flag { font-size: 13px; }

.pia-plans-addon .pia-promo-grid {
	display: grid;
	grid-template-columns: 1.05fr 1fr 0.9fr;
	gap: 24px;
	align-items: start;
	padding: 22px 24px 0;
}

.pia-plans-addon .pia-promo-calc,
.pia-plans-addon .pia-promo-included {
	margin: 0;
	height: 100%;
}

.pia-plans-addon .pia-promo-included {
	border-top: 0;
	padding-top: 0;
}

.pia-plans-addon .pia-promo-included-head { margin-top: 0; font-size: 14px; }
.pia-plans-addon .pia-promo-included li { font-size: 14.5px; }
.pia-plans-addon .pia-promo-calc li { font-size: 15px; }
.pia-plans-addon .pia-promo-loss { font-size: clamp(21px, 2.4vw, 27px); }
.pia-plans-addon .pia-promo-line { font-size: 14px; }

.pia-plans-addon .pia-promo-buy {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	text-align: center;
	height: 100%;
	padding: 18px;
	border: 2px solid rgba(217, 119, 54, 0.45);
	border-radius: 14px;
	background: rgba(217, 119, 54, 0.06);
}

.pia-plans-addon .pia-promo-price { margin: 0; font-size: clamp(34px, 4vw, 46px); }
.pia-plans-addon .pia-promo-annual { margin: 0; font-size: 14px; }
.pia-plans-addon .pia-promo-note { margin: 4px 0 12px; font-size: 12px; }
.pia-plans-addon .pia-promo-cta { margin: 0; font-size: 13px; padding: 15px 30px; }

@media (max-width: 980px) {
	.pia-plans-addon .pia-promo-grid { grid-template-columns: 1fr; }
	.pia-plans-addon .pia-promo { text-align: center; }
	.pia-plans-addon .pia-promo-included { text-align: left; }
}

/* House ad sits under the package on the membership page. */
.pia-plans + .pia-house,
.pia-tiers-note + .pia-house {
	margin-top: 8px;
}
