/* =========================================================
   KTP Species Profile - ktp-sp-*
   Loaded on /birds/{species}/ routes only.
   Parity-first article shell with sticky sidebar.
   ========================================================= */

.ktp-sp-header {
	background:
		linear-gradient(180deg, rgba(19, 39, 31, 0.08), rgba(19, 39, 31, 0.02)),
		var(--ktp-sand);
	border-bottom: 1px solid rgba(45, 74, 62, 0.12);
	padding: 34px 24px 30px;
}

.ktp-sp-header-inner {
	max-width: 1180px;
	margin: 0 auto;
}

.ktp-sp-header-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: end;
	gap: 28px;
}

.ktp-sp-header-grid--with-media {
	grid-template-columns: minmax(0, 1.34fr) minmax(300px, 0.82fr);
}

.ktp-sp-header-copy {
	min-width: 0;
	max-width: 760px;
}

.ktp-sp-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 18px;
}

.ktp-sp-iucn-badge,
.ktp-sp-state-badge {
	display: inline-flex;
	align-items: center;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	font-family: var(--ktp-sans);
	border: 1px solid;
}

.ktp-sp-iucn-badge {
	background: rgba(45, 74, 62, 0.08);
	color: var(--ktp-canopy);
	border-color: rgba(45, 74, 62, 0.14);
}

.ktp-sp-iucn-badge.ktp-sp-iucn-vu {
	background: rgba(196, 112, 43, 0.1);
	color: #7a3e10;
	border-color: rgba(196, 112, 43, 0.22);
}

.ktp-sp-iucn-badge.ktp-sp-iucn-en,
.ktp-sp-iucn-badge.ktp-sp-iucn-cr {
	background: rgba(180, 40, 40, 0.1);
	color: #7a1a1a;
	border-color: rgba(180, 40, 40, 0.18);
}

.ktp-sp-state-badge {
	background: rgba(196, 112, 43, 0.08);
	color: #6b3f14;
	border-color: rgba(196, 112, 43, 0.18);
}

.ktp-sp-title {
	font-family: var(--ktp-serif);
	font-size: clamp(38px, 6vw, 56px);
	font-weight: 700;
	color: var(--ktp-forest);
	margin: 0 0 6px;
	line-height: 1.04;
	letter-spacing: -1px;
	max-width: none;
}

.ktp-sp-sci {
	font-family: var(--ktp-serif);
	font-size: 18px;
	font-style: italic;
	color: var(--ktp-canopy);
	margin-bottom: 14px;
}

.ktp-sp-byline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	font-family: var(--ktp-sans);
	font-size: 13px;
	color: var(--ktp-stone);
	margin-bottom: 18px;
}

.ktp-sp-byline-sep,
.ktp-sp-taxon-sep {
	color: rgba(45, 74, 62, 0.32);
}

.ktp-sp-glance-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	max-width: 860px;
}

.ktp-sp-glance-pill {
	padding: 14px 16px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(45, 74, 62, 0.09);
	backdrop-filter: blur(8px);
}

.ktp-sp-glance-pill__value {
	display: block;
	font-family: var(--ktp-serif);
	font-size: 18px;
	font-weight: 700;
	color: var(--ktp-forest);
	line-height: 1.2;
}

.ktp-sp-glance-pill__label {
	display: block;
	margin-top: 4px;
	font-family: var(--ktp-sans);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--ktp-stone);
}

.ktp-sp-article {
	max-width: 1120px;
	margin: 0 auto;
	padding: 34px 24px 72px;
}

.ktp-sp-hero-media {
	margin: 0;
	min-height: 360px;
	border-radius: 26px;
	overflow: hidden;
	background:
		radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.46), transparent 34%),
		linear-gradient(160deg, rgba(45, 74, 62, 0.1), rgba(45, 74, 62, 0.03));
	border: 1px solid rgba(45, 74, 62, 0.12);
	box-shadow: 0 24px 46px rgba(45, 74, 62, 0.12);
}

.ktp-sp-hero-media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 360px;
	object-fit: cover;
	object-position: center 30%;
}

.ktp-sp-shell {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 26px;
}

.ktp-sp-main {
	min-width: 0;
	max-width: 760px;
}

.ktp-sp-sidebar {
	display: grid;
	grid-template-columns: 1.25fr .9fr 1.1fr;
	gap: 14px;
	align-items: start;
}

.ktp-sp-section {
	margin-top: 44px;
}

.ktp-sp-section:first-child {
	margin-top: 0;
}

.ktp-sp-section h2,
.ktp-sp-block-head h2,
.ktp-sp-quick-answer__title,
.ktp-sp-toc__title {
	font-family: var(--ktp-serif);
	color: var(--ktp-forest);
	letter-spacing: -0.4px;
	line-height: 1.12;
}

.ktp-sp-block-head {
	display: grid;
	gap: 8px;
	margin-bottom: 18px;
}

.ktp-sp-section-kicker,
.ktp-sp-toc__eyebrow,
.ktp-sp-reader-card__eyebrow,
.ktp-sp-id-card__label,
.ktp-sp-side-card__label,
.ktp-sp-more__label,
.ktp-sp-callout__label {
	margin: 0;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.2px;
	font-family: var(--ktp-sans);
	color: var(--ktp-stone);
}

.ktp-sp-block-head h2,
.ktp-sp-article .ktp-sp-section > h2 {
	margin: 0;
	font-size: 32px;
}

.ktp-sp-article p,
.ktp-faq-item__answer {
	font-family: var(--ktp-sans);
	font-size: 18px;
	line-height: 1.78;
	color: var(--ktp-ink);
	margin: 0 0 1.4em;
}

.ktp-sp-article p a,
.ktp-faq-item__answer a {
	color: var(--ktp-canopy);
	text-decoration: none;
	border-bottom: 1px solid rgba(74, 124, 92, 0.28);
}

.ktp-sp-article p a:hover,
.ktp-faq-item__answer a:hover {
	border-bottom-color: rgba(74, 124, 92, 0.6);
}

.ktp-sp-editorial-bridge {
	margin: 14px 0 0 !important;
	padding: 14px 16px;
	border-radius: 12px;
	background: rgba(45, 74, 62, 0.04);
	border: 1px solid rgba(45, 74, 62, 0.08);
	font-size: 16px !important;
	line-height: 1.66 !important;
	color: var(--ktp-bark) !important;
}

.ktp-sp-quick-answer,
.ktp-sp-reader-paths,
.ktp-sp-toc {
	margin-bottom: 24px;
	border-radius: 16px;
	border: 1px solid rgba(45, 74, 62, 0.09);
	background: #fff;
}

.ktp-sp-quick-answer {
	padding: 24px 24px 22px;
	background:
		radial-gradient(circle at top right, rgba(196, 112, 43, 0.11), transparent 35%),
		linear-gradient(180deg, rgba(45, 74, 62, 0.05), rgba(45, 74, 62, 0.015));
}

.ktp-sp-quick-answer__title {
	margin: 4px 0 14px;
	font-size: 27px;
	max-width: 20ch;
}

.ktp-sp-quick-answer__text {
	font-family: var(--ktp-serif) !important;
	font-size: 19px !important;
	line-height: 1.58 !important;
	color: var(--ktp-forest) !important;
	margin: 0 !important;
	max-width: 42ch;
}

.ktp-sp-reader-paths {
	padding: 20px 20px 22px;
}

.ktp-sp-reader-paths__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.ktp-sp-reader-card,
.ktp-sp-compare-card,
.ktp-sp-state-card,
.ktp-sp-more-card {
	display: block;
	text-decoration: none;
	color: inherit;
}

