:root {
	--aprac-teal: #1f5a58;
	--aprac-teal-dark: #123f3d;
	--aprac-teal-ink: #103836;
	--aprac-sage: #7fae9f;
	--aprac-sage-pale: #dce9e3;
	--aprac-terracotta: #e58b73;
	--aprac-terracotta-dark: #bf634e;
	--aprac-charcoal: #243231;
	--aprac-sand: #f4efe7;
	--aprac-sand-deep: #e9ded1;
	--aprac-paper: #fffdfa;
	--aprac-white: #ffffff;
	--aprac-line: rgba(36, 50, 49, 0.16);
	--aprac-serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
	--aprac-sans: "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;
	--aprac-script: "Segoe Print", "Bradley Hand", cursive;
	--aprac-shell: 1240px;
	--aprac-reading: 760px;
	--aprac-radius-sm: 12px;
	--aprac-radius: 24px;
	--aprac-radius-lg: 42px;
	--aprac-shadow: 0 24px 70px rgba(31, 90, 88, 0.12);
	--aprac-transition: 220ms cubic-bezier(0.2, 0.7, 0.2, 1);
}
/* Header */
.aprac-header {
	position: relative;
	z-index: 100;
	background: rgba(255, 253, 250, 0.97);
	border-bottom: 1px solid var(--aprac-line);
	transition: box-shadow var(--aprac-transition);
}

.aprac-header.is-scrolled {
	box-shadow: 0 12px 38px rgba(36, 50, 49, 0.08);
}

.aprac-topline {
	background: var(--aprac-teal-dark);
	color: rgba(255, 255, 255, 0.8);
}

.aprac-topline__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 34px;
}

.aprac-topline p {
	margin: 0;
	font-size: 0.71rem;
	font-weight: 650;
	letter-spacing: 0.08em;
}

.aprac-language-switcher {
	display: flex;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.aprac-language-switcher li {
	margin: 0;
}

.aprac-language-switcher a {
	display: grid;
	place-items: center;
	min-width: 38px;
	height: 34px;
	color: inherit;
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-decoration: none;
}

.aprac-language-switcher .current-lang a,
.aprac-language-switcher a:hover {
	background: rgba(255, 255, 255, 0.12);
	color: var(--aprac-white);
}

.aprac-header__main {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	min-height: 114px;
}

.aprac-brand {
	display: block;
	width: min(330px, 45vw);
	text-decoration: none;
}

.aprac-brand .custom-logo-link {
	display: block;
}

.aprac-brand img,
.aprac-brand .custom-logo {
	width: auto;
	max-width: 100%;
	height: 88px;
	object-fit: contain;
	object-position: left center;
}

.aprac-header__actions {
	display: flex;
	align-items: center;
	gap: 14px;
}

.aprac-icon-button,
.aprac-menu-toggle,
.aprac-search-close {
	border: 0;
	background: transparent;
	color: var(--aprac-charcoal);
	cursor: pointer;
}

.aprac-icon-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px;
}

.aprac-icon-button__icon {
	font-family: Georgia, serif;
	font-size: 1.7rem;
	line-height: 1;
	transform: rotate(-15deg);
}

