.dog-intro { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 55px; align-items: center; padding: 40px 0; }
.dog-intro h1 { font-size: clamp(36px, 4vw, 52px); margin-top: 16px; overflow-wrap: anywhere; }
.dog-intro figure { margin: 0; }
.dog-intro img { width: 100%; height: auto; border-radius: 8px; }
.call-name { font-size: 25px; margin-top: 14px; }
.dog-intro-health { margin-top: 24px; }
.dog-intro-health .dog-fields { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 18px 24px; margin-top: 0; }
.dog-intro-health .dog-fields dd { font-size: 17px; line-height: 1.5; }
.dog-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 30px; margin: 23px 0 0; }
.dog-fields dt { color: #595f63; font-size: 15px; margin-bottom: 5px; }
.dog-fields dd { margin: 0; font-size: 19px; overflow-wrap: anywhere; }
.dog-fields dd a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #a6b2aa; }
.dog-fields dd a:hover { text-decoration-color: currentColor; }
.dog-fields dd a:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
.dog-section { display: grid; grid-template-columns: minmax(0, 265px) minmax(0, 1fr); gap: 55px; padding: 40px 0; border-bottom: 1px solid var(--line); }
.dog-section h2 { font-size: 33px; }
.dog-section .dog-fields { margin-top: 0; }
.dog-prose { overflow-wrap: anywhere; }
.dog-prose h3 { margin: 24px 0 10px; }
.dog-prose p + p { margin-top: 12px; }
.dog-description-details { min-width: 0; align-self: start; border: 1px solid var(--line); border-radius: 6px; }
.dog-description-details summary { cursor: pointer; padding: 16px 20px; color: var(--green); font-weight: 600; }
.dog-description-details summary:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
.dog-description-details[open] summary { border-bottom: 1px solid var(--line); }
.dog-description-details .dog-prose { padding: 20px; }
@media print { .dog-description-details::details-content { content-visibility: visible; } }
.green-dog-profile #pedigree { border-top: 0; }
.green-pedigree-grid { display: grid; grid-template-columns: repeat(var(--dog-generations), minmax(0, 1fr)); grid-auto-rows: minmax(16px, auto); gap: 5px; }
.green-pedigree-mobile { display: none; }
.green-ancestor { display: flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 6px; min-width: 0; padding: 6px 8px; border: 1px solid var(--line); border-left-width: 3px; border-radius: 5px; font-size: 15px; line-height: 1.35; overflow-wrap: anywhere; }
.green-ancestor a { min-width: 0; }
.ancestor-sex { flex: 0 0 auto; font-family: Arial, sans-serif; font-size: 20px; line-height: 1; }
.male .ancestor-sex { color: #245b83; }
.female .ancestor-sex { color: #9c355b; }
.green-ancestor.male { border-color: #b8cfdf; border-left-color: #245b83; background: #e5eff7; }
.green-ancestor.female { border-color: #dfbecb; border-left-color: #9c355b; background: #f7e5ec; }
.green-ancestor .dog-sex { padding: 0; font-size: 20px; }
.ancestor-relation { font-size: 13px; color: #595f63; }
.dog-kin h3 { margin: 25px 0 13px; font-size: 22px; }
.missing-photo { padding: 45px 20px; border: 1px solid var(--line); color: #595f63; }
@media (max-width: 850px) {
	.dog-intro, .dog-section { gap: 25px; }
	.dog-section { grid-template-columns: 1fr; }
	.green-pedigree-grid { display: none; }
	.green-pedigree-mobile, .green-pedigree-mobile ul { display: block; list-style: none; margin: 0; padding: 0; }
	.green-pedigree-mobile ul { margin: 6px 0 12px; padding-left: 11px; border-left: 1px solid var(--line); }
	.green-pedigree-mobile li { margin: 7px 0; }
}
@media (max-width: 600px) {
	.dog-intro, .dog-fields { grid-template-columns: 1fr; }
	.dog-intro, .dog-section { padding: 30px 0; }
}