.ktp-sp-reader-card {
	padding: 16px 16px 15px;
	border-radius: 14px;
	background: linear-gradient(180deg, rgba(45, 74, 62, 0.04), rgba(45, 74, 62, 0.015));
	border: 1px solid rgba(45, 74, 62, 0.09);
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.ktp-sp-reader-card strong,
.ktp-sp-compare-card strong,
.ktp-sp-state-card strong,
.ktp-sp-more-card strong {
	display: block;
	font-family: var(--ktp-serif);
	font-size: 18px;
	font-weight: 700;
	color: var(--ktp-forest);
	line-height: 1.25;
}

.ktp-sp-reader-card span:last-child,
.ktp-sp-compare-card span,
.ktp-sp-state-bird-intro {
	display: block;
	margin-top: 8px;
	font-family: var(--ktp-sans);
	font-size: 14px;
	line-height: 1.6;
	color: var(--ktp-bark);
}

.ktp-sp-reader-card:hover,
.ktp-sp-compare-card:hover,
.ktp-sp-state-card:hover,
.ktp-sp-more-card:hover {
	transform: translateY(-1px);
	box-shadow: 0 14px 28px rgba(45, 74, 62, 0.08);
	border-color: rgba(74, 124, 92, 0.36);
}

.ktp-sp-toc {
	padding: 14px 0 6px;
	background: transparent;
	border: 0;
	border-radius: 0;
}

.ktp-sp-toc__inner {
	max-width: 720px;
}

.ktp-sp-toc__header {
	display: grid;
	gap: 6px;
	margin-bottom: 16px;
	padding: 0 2px;
}

.ktp-sp-toc__title {
	margin: 0 !important;
	font-size: 24px !important;
}

.ktp-sp-toc__list {
	list-style: none;
	counter-reset: item;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	margin: 0;
	padding: 0;
	border-top: 1px solid rgba(45, 74, 62, 0.12);
}

.ktp-sp-toc__list li {
	margin: 0;
	border-bottom: 1px solid rgba(45, 74, 62, 0.08);
}

.ktp-sp-toc__list a {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	align-items: start;
	gap: 12px;
	padding: 14px 2px;
	background: transparent;
	border: 0;
	border-radius: 0;
	text-decoration: none;
	color: var(--ktp-forest);
	font-family: var(--ktp-sans);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.45;
	transition: color .15s ease, transform .15s ease;
}

.ktp-sp-toc__list a::before {
	content: counter(item, decimal-leading-zero);
	counter-increment: item;
	font-family: var(--ktp-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: rgba(45, 74, 62, 0.44);
}

.ktp-sp-toc__list a:hover {
	color: var(--ktp-canopy);
	transform: translateY(-1px);
}

.ktp-sp-taxon-strip {
	font-family: var(--ktp-sans);
	font-size: 12px;
	color: var(--ktp-stone);
	margin: 6px 0 30px;
	line-height: 1.9;
}

.ktp-sp-taxon-key {
	font-weight: 700;
	color: var(--ktp-canopy);
}

.ktp-sp-taxon-strip em,
.ktp-sp-more-card em {
	font-style: italic;
	color: var(--ktp-ink);
}

.ktp-sp-id-grid,
.ktp-sp-compare-grid,
.ktp-sp-state-grid,
.ktp-sp-more-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 20px;
}

.ktp-sp-id-card,
.ktp-sp-compare-card,
.ktp-sp-state-card,
.ktp-sp-side-card {
	padding: 16px;
	border-radius: 14px;
	border: 1px solid rgba(45, 74, 62, 0.09);
	background: #fff;
}

.ktp-sp-id-card {
	background: rgba(245, 240, 232, 0.45);
}

.ktp-sp-id-card p {
	font-size: 15px !important;
	line-height: 1.72 !important;
	margin: 8px 0 0 !important;
	color: var(--ktp-bark) !important;
}

.ktp-sp-callout {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 16px 18px;
	border-radius: 10px;
	margin: 8px 0 0;
	border-left: 3px solid;
}

.ktp-sp-callout p {
	font-size: 14px !important;
	line-height: 1.65 !important;
	margin: 0 !important;
}

.ktp-sp-callout--tip {
	background: rgba(74, 124, 92, 0.06);
	border-color: var(--ktp-canopy);
}

.ktp-sp-callout--tip .ktp-sp-callout__label {
	color: var(--ktp-canopy);
}

.ktp-sp-callout--feeder {
	background: rgba(196, 112, 43, 0.06);
	border-color: var(--ktp-amber);
}

.ktp-sp-callout--feeder .ktp-sp-callout__label {
	color: var(--ktp-amber);
}

.ktp-sp-stats-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 0 0 20px;
}

.ktp-sp-stat-cell {
	background: rgba(139, 175, 126, 0.14);
	border-radius: 12px;
	padding: 16px 10px;
	text-align: center;
}

.ktp-sp-stat-value {
	display: block;
	font-size: 24px;
	font-weight: 600;
	color: var(--ktp-forest);
	font-family: var(--ktp-mono);
}

.ktp-sp-stat-unit,
.ktp-sp-stat-label {
	display: block;
	font-family: var(--ktp-sans);
}

.ktp-sp-stat-unit {
	font-size: 11px;
	color: var(--ktp-stone);
	margin-top: 2px;
}

.ktp-sp-stat-label {
	font-size: 11px;
	font-weight: 700;
	color: var(--ktp-canopy);
	margin-top: 5px;
}

.ktp-sp-compare-card {
	border-color: rgba(196, 112, 43, 0.14);
	background: rgba(196, 112, 43, 0.03);
}

.ktp-sp-iucn-panel {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px;
	border-radius: 12px;
	background: rgba(29, 122, 110, 0.07);
	margin-bottom: 20px;
}

.ktp-sp-iucn-panel--vu {
	background: rgba(196, 112, 43, 0.08);
}

.ktp-sp-iucn-panel--en,
.ktp-sp-iucn-panel--cr {
	background: rgba(180, 40, 40, 0.08);
}

.ktp-sp-iucn-panel-badge {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #1d7a6e;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	font-family: var(--ktp-mono);
	flex-shrink: 0;
}

.ktp-sp-iucn-panel--vu .ktp-sp-iucn-panel-badge {
	background: var(--ktp-amber);
}

.ktp-sp-iucn-panel--en .ktp-sp-iucn-panel-badge,
.ktp-sp-iucn-panel--cr .ktp-sp-iucn-panel-badge {
	background: #b42828;
}

.ktp-sp-iucn-panel-text strong {
	display: block;
	font-size: 15px;
	font-weight: 700;
	color: var(--ktp-forest);
	font-family: var(--ktp-sans);
}

.ktp-sp-iucn-panel-text span {
	font-size: 13px;
	color: #1d7a6e;
	font-family: var(--ktp-sans);
}

.ktp-sp-state-card {
	background: rgba(45, 74, 62, 0.03);
}

.ktp-sp-state-card__abbr {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: rgba(45, 74, 62, 0.08);
	color: var(--ktp-canopy);
	font-family: var(--ktp-mono);
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 12px;
}

.ktp-sp-qf {
	background: #faf8f4;
	border: 1px solid rgba(45, 74, 62, 0.12);
	border-radius: 14px;
	overflow: hidden;
	height: 100%;
}

.ktp-sp-qf-header {
	background: var(--ktp-forest);
	padding: 11px 16px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.ktp-sp-qf-label {
	font-size: 11px;
	font-weight: 700;
	color: #8baf7e;
	text-transform: uppercase;
	letter-spacing: 1.2px;
	font-family: var(--ktp-sans);
}

.ktp-sp-qf-iucn {
	font-size: 11px;
	font-weight: 700;
	color: #b0e8e0;
	font-family: var(--ktp-sans);
	background: rgba(255, 255, 255, 0.12);
	padding: 4px 10px;
	border-radius: 999px;
}

.ktp-sp-qf-iucn--vu {
	color: #f5c09a;
	background: rgba(196, 112, 43, 0.25);
}

.ktp-sp-qf-iucn--en,
.ktp-sp-qf-iucn--cr {
	color: #f5b0b0;
	background: rgba(180, 40, 40, 0.25);
}

.ktp-sp-qf-grid {
	padding: 0 16px;
}

.ktp-sp-qf-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 11px 0;
	border-bottom: 1px solid rgba(45, 74, 62, 0.07);
	font-family: var(--ktp-sans);
	font-size: 14px;
}