.aprac-icon-button__label {
	font-size: 0.76rem;
	font-weight: 750;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.aprac-menu-toggle {
	display: none;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	border: 1px solid var(--aprac-line);
	border-radius: 999px;
	font-size: 0.74rem;
	font-weight: 750;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.aprac-menu-toggle__lines {
	display: grid;
	gap: 5px;
	width: 17px;
}

.aprac-menu-toggle__lines i {
	display: block;
	height: 1px;
	background: currentColor;
	transition: transform var(--aprac-transition);
}

.aprac-nav-wrap {
	border-top: 1px solid var(--aprac-line);
}

.aprac-menu {
	display: flex;
	align-items: stretch;
	justify-content: center;
	gap: clamp(22px, 3vw, 48px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.aprac-menu > li {
	position: relative;
	margin: 0;
}

.aprac-menu > li > a {
	display: flex;
	align-items: center;
	gap: 6px;
	height: 56px;
	border-bottom: 2px solid transparent;
	font-size: 0.79rem;
	font-weight: 760;
	letter-spacing: 0.07em;
	text-decoration: none;
	text-transform: uppercase;
	transition: border-color var(--aprac-transition), color var(--aprac-transition);
}

.aprac-menu > li:hover > a,
.aprac-menu > li.current-menu-item > a,
.aprac-menu > li.current-menu-ancestor > a {
	border-bottom-color: var(--aprac-terracotta);
	color: var(--aprac-teal);
}

.aprac-menu .sub-menu {
	position: absolute;
	top: calc(100% + 1px);
	left: -22px;
	min-width: 230px;
	margin: 0;
	padding: 14px;
	border: 1px solid var(--aprac-line);
	border-radius: 0 0 var(--aprac-radius-sm) var(--aprac-radius-sm);
	background: var(--aprac-paper);
	box-shadow: var(--aprac-shadow);
	list-style: none;
	opacity: 0;
	pointer-events: none;
	transform: translateY(8px);
	transition: opacity var(--aprac-transition), transform var(--aprac-transition);
}

.aprac-menu li:hover > .sub-menu,
.aprac-menu li:focus-within > .sub-menu {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.aprac-menu .sub-menu li {
	margin: 0;
}

.aprac-menu .sub-menu a {
	display: block;
	padding: 9px 10px;
	border-radius: 6px;
	font-size: 0.88rem;
	font-weight: 620;
	text-decoration: none;
}

.aprac-menu .sub-menu a:hover {
	background: var(--aprac-sand);
	color: var(--aprac-teal);
}

.aprac-search-panel {
	position: absolute;
	inset: 100% 0 auto;
	z-index: 20;
	border-top: 1px solid var(--aprac-line);
	background: var(--aprac-sand);
	box-shadow: var(--aprac-shadow);
}

.aprac-search-panel[hidden] {
	display: none;
}

.aprac-search-panel__inner {
	position: relative;
	padding-block: clamp(34px, 6vw, 72px);
}

.aprac-search-panel .aprac-search-form {
	max-width: 900px;
}

.aprac-search-close {
	position: absolute;
	top: 28px;
	right: 0;
	padding: 8px;
	font-size: 0.76rem;
	font-weight: 750;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.aprac-search-form {
	display: flex;
	align-items: center;
	border-bottom: 1px solid var(--aprac-charcoal);
}

.aprac-search-form label {
	flex: 1;
	margin: 0;
}

.aprac-search-field {
	width: 100%;
	min-height: 62px;
	padding: 8px 0;
	border: 0 !important;
	outline: 0;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--aprac-charcoal);
	font-family: var(--aprac-serif);
	font-size: clamp(1.25rem, 3vw, 2.15rem);
}

.aprac-search-field::placeholder {
	color: rgba(36, 50, 49, 0.5);
}

.aprac-search-submit {
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--aprac-teal);
	color: var(--aprac-white);
	cursor: pointer;
	font-size: 1.4rem;
	transition: background var(--aprac-transition), transform var(--aprac-transition);
}

.aprac-search-submit:hover {
	background: var(--aprac-terracotta-dark);
	transform: translateX(3px);
}

.aprac-footer {
	background: var(--aprac-sand);
}

.aprac-footer__lead {
	padding: clamp(58px, 8vw, 100px) 0;
	background: var(--aprac-sage-pale);
}

.aprac-footer__lead-inner {
	display: grid;
	grid-template-columns: minmax(0, 0.75fr) minmax(360px, 1.25fr);
	align-items: end;
	gap: clamp(40px, 7vw, 100px);
}

.aprac-footer__lead h2 {
	margin: 0;
	color: var(--aprac-teal-ink);
	font-family: var(--aprac-serif);
	font-size: clamp(2.2rem, 4.2vw, 4.3rem);
	letter-spacing: -0.045em;
	line-height: 1;
}

.aprac-footer__main {
	display: grid;
	grid-template-columns: minmax(280px, 1.25fr) minmax(180px, 0.65fr) minmax(210px, 0.8fr);
	gap: clamp(40px, 7vw, 100px);
	padding-top: clamp(64px, 8vw, 104px);
	padding-bottom: clamp(64px, 8vw, 104px);
}

.aprac-footer__logo {
	display: block;
	width: min(320px, 100%);
}

.aprac-footer__logo img {
	width: 100%;
}

.aprac-footer__identity p {
	max-width: 410px;
	margin: 22px 0 0;
	color: rgba(36, 50, 49, 0.72);
}

.aprac-footer__heading {
	margin: 0 0 20px;
	color: var(--aprac-teal);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.aprac-footer-menu,
.aprac-footer__partners ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.aprac-footer-menu li,
.aprac-footer__partners li {
	margin: 0 0 10px;
}

.aprac-footer-menu a,
.aprac-footer__partners a {
	font-size: 0.88rem;
	font-weight: 650;
	text-decoration: none;
}

.aprac-footer__partners a {
	display: inline-flex;
	gap: 7px;
}

.aprac-footer-menu a:hover,
.aprac-footer__partners a:hover {
	color: var(--aprac-terracotta-dark);
}

.aprac-footer__bottom {
	background: var(--aprac-teal-dark);
	color: rgba(255, 255, 255, 0.72);
}

.aprac-footer__bottom-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 58px;
	font-size: 0.69rem;
	letter-spacing: 0.05em;
}

.aprac-footer__bottom p {
	margin: 0;
}

.aprac-footer__bottom a {
	color: var(--aprac-white);
	text-decoration: none;
}

/* Shared identity, isolated from the editorial guide layouts. */
:root{--serif:var(--aprac-serif);--sans:var(--aprac-sans)}
body{font-family:var(--aprac-sans);background:var(--aprac-paper)}
.aprac-shell{width:min(calc(100% - 48px),1240px);margin-inline:auto}
.aprac-header,.aprac-footer{font-family:var(--aprac-sans);color:var(--aprac-charcoal);line-height:1.65}
.aprac-header a,.aprac-footer a{color:inherit}.aprac-header button{font-family:inherit}
.aprac-header button:focus-visible,.aprac-footer a:focus-visible{outline:3px solid var(--aprac-terracotta-dark);outline-offset:4px}
.aprac-header .aprac-menu{gap:clamp(16px,2.1vw,32px)}
.aprac-header .aprac-menu>li>a{font-size:.75rem;white-space:nowrap}
.aprac-kicker{font-family:var(--aprac-sans);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--aprac-teal);margin:0 0 18px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.aprac-footer .aprac-search-field{font-size:clamp(1.25rem,3vw,2.15rem)}
.aprac-footer .aprac-search-submit{color:white}
.aprac-affiliate-disclosure{font-size:.75rem;color:#52615c;padding-bottom:30px}
.aprac-footer__lead h2{color:var(--aprac-teal-ink)}
.aprac-footer .aprac-footer__bottom{color:#d4e4de}
@media(min-width:981px){
 .aprac-footer__main{grid-template-columns:minmax(250px,1.1fr) minmax(360px,1.5fr);gap:clamp(40px,5vw,75px)}
 .aprac-footer-menu{columns:2;column-gap:32px}.aprac-footer-menu>li{break-inside:avoid}
}
.aprac-guides-rail{border-bottom:1px solid var(--line);background:var(--paper)}
.aprac-guides-rail .wrap{display:flex;align-items:center;gap:23px;overflow:auto;padding-block:14px;scrollbar-width:thin}
.aprac-guides-rail a{font-size:12px;font-weight:650;text-decoration:none;white-space:nowrap}
.aprac-guides-rail a:first-child{color:var(--rust);font-weight:800}
.aprac-guides-rail a[aria-current]{color:var(--teal);text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:6px}
.aprac-animal-portrait{display:block;aspect-ratio:1;width:100%;isolation:isolate}
.aprac-animal-portrait img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50% 50% 43% 50%;border:7px solid #f4efe7}
.aprac-animal-portrait:after{content:none}
.aprac-hero-animal{width:min(100%,420px);margin:0 auto;position:relative}
.aprac-hero-animal:before{content:"";position:absolute;inset:4% -3% -4% 5%;border:1px solid var(--orange);border-radius:50%;z-index:-1}
.aprac-hero-animal figcaption{font-size:11px;text-align:center;color:var(--muted);margin-top:12px}
.aprac-hub-visual{position:relative;min-height:400px;max-width:480px;align-self:center}
.aprac-hub-visual .aprac-animal-portrait{width:77%;position:relative;margin:0 0 0 auto}
.aprac-hub-visual .aprac-animal-portrait+picture{width:54%;position:absolute;left:0;bottom:-5px;transform:rotate(-7deg)}
.aprac-hub-visual picture+picture img{border-color:var(--paper)}
.hub-hero{align-items:center;gap:60px}.hub-hero h1{font-size:clamp(44px,5.4vw,76px)}
.hub-guide-list article{grid-template-columns:280px 1fr}
.hub-guide-list figure{width:260px;aspect-ratio:1}
.hub-guide-list figure img{transition:transform .25s ease}
.hub-guide-list article:hover figure img{transform:rotate(-2deg)}
.aprac-category-intro{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:55px;margin-bottom:55px}
.aprac-category-intro h1{font-size:clamp(42px,5vw,70px)}
.topic-visual.aprac-hero-animal{max-width:360px}
.aprac-scene img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.premium-method img{width:110px;height:110px}
@media(max-width:1100px){.aprac-header .aprac-menu{gap:16px}.aprac-header .aprac-menu>li>a{font-size:.68rem}}
@media(max-width:980px){
 .aprac-menu-toggle{display:inline-flex}.aprac-nav-wrap{border:0}
 .aprac-primary-nav{position:absolute;top:100%;right:0;left:0;background:var(--aprac-paper);box-shadow:var(--aprac-shadow);display:block;max-height:75vh;overflow:auto}
 .aprac-chrome-js .aprac-primary-nav:not(.is-open){display:none}
 .aprac-primary-nav.is-open{display:block;border-top:1px solid var(--aprac-line)}
 .aprac-menu{display:block;padding:20px 24px 32px}.aprac-menu>li{border-bottom:1px solid var(--aprac-line)}
 .aprac-header .aprac-menu>li>a{height:48px;font-size:.78rem}
 .aprac-menu .sub-menu{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;padding:0 0 14px 18px;border:0;box-shadow:none;opacity:1;pointer-events:auto;transform:none}
 .aprac-footer__main{grid-template-columns:1fr 1fr}.aprac-footer__partners{grid-column:1/-1}
}
@media(max-width:760px){
 .aprac-shell{width:calc(100% - 32px)}.aprac-topline p{display:none}.aprac-topline__inner{justify-content:flex-end;width:100%}
 .aprac-header__main{min-height:84px;gap:10px}.aprac-brand{width:min(210px,52vw)}.aprac-brand img{height:60px}
 .aprac-icon-button__label{display:none}.aprac-header__actions{gap:3px}.aprac-menu-toggle{padding:9px 11px;font-size:.65rem}
 .aprac-search-close{right:8px}.aprac-search-panel__inner{padding-top:60px}
 .aprac-footer__lead-inner,.aprac-footer__main{grid-template-columns:1fr;gap:34px}.aprac-footer__partners{grid-column:auto}
 .aprac-footer__main{padding-block:48px}.aprac-footer__bottom-inner{flex-direction:column;align-items:flex-start;gap:10px;padding-block:20px}
 .aprac-guides-rail .wrap{gap:20px;padding-block:12px}
 .aprac-hub-visual{min-height:260px;max-width:320px;width:100%;margin:15px auto 20px}
 .hub-hero{gap:10px}.hub-hero h1{font-size:44px}.hub-guide-list article{grid-template-columns:1fr;gap:22px}
 .hub-guide-list figure{width:185px;justify-self:center}.hub-guide-list h2{font-size:32px}
 .aprac-category-intro{grid-template-columns:1fr;gap:15px}.aprac-category-intro h1{font-size:42px}
 .aprac-hero-animal{max-width:270px!important;width:75%;margin:20px auto 25px}
 .premium-method img{width:70px;height:70px}
}
@media(prefers-reduced-motion:reduce){.hub-guide-list figure img{transition:none}.hub-guide-list article:hover figure img{transform:none}}

/* Category indexes: one editorial system, compact navigation and no repeated icon tiles. */
.aprac-category-index .hub-hero{padding-block:56px 34px;min-height:0;gap:60px}
.aprac-category-index .hub-hero h1{font-size:clamp(42px,4.7vw,68px);line-height:1.08;max-width:19ch}
.aprac-category-index .premium-lead{max-width:53ch;font-size:18px;line-height:1.7}
.aprac-category-count{font-size:12px;letter-spacing:.025em;color:var(--muted);margin-top:20px}
.aprac-category-toc{display:flex;flex-wrap:wrap;align-items:center;gap:7px 22px;padding:17px 0;margin:4px 0 42px;border-block:1px solid var(--line,#d8ded9)}
.aprac-category-toc>span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-right:4px}
.aprac-category-toc a{font-size:13px;font-weight:650;line-height:1.4;padding:5px 0;color:var(--green,#1f5a58);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s,color .15s}
.aprac-category-toc a:hover,.aprac-category-toc a:focus-visible{border-color:#b54e31;color:#a84429}
.aprac-category-group{margin:0 0 56px;scroll-margin-top:24px}
.aprac-category-group-heading{display:flex;align-items:baseline;gap:18px;border-bottom:2px solid #225c59;padding:0 0 13px}
.aprac-category-group-heading h2{font-size:clamp(29px,3vw,39px);margin:0;line-height:1.15}
.aprac-category-group-heading>span{font-size:12px;color:var(--muted);white-space:nowrap}
.aprac-category-stories article{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:55px;padding:26px 0;border-bottom:1px solid var(--line,#d8ded9)}
.aprac-category-stories h3{font-size:clamp(22px,2.15vw,29px);font-weight:500;line-height:1.25;margin:0;max-width:35ch}
.aprac-category-stories h3 a{color:var(--green,#1f5a58);text-decoration:none;text-underline-offset:5px;text-decoration-thickness:1px}
.aprac-category-stories h3 a:hover{text-decoration:underline}
.aprac-category-stories p{font-size:15px;line-height:1.75;margin:0 0 12px;color:var(--ink,#263c3b)}
.aprac-category-stories .text-link{font-size:12px;font-weight:700}
.aprac-category-method{max-width:850px;padding-block:28px 65px}
.aprac-category-method h2{font-size:34px;line-height:1.2;margin:12px 0 18px}
.aprac-category-method>p:not(.eyebrow){font-size:15px;line-height:1.8}
.aprac-category-method .affiliate-note{font-size:12px!important;margin-top:22px}
@media(max-width:760px){
 .aprac-category-index .hub-hero{padding-block:32px 16px;gap:12px}
 .aprac-category-index .hub-hero h1{font-size:40px;max-width:none}
 .aprac-category-index .premium-lead{font-size:16px}
 .aprac-category-index .aprac-hero-animal{max-width:230px!important;margin-block:5px 20px}
 .aprac-category-toc{gap:4px 18px;padding-block:12px;margin-bottom:30px}
 .aprac-category-toc>span{flex-basis:100%;margin-bottom:3px}
 .aprac-category-toc a{font-size:12px;padding-block:5px}
 .aprac-category-stories article{grid-template-columns:1fr;gap:12px;padding-block:22px}
 .aprac-category-stories h3{font-size:25px;max-width:none}
 .aprac-category-stories p{font-size:14px;line-height:1.7}
 .aprac-category-group{margin-bottom:37px}
 .aprac-category-method h2{font-size:29px}
}
@media(prefers-reduced-motion:reduce){.aprac-category-toc a{transition:none}}

/* Restore the original subject illustrations throughout all category indexes. */
.aprac-category-stories article{grid-template-columns:200px minmax(0,1fr);gap:42px;align-items:center;padding-block:30px}
.aprac-category-illustration{width:200px;margin:0;align-self:start}
.aprac-category-illustration svg{display:block;width:100%;height:auto}
.aprac-category-story-copy h3{max-width:36ch;margin:0 0 14px;font-size:clamp(24px,2.6vw,34px)}
.aprac-category-story-copy>div{max-width:72ch}
@media(max-width:760px){.aprac-category-stories article{grid-template-columns:1fr;gap:14px;padding-block:25px}.aprac-category-illustration{width:150px}.aprac-category-story-copy h3{font-size:25px;margin-bottom:12px}}