.ktp-sp-qf-row:last-child {
	border-bottom: 0;
}

.ktp-sp-qf-key {
	color: var(--ktp-stone);
}

.ktp-sp-qf-val {
	color: var(--ktp-ink);
	font-weight: 700;
	font-family: var(--ktp-mono);
	font-size: 13px;
	text-align: right;
}

.ktp-sp-qf-traits {
	padding: 10px 16px 14px;
	border-top: 1px solid rgba(45, 74, 62, 0.08);
	display: grid;
	gap: 9px;
}

.ktp-sp-qf-trait {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	font-family: var(--ktp-sans);
	font-size: 12px;
	color: var(--ktp-stone);
}

.ktp-sp-dots {
	display: flex;
	gap: 3px;
	flex-shrink: 0;
}

.ktp-sp-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: rgba(74, 124, 92, 0.18);
}

.ktp-sp-dot--on {
	background: var(--ktp-canopy);
}

.ktp-sp-side-card__sub {
	font-family: var(--ktp-sans) !important;
	font-size: 12px !important;
	line-height: 1.5 !important;
	color: var(--ktp-stone) !important;
	margin: 6px 0 12px !important;
}

.ktp-sp-taxonomy-list {
	display: grid;
	gap: 10px;
}

.ktp-sp-taxonomy-row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-family: var(--ktp-sans);
	font-size: 13px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(45, 74, 62, 0.08);
}

.ktp-sp-taxonomy-row:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.ktp-sp-taxonomy-row span {
	color: var(--ktp-stone);
}

.ktp-sp-taxonomy-row strong {
	font-family: var(--ktp-serif);
	font-size: 14px;
	font-weight: 600;
	color: var(--ktp-forest);
	text-align: right;
}

.ktp-sp-freq-chart {
	display: flex;
	align-items: flex-end;
	gap: 4px;
	height: 108px;
	padding-top: 18px;
	padding-bottom: 22px;
	position: relative;
}

.ktp-sp-freq-col {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
}

.ktp-sp-freq-val {
	position: absolute;
	top: 0;
	font-size: 8px;
	font-family: var(--ktp-mono);
	color: var(--ktp-stone);
}

.ktp-sp-freq-bar {
	width: 100%;
	max-width: 18px;
	min-height: 2px;
	margin-top: auto;
	background: rgba(139, 175, 126, 0.32);
	border-radius: 3px 3px 0 0;
}

.ktp-sp-freq-bar--peak {
	background: var(--ktp-canopy);
}

.ktp-sp-freq-month {
	position: absolute;
	bottom: -16px;
	font-size: 8px;
	font-family: var(--ktp-mono);
	color: var(--ktp-stone);
}

.ktp-sp-freq-caption {
	font-size: 12px !important;
	line-height: 1.55 !important;
	color: var(--ktp-stone) !important;
	margin: 10px 0 0 !important;
}

.ktp-sp-listen-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 12px;
	font-size: 13px;
	font-weight: 600;
	color: var(--ktp-canopy);
	font-family: var(--ktp-sans);
	text-decoration: none;
}

.ktp-sp-listen-link:hover {
	text-decoration: underline;
}

.ktp-faq-list {
	display: grid;
	gap: 0;
}

.ktp-faq-item {
	padding: 16px 0;
	border-bottom: 1px solid rgba(45, 74, 62, 0.1);
}

.ktp-faq-item:last-child {
	border-bottom: 0;
}

.ktp-faq-item__question {
	margin: 0 0 8px;
	font-family: var(--ktp-serif);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--ktp-forest);
}

.ktp-faq-item__answer {
	margin: 0;
}

.ktp-sp-more {
	margin-top: 52px;
	padding-top: 24px;
	border-top: 2px solid rgba(45, 74, 62, 0.1);
}

.ktp-sp-more-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ktp-sp-more-card {
	padding: 18px;
	background: #fff;
	border-radius: 14px;
	border: 1px solid rgba(45, 74, 62, 0.1);
}

.ktp-sp-more-card em {
	display: block;
	margin-top: 4px;
	font-size: 12px;
}

.ktp-sp-more-card p {
	font-size: 14px !important;
	line-height: 1.65 !important;
	color: var(--ktp-bark) !important;
	margin: 10px 0 0 !important;
}

@media (max-width: 1080px) {
	.ktp-sp-sidebar {
		position: static;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 820px) {
	.ktp-sp-glance-strip,
	.ktp-sp-reader-paths__grid,
	.ktp-sp-toc__list,
	.ktp-sp-id-grid,
	.ktp-sp-compare-grid,
	.ktp-sp-state-grid,
	.ktp-sp-more-grid,
	.ktp-sp-sidebar {
		grid-template-columns: minmax(0, 1fr);
	}

	.ktp-sp-stats-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ktp-sp-title {
		max-width: 100%;
	}

	.ktp-sp-quick-answer__title {
		max-width: 100%;
	}
}

@media (max-width: 640px) {
	.ktp-sp-header,
	.ktp-sp-article {
		padding-left: 18px;
		padding-right: 18px;
	}

	.ktp-sp-header {
		padding-top: 28px;
		padding-bottom: 24px;
	}

	.ktp-sp-quick-answer,
	.ktp-sp-reader-paths,
	.ktp-sp-toc,
	.ktp-sp-id-card,
	.ktp-sp-compare-card,
	.ktp-sp-state-card,
	.ktp-sp-side-card,
	.ktp-sp-more-card {
		border-radius: 12px;
	}

	.ktp-sp-quick-answer__text {
		font-size: 19px !important;
	}

	.ktp-sp-block-head h2,
	.ktp-sp-article .ktp-sp-section > h2 {
		font-size: 26px;
	}

	.ktp-sp-article p,
	.ktp-faq-item__answer {
		font-size: 16px;
		line-height: 1.76;
	}
}

/* Article-first parity shell */
.ktp-species-article {
	background: linear-gradient(180deg, rgba(245, 240, 232, 0.55), rgba(255, 255, 255, 0) 180px);
}

.ktp-article-header,
.ktp-sp-header {
	padding-top: 40px;
}

.ktp-article-dek,
.ktp-sp-dek {
	max-width: 48ch;
	margin: 0 0 18px;
	font-family: var(--ktp-sans);
	font-size: 18px;
	line-height: 1.68;
	color: var(--ktp-bark);
}

.ktp-article-shell,
.ktp-sp-shell {
	display: grid;
	grid-template-columns: minmax(0, 860px);
	justify-content: center;
	gap: 26px;
	align-items: start;
}

.ktp-article-main,
.ktp-sp-main {
	min-width: 0;
	max-width: 860px;
}

.ktp-article-rail,
.ktp-sp-sidebar {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	align-self: start;
	position: static;
	max-width: 860px;
}

.ktp-article-section,
.ktp-sp-section {
	margin-top: 44px;
}

.ktp-article-section:first-child,
.ktp-sp-section:first-child {
	margin-top: 0;
}

.ktp-article-quick-answer,
.ktp-article-toc,
.ktp-article-comparisons,
.ktp-article-next {
	border-radius: 16px;
	border: 1px solid rgba(45, 74, 62, 0.09);
	background: #fff;
}

.ktp-article-comparisons,
.ktp-article-next {
	padding: 20px;
	grid-column: 1 / -1;
}

.ktp-article-prose a {
	color: var(--ktp-canopy);
	text-decoration: none;
	border-bottom: 1px solid rgba(74, 124, 92, 0.28);
}

.ktp-article-prose a:hover {
	border-bottom-color: rgba(74, 124, 92, 0.6);
}

.ktp-article-facts,
.ktp-sp-qf {
	border-radius: 14px;
}

.ktp-sp-search-intent {
	margin: 0 0 30px;
	font-family: var(--ktp-sans);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--ktp-stone);
}

.ktp-sp-next-grid,
.ktp-sp-state-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.ktp-sp-compare-list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
}

.ktp-sp-next-grid {
	grid-template-columns: minmax(0, 1fr);
}

.ktp-sp-compare-list,
.ktp-sp-state-list {
	margin: 0;
}

.ktp-sp-rail-card {
	padding: 16px;
	border-radius: 14px;
	border: 1px solid rgba(45, 74, 62, 0.09);
	background: #fff;
}

.ktp-article-facts {
	grid-column: 1 / -1;
}

.ktp-sp-rail-card__label,
.ktp-sp-rail-card__sub {
	font-family: var(--ktp-sans);
}

.ktp-sp-rail-card__label {
	margin: 0 0 8px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.2px;
	color: var(--ktp-stone);
}

.ktp-sp-rail-card__sub {
	font-size: 12px;
	line-height: 1.5;
	color: var(--ktp-stone);
	margin: -4px 0 14px;
}

.ktp-sp-attrs {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 18px;
}

.ktp-sp-attrs__pill {
	padding: 16px 14px;
	border-radius: 14px;
	background: #fff;
	border: 1px solid rgba(45, 74, 62, 0.09);
}

.ktp-sp-attrs__pill-label {
	display: block;
	margin-bottom: 6px;
	font-family: var(--ktp-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.1px;
	text-transform: uppercase;
	color: var(--ktp-stone);
}

.ktp-sp-attrs__pill-value {
	display: block;
	font-family: var(--ktp-sans);
	font-size: 15px;
	line-height: 1.55;
	color: var(--ktp-ink);
}

@media (max-width: 820px) {
	.ktp-sp-toc__list,
	.ktp-sp-id-grid,
	.ktp-sp-attrs,
	.ktp-sp-state-list,
	.ktp-sp-more-grid,
	.ktp-article-rail,
	.ktp-sp-sidebar {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 640px) {
	.ktp-article-quick-answer,
	.ktp-article-toc,
	.ktp-article-comparisons,
	.ktp-article-next,
	.ktp-sp-id-card,
	.ktp-sp-compare-card,
	.ktp-sp-state-card,
	.ktp-sp-rail-card,
	.ktp-sp-more-card {
		border-radius: 12px;
	}
}

/* 2026-04-30 article parity correction */
.ktp-sp-article {
	max-width: 1100px;
}

.ktp-sp-shell {
	grid-template-columns: minmax(0, 860px);
	justify-content: center;
}

.ktp-sp-main {
	max-width: 860px;
}

.ktp-sp-sidebar {
	display: none;
}

.ktp-sp-title,
.ktp-sp-sci,
.ktp-sp-article h2,
.ktp-sp-article h3,
.ktp-sp-toc__title {
	font-family: var(--ktp-article-heading-family);
}

.ktp-sp-block-head h2,
.ktp-sp-article .ktp-sp-section > h2 {
	font-size: clamp(30px, 4vw, var(--ktp-article-h2-size));
	line-height: 1.03;
	max-width: 19ch;
}

.ktp-sp-article p,
.ktp-faq-item__answer,
.ktp-sp-state-bird-intro,
.ktp-sp-reader-card span:last-child,
.ktp-sp-compare-card span,
.ktp-sp-info-card__sub {
	font-family: var(--ktp-article-body-family);
	font-size: var(--ktp-article-body-size) !important;
	line-height: var(--ktp-article-body-leading) !important;
}

.ktp-sp-article p + p {
	margin-top: -0.18em;
}

.ktp-sp-article strong,
.ktp-sp-scan-list strong {
	font-weight: 800;
	color: var(--ktp-forest);
}

.ktp-sp-quick-answer {
	padding: 0;
	max-width: 860px;
	background: transparent;
	border: 0;
	border-radius: 0;
}

.ktp-sp-quick-answer__body {
	max-width: 650px;
	padding: 18px 22px 18px 20px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 243, 236, 0.94));
	border: 1px solid rgba(45, 74, 62, 0.08);
	border-left: 3px solid rgba(196, 112, 43, 0.62);
	border-radius: 16px;
	box-shadow: 0 18px 28px rgba(45, 74, 62, 0.05);
}

.ktp-sp-quick-answer__text {
	font-family: var(--ktp-article-body-family) !important;
	font-size: 19px !important;
	line-height: 1.68 !important;
	color: var(--ktp-bark) !important;
	max-width: 42ch;
	margin: 0;
}

.ktp-sp-toc {
	max-width: 860px;
}

.ktp-sp-facts-strip {
	padding: 14px 20px 12px;
	max-width: 860px;
	background: linear-gradient(180deg, rgba(250, 247, 240, 0.96), rgba(255, 255, 255, 0.88));
	border: 1px solid rgba(45, 74, 62, 0.08);
	border-radius: 18px;
}

.ktp-sp-facts-strip__list {
	margin: 10px 0 0;
	padding: 0;
}

.ktp-sp-facts-strip__item {
	display: grid;
	grid-template-columns: minmax(0, 190px) minmax(0, 1fr);
	gap: 14px;
	padding: 13px 0;
	border-top: 1px solid rgba(45, 74, 62, 0.1);
}

.ktp-sp-facts-strip__item:first-child {
	border-top: 0;
	padding-top: 6px;
}

.ktp-sp-facts-strip__item dt,
.ktp-sp-facts-strip__item dd {
	margin: 0;
}

.ktp-sp-facts-strip__label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--ktp-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--ktp-stone);
}

.ktp-sp-facts-strip__item dd {
	font-family: var(--ktp-article-body-family);
	font-size: 17px;
	line-height: 1.55;
	color: var(--ktp-ink);
}

.ktp-sp-info-strip {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 0 0 30px;
}

.ktp-sp-info-card {
	background: #fff;
	border: 1px solid rgba(45, 74, 62, 0.1);
	border-radius: 16px;
	padding: 18px 18px 16px;
}

.ktp-sp-info-card__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 14px;
}

.ktp-sp-info-card__title-wrap {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.ktp-sp-info-card__title-wrap img,
.ktp-sp-link-card__icon img,
.ktp-sp-callout > img {
	flex: 0 0 auto;
	opacity: 0.92;
}

.ktp-sp-info-card__kicker {
	margin: 0 0 2px !important;
	font-size: 11px !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.15px;
	color: var(--ktp-stone) !important;
}

.ktp-sp-info-card__title {
	margin: 0 !important;
	font-size: 24px !important;
	line-height: 1.08 !important;
	max-width: 12ch;
}

.ktp-sp-info-card__badge {
	display: inline-flex;
	align-items: center;
	padding: 5px 10px;
	border-radius: 999px;
	background: rgba(45, 74, 62, 0.07);
	font-size: 11px;
	font-weight: 700;
	color: var(--ktp-canopy);
}

.ktp-sp-info-facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 12px;
}

.ktp-sp-info-fact {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding-top: 8px;
	border-top: 1px solid rgba(45, 74, 62, 0.08);
}

.ktp-sp-info-fact__icon {
	display: inline-flex;
	width: 28px;
	height: 28px;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	background: rgba(45, 74, 62, 0.06);
}

.ktp-sp-info-fact__copy {
	display: grid;
	gap: 2px;
}

.ktp-sp-info-fact__label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--ktp-stone);
}

.ktp-sp-info-fact__copy strong {
	font-size: 17px;
	line-height: 1.25;
}

.ktp-sp-info-card__sub {
	margin: 0 0 12px !important;
	font-size: 13px !important;
	color: var(--ktp-stone) !important;
}

.ktp-sp-scan-list {
	list-style: none;
	display: grid;
	gap: 10px;
	margin: 0 0 20px;
	padding: 0;
}

.ktp-sp-scan-list li {
	position: relative;
	padding: 12px 14px 12px 42px;
	border: 1px solid rgba(45, 74, 62, 0.09);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.86);
	font-size: 18px;
	line-height: 1.6;
	color: var(--ktp-bark);
}

.ktp-sp-scan-list li::before {
	content: "";
	position: absolute;
	left: 14px;
	top: 15px;
	width: 14px;
	height: 14px;
	border-radius: 4px;
	background: linear-gradient(180deg, rgba(74, 124, 92, 0.85), rgba(45, 74, 62, 0.95));
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.32);
}

.ktp-bird-profile .ktp-sp-inline-media {
	display: grid;
	gap: 22px;
	margin: 24px 0 28px;
}

.ktp-bird-profile .ktp-sp-inline-figure {
	margin: 0;
	padding-top: 16px;
	border-top: 1px solid rgba(45, 74, 62, 0.12);
}

.ktp-bird-profile .ktp-sp-inline-figure img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
	background: #f3ede2;
}

.ktp-bird-profile .ktp-sp-inline-figure figcaption {
	display: grid;
	gap: 6px;
	margin-top: 10px;
}

.ktp-bird-profile .ktp-sp-inline-figure__caption {
	font-size: 17px;
	line-height: 1.6;
	color: var(--ktp-bark);
}

.ktp-bird-profile .ktp-sp-inline-figure__credit {
	font-size: 13px;
	line-height: 1.5;
	color: var(--ktp-stone);
}

.ktp-sp-callout {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px 18px;
	margin: 8px 0 18px;
	border-left-width: 0;
	border: 1px solid rgba(45, 74, 62, 0.1);
	border-radius: 14px;
}

.ktp-sp-callout__body {
	display: grid;
	gap: 6px;
}

.ktp-sp-callout p {
	font-size: 16px !important;
	line-height: 1.64 !important;
}

.ktp-sp-compare-list,
.ktp-sp-next-grid,
.ktp-sp-state-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 14px;
}

.ktp-sp-reader-card,
.ktp-sp-compare-card,
.ktp-sp-state-card {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px;
	border-radius: 14px;
	border: 1px solid rgba(45, 74, 62, 0.1);
	background: #fff;
}

.ktp-sp-link-card__icon {
	display: inline-flex;
	width: 34px;
	height: 34px;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: rgba(45, 74, 62, 0.07);
	flex: 0 0 auto;
}

.ktp-sp-link-card__copy {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.ktp-sp-reader-card strong,
.ktp-sp-compare-card strong,
.ktp-sp-state-card strong {
	font-size: 20px;
	line-height: 1.15;
}

.ktp-sp-reader-card__eyebrow,
.ktp-sp-state-card__abbr {
	display: inline-block;
	margin: 0;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--ktp-stone);
}

.ktp-sp-state-card__abbr {
	padding: 0;
	width: auto;
	height: auto;
	background: transparent;
	margin-bottom: 2px;
}

.ktp-sp-iucn-panel {
	margin-top: 18px;
}

.ktp-faq-item {
	padding: 16px 0;
	border-top: 1px solid rgba(45, 74, 62, 0.08);
}

.ktp-faq-item__question {
	margin: 0 0 8px;
	font-size: clamp(22px, 3vw, var(--ktp-article-h3-size));
	line-height: 1.15;
}

@media (max-width: 980px) {
	.ktp-sp-info-strip,
	.ktp-sp-compare-list,
	.ktp-sp-next-grid,
	.ktp-sp-state-list {
		grid-template-columns: 1fr;
	}

	.ktp-sp-info-facts {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 720px) {
	.ktp-sp-article {
		padding: 28px 18px 64px;
	}

	.ktp-sp-header-grid--with-media {
		grid-template-columns: minmax(0, 1fr);
	}

	.ktp-sp-hero-media {
		min-height: 260px;
		order: -1;
	}

	.ktp-sp-hero-media img {
		min-height: 260px;
	}

	.ktp-sp-article p,
	.ktp-faq-item__answer,
	.ktp-sp-scan-list li {
		font-size: 18px !important;
	}

	.ktp-sp-glance-strip,
	.ktp-sp-toc__list {
		grid-template-columns: 1fr;
	}
}

/* 2026-04-30 width cleanup */
.ktp-sp-article {
	max-width: 1180px;
}

.ktp-sp-shell,
.ktp-sp-main,
.ktp-sp-quick-answer,
.ktp-sp-toc,
.ktp-sp-info-strip,
.ktp-article-section,
.ktp-article-comparisons,
.ktp-article-next {
	max-width: 880px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.ktp-sp-shell {
	grid-template-columns: minmax(0, 880px);
}

.ktp-sp-info-strip,
.ktp-sp-compare-list,
.ktp-sp-next-grid,
.ktp-sp-state-list {
	grid-template-columns: minmax(0, 1fr);
}

.ktp-sp-block-head h2,
.ktp-sp-article .ktp-sp-section > h2,
.ktp-sp-info-card__title {
	max-width: none;
}

.ktp-sp-quick-answer__title {
	max-width: 22ch;
}

.ktp-sp-info-card,
.ktp-sp-callout,
.ktp-sp-compare-card,
.ktp-sp-reader-card,
.ktp-sp-state-card,
.ktp-sp-iucn-panel,
.ktp-sp-attrs__pill,
.ktp-sp-stat-cell,
.ktp-faq-item {
	box-sizing: border-box;
}

.ktp-sp-info-card,
.ktp-sp-callout,
.ktp-sp-iucn-panel {
	border-radius: 14px;
}

.ktp-sp-attrs {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ktp-sp-stats-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 640px) {
	.ktp-sp-attrs,
	.ktp-sp-stats-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* 2026-04-30 visual grammar reset */
.ktp-sp-mini-table-wrap,
.ktp-sp-compare-block,
.ktp-sp-route-block {
	max-width: 880px;
	width: 100%;
	margin: 0 auto 30px;
}

.ktp-sp-mini-table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border: 1px solid rgba(45, 74, 62, 0.1);
	border-radius: 16px;
	overflow: hidden;
}

.ktp-sp-mini-table th,
.ktp-sp-mini-table td {
	padding: 14px 16px;
	border-top: 1px solid rgba(45, 74, 62, 0.08);
	text-align: left;
	vertical-align: top;
}

.ktp-sp-mini-table tbody tr:first-child th,
.ktp-sp-mini-table tbody tr:first-child td {
	border-top: 0;
}

.ktp-sp-mini-table th {
	width: 34%;
	font-family: var(--ktp-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--ktp-stone);
	background: rgba(245, 240, 232, 0.52);
}

.ktp-sp-mini-table td {
	font-family: var(--ktp-article-body-family);
	font-size: 18px;
	line-height: 1.6;
	color: var(--ktp-ink);
}

.ktp-sp-mini-table__label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.ktp-sp-mini-table__label img {
	flex: 0 0 auto;
	opacity: 0.92;
}

.ktp-sp-inset-note {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 15px 18px;
	margin: 10px 0 20px;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(45, 74, 62, 0.1);
	border-left: 4px solid var(--ktp-canopy);
	border-radius: 14px;
}

.ktp-sp-inset-note--feeder {
	border-left-color: var(--ktp-amber);
	background: rgba(196, 112, 43, 0.04);
}

.ktp-sp-inset-note--status {
	border-left-color: #1d7a6e;
	background: rgba(29, 122, 110, 0.05);
}

.ktp-sp-inset-note__body {
	display: grid;
	gap: 6px;
}

.ktp-sp-inset-note__label {
	margin: 0;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.1px;
	font-family: var(--ktp-sans);
	color: var(--ktp-stone);
}

.ktp-sp-inset-note p {
	margin: 0 !important;
	font-family: var(--ktp-article-body-family);
	font-size: 18px !important;
	line-height: 1.64 !important;
}

.ktp-sp-compare-table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border: 1px solid rgba(45, 74, 62, 0.1);
	border-radius: 16px;
	overflow: hidden;
}

.ktp-sp-compare-table th,
.ktp-sp-compare-table td {
	padding: 15px 16px;
	border-top: 1px solid rgba(45, 74, 62, 0.08);
	vertical-align: top;
	text-align: left;
}

.ktp-sp-compare-table thead th {
	border-top: 0;
	font-family: var(--ktp-sans);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.1px;
	color: var(--ktp-stone);
	background: rgba(245, 240, 232, 0.58);
}

.ktp-sp-compare-table tbody th {
	width: 22%;
	font-family: var(--ktp-serif);
	font-size: 20px;
	line-height: 1.2;
	color: var(--ktp-forest);
}

.ktp-sp-compare-table tbody th a {
	color: inherit;
	text-decoration-color: rgba(45, 74, 62, 0.2);
	text-decoration-thickness: 1px;
}

.ktp-sp-compare-table td {
	font-family: var(--ktp-article-body-family);
	font-size: 18px;
	line-height: 1.64;
	color: var(--ktp-bark);
}

.ktp-sp-data-row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 22px;
}

.ktp-sp-data-row__item {
	padding: 14px 14px 13px;
	background: rgba(245, 240, 232, 0.58);
	border: 1px solid rgba(45, 74, 62, 0.08);
	border-radius: 14px;
}

.ktp-sp-data-row__label {
	display: block;
	margin-bottom: 7px;
	font-family: var(--ktp-sans);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.1px;
	color: var(--ktp-stone);
}

.ktp-sp-data-row__item strong {
	display: block;
	font-family: var(--ktp-serif);
	font-size: 22px;
	line-height: 1.15;
	color: var(--ktp-forest);
}

.ktp-sp-route-block {
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.ktp-sp-resources {
	padding: 0;
	border: 0;
	background: transparent;
}

.ktp-sp-resources__head {
	gap: 8px;
	margin-bottom: 16px;
}

.ktp-sp-resources__head h2 {
	max-width: 16ch;
}

.ktp-sp-resources__intro {
	margin: 8px 0 0;
	max-width: 58ch;
	font-family: var(--ktp-article-body-family);
	font-size: 16px;
	line-height: 1.65;
	color: var(--ktp-stone);
}

.ktp-sp-resources__lane + .ktp-sp-resources__lane {
	margin-top: 24px;
}

.ktp-sp-resources__label {
	margin: 0 0 10px;
	font-family: var(--ktp-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--ktp-stone);
}

.ktp-sp-route-block__head {
	gap: 8px;
	margin-bottom: 14px;
}

.ktp-sp-route-block__head h2 {
	font-size: clamp(22px, 2.8vw, 28px) !important;
	line-height: 1.08 !important;
	max-width: 15ch;
}

.ktp-sp-route-block__intro {
	margin: 8px 0 0;
	max-width: 54ch;
	font-family: var(--ktp-article-body-family);
	font-size: 16px;
	line-height: 1.65;
	color: var(--ktp-stone);
}

.ktp-sp-route-block__list {
	display: block;
	background: #fff;
	border: 1px solid rgba(45, 74, 62, 0.1);
	border-radius: 16px;
	overflow: hidden;
}

.ktp-sp-route-item {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	align-items: flex-start;
	gap: 14px;
	padding: 16px 18px;
	background: transparent;
	border: 0;
	border-top: 1px solid rgba(45, 74, 62, 0.1);
	border-radius: 0;
	color: inherit;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease;
}

.ktp-sp-route-item:first-child {
	border-top: 0;
}

.ktp-sp-route-item:hover {
	background: rgba(245, 240, 232, 0.56);
}

.ktp-sp-route-item__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: rgba(245, 240, 232, 0.82);
	flex: 0 0 auto;
	margin-top: 2px;
}

.ktp-sp-route-item__copy {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.ktp-sp-route-item__eyebrow {
	margin: 0;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-family: var(--ktp-sans);
	color: var(--ktp-stone);
}

.ktp-sp-route-item strong {
	display: block;
	font-family: var(--ktp-sans);
	font-size: 18px;
	line-height: 1.25;
	font-weight: 700;
	color: var(--ktp-forest);
}

.ktp-sp-route-item span:last-child {
	display: block;
	font-family: var(--ktp-article-body-family);
	font-size: 16px;
	line-height: 1.6;
	color: var(--ktp-bark);
}

@media (max-width: 820px) {
	.ktp-sp-data-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ktp-sp-facts-strip__item {
		grid-template-columns: minmax(0, 1fr);
		gap: 6px;
	}
}

@media (max-width: 640px) {
	.ktp-sp-mini-table th,
	.ktp-sp-mini-table td,
	.ktp-sp-compare-table th,
	.ktp-sp-compare-table td {
		display: block;
		width: 100%;
	}

	.ktp-sp-compare-table thead {
		display: none;
	}

	.ktp-sp-data-row {
		grid-template-columns: minmax(0, 1fr);
	}

	.ktp-sp-route-item {
		grid-template-columns: 30px minmax(0, 1fr);
		padding: 15px 14px;
	}

	.ktp-sp-route-item strong {
		font-size: 17px;
	}
}

/* 2026-04-30 integrated field-guide shell */
.ktp-bird-profile {
	background: #f4eee3;
	color: #2d241d;
	--ktp-bp-shell-max: 1180px;
	--ktp-bp-measure: 880px;
	--ktp-bp-wide: 880px;
	--ktp-bp-radius: 10px;
	--ktp-bp-pad-x: 18px;
	--ktp-bp-pad-y: 16px;
	--ktp-bp-gap: 26px;
	--ktp-bp-paper: #fffdf8;
	--ktp-bp-band: #f7f1e6;
	--ktp-bp-rule: rgba(45, 36, 29, 0.14);
	--ktp-bp-rule-strong: rgba(45, 36, 29, 0.22);
	--ktp-bp-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
	--ktp-bp-shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.ktp-bird-profile .ktp-nav {
	background: transparent;
	border-bottom: 0;
}

.ktp-bird-profile .ktp-nav-inner {
	max-width: var(--ktp-bp-shell-max);
	margin: 0 auto;
	background: #234638;
	border: 1px solid rgba(45, 36, 29, 0.24);
	border-radius: var(--ktp-bp-radius);
	box-shadow: none;
}

.ktp-bird-profile .ktp-nav-items,
.ktp-bird-profile .ktp-nav-actions {
	gap: 0;
}

.ktp-bird-profile .ktp-nav-items {
	border-left: 1px solid rgba(255, 253, 248, 0.12);
	margin-left: 18px;
	padding-left: 8px;
}

.ktp-bird-profile .ktp-nav-item,
.ktp-bird-profile .ktp-nav-state-link,
.ktp-bird-profile .ktp-nav-search {
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	border: 0;
	min-height: 54px;
	display: inline-flex;
	align-items: center;
}

.ktp-bird-profile .ktp-nav-item + .ktp-nav-item,
.ktp-bird-profile .ktp-nav-actions > * + * {
	border-left: 1px solid rgba(255, 253, 248, 0.12);
}

.ktp-bird-profile .ktp-nav-search span,
.ktp-bird-profile .ktp-nav-state-link,
.ktp-bird-profile .ktp-nav-item {
	padding-left: 18px;
	padding-right: 18px;
}

.ktp-bird-profile .ktp-nav-item.active {
	background: rgba(255, 253, 248, 0.08);
	box-shadow: inset 0 -2px 0 var(--ktp-amber);
}

.ktp-bird-profile .ktp-sp-header {
	background: var(--ktp-bp-paper);
	border-top: 1px solid var(--ktp-bp-rule-strong);
	border-bottom: 1px solid var(--ktp-bp-rule-strong);
	padding-bottom: 34px;
}

.ktp-bird-profile .ktp-sp-header-inner {
	max-width: var(--ktp-bp-shell-max);
}

.ktp-bird-profile .ktp-sp-header-grid {
	gap: 34px;
}

.ktp-bird-profile .ktp-sp-hero-media {
	border-radius: var(--ktp-bp-radius);
	border: 1px solid var(--ktp-bp-rule-strong);
	box-shadow: none;
	background: #eadfcb;
}

.ktp-bird-profile .ktp-sp-article {
	max-width: calc(var(--ktp-bp-shell-max) + (var(--ktp-bp-pad-x) * 2));
	margin: 0 auto 72px;
	padding: 0 var(--ktp-bp-pad-x) 72px;
	background: var(--ktp-bp-paper);
	border-left: 1px solid var(--ktp-bp-rule);
	border-right: 1px solid var(--ktp-bp-rule);
	border-bottom: 1px solid var(--ktp-bp-rule-strong);
}

.ktp-bird-profile .ktp-sp-quick-answer,
.ktp-bird-profile .ktp-sp-facts-strip,
.ktp-bird-profile .ktp-sp-toc {
	max-width: var(--ktp-bp-wide);
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.ktp-bird-profile .ktp-article-quick-answer,
.ktp-bird-profile .ktp-article-toc,
.ktp-bird-profile .ktp-article-next {
	border: 0;
	border-radius: 0;
	background: transparent;
}

.ktp-bird-profile .ktp-sp-quick-answer {
	padding: 20px 0 0;
}

.ktp-bird-profile .ktp-sp-quick-answer__body {
	max-width: none;
	padding: var(--ktp-bp-pad-y) var(--ktp-bp-pad-x);
	background: var(--ktp-bp-band);
	border: 1px solid var(--ktp-bp-rule);
	border-left: 3px solid #a4412f;
	border-radius: 0 var(--ktp-bp-radius) var(--ktp-bp-radius) 0;
	box-shadow: var(--ktp-bp-shadow);
}

.ktp-bird-profile .ktp-sp-quick-answer__text {
	max-width: 40ch;
	font-size: 23px !important;
	line-height: 1.54 !important;
	padding: 0;
}

.ktp-bird-profile .ktp-sp-facts-strip {
	padding: 18px 0 0;
	background: transparent;
	border: 0;
	border-radius: 0;
}

.ktp-bird-profile .ktp-sp-facts-strip__list {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin-top: 10px;
	border: 1px solid var(--ktp-bp-rule);
	border-radius: var(--ktp-bp-radius);
	overflow: hidden;
	box-shadow: var(--ktp-bp-shadow);
	background: #fff;
}

.ktp-bird-profile .ktp-sp-facts-strip__item {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 6px;
	justify-items: center;
	align-content: start;
	padding: 18px 14px;
	border-top: 0;
	border-left: 1px solid var(--ktp-bp-rule);
	text-align: center;
}

.ktp-bird-profile .ktp-sp-facts-strip__item:first-child {
	border-left: 0;
}

.ktp-bird-profile .ktp-sp-facts-strip__item dt {
	display: block;
}

.ktp-bird-profile .ktp-sp-facts-strip__label {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}

.ktp-bird-profile .ktp-sp-facts-strip__label img {
	align-self: center;
}

.ktp-bird-profile .ktp-sp-facts-strip__label span {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.1px;
	text-transform: uppercase;
	color: #71665c;
	align-self: center;
}

.ktp-bird-profile .ktp-sp-facts-strip__item dd {
	font-size: 17px;
	color: #2d241d;
	margin: 0;
}

.ktp-bird-profile .ktp-sp-toc {
	padding: 18px 0 0;
}

.ktp-bird-profile .ktp-sp-toc__inner {
	max-width: none;
	padding: 18px 22px;
	background: var(--ktp-bp-paper);
	border: 1px solid var(--ktp-bp-rule);
	border-radius: var(--ktp-bp-radius);
	box-shadow: var(--ktp-bp-shadow);
}

.ktp-bird-profile .ktp-sp-toc__list {
	border-top: 1px solid var(--ktp-bp-rule-strong);
	border-bottom: 1px solid var(--ktp-bp-rule-strong);
}

.ktp-bird-profile .ktp-sp-toc__list li {
	border-bottom: 1px solid var(--ktp-bp-rule);
}

.ktp-bird-profile .ktp-sp-toc__list li:last-child {
	border-bottom: 0;
}

.ktp-bird-profile .ktp-sp-toc__list a {
	grid-template-columns: 34px minmax(0, 1fr) 18px;
	gap: 14px;
	padding: 15px var(--ktp-bp-pad-x);
}

.ktp-bird-profile .ktp-sp-toc__list a::after {
	content: "\203A";
	font-family: var(--ktp-serif);
	font-size: 20px;
	line-height: 1;
	color: rgba(45, 36, 29, 0.46);
	align-self: center;
}

.ktp-bird-profile .ktp-sp-shell {
	max-width: var(--ktp-bp-measure);
	padding-top: 24px;
	margin-left: auto;
	margin-right: auto;
}

.ktp-bird-profile .ktp-sp-taxon-strip {
	padding: 14px var(--ktp-bp-pad-x) 16px;
	border-top: 1px solid var(--ktp-bp-rule);
	border-bottom: 1px solid var(--ktp-bp-rule);
	margin-bottom: var(--ktp-bp-gap);
}

.ktp-bird-profile .ktp-sp-section {
	margin-top: 42px;
	padding-top: 0;
}

.ktp-bird-profile .ktp-sp-block-head {
	display: block;
	margin-bottom: 18px;
	padding: 16px 0 12px;
	border-top: 1px solid var(--ktp-bp-rule-strong);
	border-bottom: 1px solid var(--ktp-bp-rule);
}

.ktp-bird-profile .ktp-sp-block-head--band,
.ktp-bird-profile .ktp-sp-resources__head {
	grid-template-columns: none;
}

.ktp-bird-profile .ktp-sp-block-head h2 {
	max-width: none;
}

.ktp-bird-profile .ktp-sp-resources__head h2,
.ktp-bird-profile .ktp-sp-resources__intro {
	grid-column: 2;
}

.ktp-bird-profile .ktp-sp-resources__head h2 {
	max-width: none;
}

.ktp-bird-profile .ktp-sp-resources__intro {
	margin: 0;
	max-width: 60ch;
}

.ktp-bird-profile .ktp-sp-resources__head {
	display: block;
	padding: 18px 0 14px;
}

.ktp-bird-profile .ktp-sp-resources__head h2,
.ktp-bird-profile .ktp-sp-resources__intro {
	grid-column: auto;
}

.ktp-bird-profile .ktp-sp-resources__head h2 {
	margin: 0;
	max-width: none;
	font-size: clamp(28px, 3vw, 36px) !important;
	line-height: 1.12 !important;
}

.ktp-bird-profile .ktp-sp-resources__intro {
	margin-top: 12px;
	max-width: none;
	padding: 0;
}

.ktp-bird-profile .ktp-sp-resources__lane + .ktp-sp-resources__lane {
	margin-top: 28px;
}

.ktp-bird-profile .ktp-sp-compare-table,
.ktp-bird-profile .ktp-sp-inset-note,
.ktp-bird-profile .ktp-sp-route-block {
	border-radius: var(--ktp-bp-radius);
	box-shadow: var(--ktp-bp-shadow);
}

.ktp-bird-profile .ktp-sp-compare-table {
	border-color: var(--ktp-bp-rule);
}

.ktp-bird-profile .ktp-sp-compare-table thead th {
	background: var(--ktp-bp-band);
}

.ktp-bird-profile .ktp-sp-inset-note {
	padding: 14px var(--ktp-bp-pad-x);
	background: rgba(234, 223, 203, 0.24);
	border: 1px solid var(--ktp-bp-rule);
	border-left: 3px solid #c59034;
}

.ktp-bird-profile .ktp-sp-data-row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin: 0 0 22px;
	border: 1px solid var(--ktp-bp-rule);
	border-radius: var(--ktp-bp-radius);
	overflow: hidden;
	background: var(--ktp-bp-paper);
}

.ktp-bird-profile .ktp-sp-data-row__item {
	padding: 14px var(--ktp-bp-pad-x) 13px;
	background: transparent;
	border: 0;
	border-left: 1px solid var(--ktp-bp-rule);
	border-radius: 0;
}

.ktp-bird-profile .ktp-sp-data-row__item:first-child {
	border-left: 0;
}

.ktp-bird-profile .ktp-sp-resources__subhead {
	margin: 0 0 12px;
	font-family: var(--ktp-serif);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--ktp-ink);
}

.ktp-bird-profile .ktp-faq-list {
	padding: 2px var(--ktp-bp-pad-x) 0;
	border-top: 1px solid var(--ktp-bp-rule-strong);
	border-bottom: 1px solid var(--ktp-bp-rule-strong);
}

.ktp-bird-profile .ktp-faq-item {
	padding: 0;
	border: 0;
	border-bottom: 1px solid var(--ktp-bp-rule);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.ktp-bird-profile .ktp-faq-item__summary {
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 14px 0;
	cursor: pointer;
}

.ktp-bird-profile .ktp-faq-item__summary::-webkit-details-marker {
	display: none;
}

.ktp-bird-profile .ktp-faq-item__question {
	margin: 0;
	display: block;
	font-size: clamp(18px, 2vw, 22px);
	line-height: 1.28;
}

.ktp-bird-profile .ktp-faq-item__icon {
	position: relative;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	border-radius: 999px;
	color: var(--ktp-stone);
}

.ktp-bird-profile .ktp-faq-item__icon::before,
.ktp-bird-profile .ktp-faq-item__icon::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	background: currentColor;
	border-radius: 999px;
	transform: translate(-50%, -50%);
	transition: transform .2s ease, opacity .2s ease, color .2s ease;
}

.ktp-bird-profile .ktp-faq-item__icon::before {
	width: 12px;
	height: 1.5px;
}

.ktp-bird-profile .ktp-faq-item__icon::after {
	width: 1.5px;
	height: 12px;
}

.ktp-bird-profile .ktp-faq-item__answer {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows .2s ease;
}

.ktp-bird-profile .ktp-faq-item__answer > * {
	overflow: hidden;
}

.ktp-bird-profile .ktp-faq-item__answer p {
	margin: 0;
	padding: 0 0 16px;
	font-size: 16px;
	line-height: 1.68;
}

.ktp-bird-profile .ktp-faq-item[open] .ktp-faq-item__summary {
	padding-bottom: 10px;
}

.ktp-bird-profile .ktp-faq-item[open] .ktp-faq-item__icon {
	color: var(--ktp-gold);
}

.ktp-bird-profile .ktp-faq-item[open] .ktp-faq-item__icon::after {
	opacity: 0;
	transform: translate(-50%, -50%) scaleY(0.2);
}

.ktp-bird-profile .ktp-faq-item[open] .ktp-faq-item__answer {
	grid-template-rows: 1fr;
}

.ktp-bird-profile .ktp-sp-route-block__intro {
	padding-left: 0;
	padding-right: 0;
}

.ktp-bird-profile .ktp-sp-route-block__intro {
	margin: 0 0 12px;
	max-width: 58ch;
}

.ktp-bird-profile .ktp-sp-route-block__list {
	border-top: 1px solid var(--ktp-bp-rule-strong);
	border-bottom: 1px solid var(--ktp-bp-rule-strong);
	background: transparent;
	border-left: 0;
	border-right: 0;
	border-radius: 0;
	overflow: visible;
	box-shadow: none;
}

.ktp-bird-profile .ktp-sp-route-item {
	padding: 14px var(--ktp-bp-pad-x);
	border-top: 0;
	border-left: 0;
	border-right: 0;
	border-bottom: 1px solid var(--ktp-bp-rule);
	border-radius: 0;
	background: transparent;
}

.ktp-bird-profile .ktp-sp-route-item:first-child {
	border-top: 0;
}

.ktp-bird-profile .ktp-sp-route-item:last-child {
	border-bottom: 0;
}

.ktp-bird-profile .ktp-sp-route-item:hover {
	background: rgba(234, 223, 203, 0.24);
}

.ktp-bird-profile .ktp-sp-route-item__icon {
	width: 30px;
	height: 30px;
	border-radius: 8px;
	background: rgba(234, 223, 203, 0.42);
}

.ktp-bird-profile .ktp-sp-route-item__copy {
	gap: 3px;
}

.ktp-bird-profile .ktp-sp-route-item strong {
	font-size: 17px;
}

.ktp-bird-profile .ktp-sp-route-item span:last-child {
	font-size: 15px;
	line-height: 1.58;
}

@media (max-width: 860px) {
	.ktp-bird-profile .ktp-nav-inner {
		border-radius: 0;
	}

	.ktp-bird-profile .ktp-sp-article {
		padding: 0 18px 60px;
		border-left: 0;
		border-right: 0;
	}

	.ktp-bird-profile .ktp-sp-header-grid--with-media {
		grid-template-columns: minmax(0, 1fr);
	}

	.ktp-bird-profile .ktp-sp-quick-answer__text,
	.ktp-bird-profile .ktp-sp-toc__inner {
		max-width: 100%;
	}

	.ktp-bird-profile .ktp-sp-block-head--band,
	.ktp-bird-profile .ktp-sp-resources__head {
		grid-template-columns: minmax(0, 1fr);
	}

	.ktp-bird-profile .ktp-sp-resources__head h2,
	.ktp-bird-profile .ktp-sp-resources__intro {
		grid-column: auto;
	}

	.ktp-bird-profile .ktp-sp-resources__head {
		padding-top: 16px;
	}

	.ktp-bird-profile .ktp-sp-facts-strip__item,
	.ktp-bird-profile .ktp-sp-toc__list a {
		grid-template-columns: 28px minmax(0, 1fr);
	}

	.ktp-bird-profile .ktp-sp-facts-strip__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ktp-bird-profile .ktp-sp-facts-strip__item {
		padding-left: 14px;
		padding-right: 14px;
		border-left: 0;
		border-top: 1px solid var(--ktp-bp-rule);
	}

	.ktp-bird-profile .ktp-sp-facts-strip__item:nth-child(-n+2) {
		border-top: 0;
	}

	.ktp-bird-profile .ktp-sp-quick-answer__body,
	.ktp-bird-profile .ktp-sp-toc__list a,
	.ktp-bird-profile .ktp-sp-block-head,
	.ktp-bird-profile .ktp-sp-taxon-strip,
	.ktp-bird-profile .ktp-sp-data-row__item,
	.ktp-bird-profile .ktp-sp-route-item,
	.ktp-bird-profile .ktp-sp-inset-note,
	.ktp-bird-profile .ktp-sp-resources__subhead,
	.ktp-bird-profile .ktp-sp-route-block__intro {
		padding-left: 14px;
		padding-right: 14px;
	}

	.ktp-bird-profile .ktp-sp-toc__list a::after {
		display: none;
	}

	.ktp-bird-profile .ktp-faq-list {
		padding-left: 14px;
		padding-right: 14px;
	}

	.ktp-bird-profile .ktp-sp-data-row {
		grid-template-columns: minmax(0, 1fr);
	}

	.ktp-bird-profile .ktp-sp-data-row__item {
		border-left: 0;
		border-top: 1px solid var(--ktp-bp-rule);
	}

	.ktp-bird-profile .ktp-sp-data-row__item:first-child {
		border-top: 0;
	}
}
