/* Oak Tree Team — override any of these variables in Appearance > Customize > Additional CSS */
.ott-grid, .ott-profile, .ott-cta {
	--ott-green: #2f4a3d;
	--ott-text: #2b3a33;
	--ott-muted: #5d6b63;
	--ott-sage: #dfe3d6;
	--ott-card: #ecefe5;
	--ott-line: #d3d8c9;
	--ott-radius: 14px;
	--ott-heading-font: Georgia, "Times New Roman", serif;
	color: var(--ott-text);
	box-sizing: border-box;
}
.ott-grid *, .ott-profile *, .ott-cta * { box-sizing: border-box; }

/* ---------- Team grid ---------- */
.ott-grid { display: grid; gap: 24px; margin: 0 0 32px; }
.ott-cols-1 { grid-template-columns: 1fr; }
.ott-cols-2 { grid-template-columns: repeat(2, 1fr); }
.ott-cols-3 { grid-template-columns: repeat(3, 1fr); }

.ott-card { background: var(--ott-card); border: 1px solid var(--ott-line); border-radius: var(--ott-radius); padding: 20px; display: flex; flex-direction: column; gap: 14px; }
.ott-card__top { display: flex; gap: 18px; align-items: flex-start; }
.ott-card__photo { flex: 0 0 38%; max-width: 160px; aspect-ratio: 1 / 1.15; border-radius: 8px; overflow: hidden; background: var(--ott-sage); display: block; }
.ott-card__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ott-card__info { min-width: 0; }
.ott-card__name { font-family: var(--ott-heading-font); font-size: 1.35rem; line-height: 1.2; margin: 0 0 4px; }
.ott-card__name a { color: var(--ott-green); text-decoration: none; }
.ott-card__role { font-weight: 600; margin: 0 0 8px; font-size: .95rem; }
.ott-card__summary { margin: 0; font-size: .92rem; line-height: 1.5; color: var(--ott-muted); }
.ott-card__link { color: var(--ott-green); font-weight: 600; text-decoration: none; margin-top: auto; }
.ott-card__link:hover { text-decoration: underline; }

.ott-areas { border-top: 1px solid var(--ott-line); padding-top: 12px; }
.ott-areas__label { margin: 0 0 8px; font-weight: 600; font-size: .9rem; }
.ott-areas__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 14px 18px; }
.ott-areas__list li { display: flex; flex-direction: column; align-items: center; gap: 4px; width: 64px; text-align: center; font-size: .75rem; line-height: 1.25; margin: 0; }

.ott-icon { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: var(--ott-sage); color: var(--ott-green); flex: none; }
.ott-icon svg { width: 20px; height: 20px; }
.ott-icon--lg { width: 52px; height: 52px; }
.ott-icon--lg svg { width: 26px; height: 26px; }

/* ---------- Profile ---------- */
.ott-profile { max-width: 1100px; margin: 0 auto; padding: 70px 0; }
.ott-hero { display: grid; grid-template-columns: 1fr 300px; gap: 32px; align-items: center; background: var(--ott-sage); border-radius: var(--ott-radius); padding: 32px; margin-bottom: 24px; }
.ott-back { color: var(--ott-muted); text-decoration: none; font-size: .9rem; display: inline-block; margin-bottom: 18px; }
.ott-hero__name { font-family: var(--ott-heading-font); color: var(--ott-green); font-size: clamp(2rem, 4vw, 3rem); line-height: 1.1; margin: 0 0 8px; }
.ott-hero__role { font-family: var(--ott-heading-font); font-size: 1.3rem; margin: 0 0 16px; }
.ott-hero__summary { font-size: 1.05rem; line-height: 1.6; margin: 0 0 16px; max-width: 46ch; }
.ott-hero .ott-areas { border-top-color: rgba(47, 74, 61, .2); }
.ott-hero__photo img { width: 100%; height: auto; border-radius: 12px; display: block; }

.ott-sections { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; align-items: start; }
.ott-sec { background: var(--ott-card); border: 1px solid var(--ott-line); border-radius: var(--ott-radius); padding: 22px; }
.ott-sec summary { list-style: none; cursor: pointer; display: grid; gap: 8px; position: relative; padding-bottom: 28px; }
.ott-sec summary::-webkit-details-marker { display: none; }
div.ott-sec { display: grid; gap: 8px; }
.ott-sec__title { font-family: var(--ott-heading-font); font-size: 1.3rem; margin: 10px 0 0; color: var(--ott-text); }
.ott-sec__summary { margin: 0; line-height: 1.55; }
.ott-sec__arrow::before { content: "\2192"; position: absolute; left: 0; bottom: 0; color: var(--ott-green); font-size: 1.2rem; transition: transform .2s; }
.ott-sec[open] .ott-sec__arrow::before { transform: rotate(90deg); }
.ott-sec__body { margin-top: 14px; border-top: 1px solid var(--ott-line); padding-top: 14px; line-height: 1.65; }
.ott-sec__body p { margin: 0 0 1em; }
.ott-extra { margin-top: 32px; }

/* Hide the theme's own title/featured image on profile pages (we render them in the hero). */
.ott-single .entry-title, .ott-single .wp-block-post-title, .ott-single .post-thumbnail,
.ott-single .wp-block-post-featured-image, .ott-single .entry-header { display: none; }

/* ---------- CTA band ---------- */
.ott-cta { display: grid; grid-template-columns: 40% 1fr; background: var(--ott-card); border: 1px solid var(--ott-line); border-radius: var(--ott-radius); overflow: hidden; margin: 32px 0; }
.ott-cta--noimg { grid-template-columns: 1fr; }
.ott-cta__img { background-size: cover; background-position: center; min-height: 220px; }
.ott-cta__body { padding: 32px; align-self: center; }
.ott-eyebrow { text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; color: var(--ott-muted); margin: 0 0 8px; }
.ott-cta h2 { font-family: var(--ott-heading-font); color: var(--ott-green); margin: 0 0 12px; font-size: 1.8rem; }
.ott-btn { display: inline-block; background: var(--ott-green); color: #fff !important; padding: 12px 24px; border-radius: 999px; text-decoration: none; font-weight: 600; margin-top: 8px; }
.ott-btn:hover { opacity: .9; }

@media (max-width: 800px) {
	.ott-cols-2, .ott-cols-3, .ott-sections { grid-template-columns: 1fr; }
	.ott-hero { grid-template-columns: 1fr; padding: 22px; }
	.ott-hero__photo { order: -1; max-width: 260px; }
	.ott-cta { grid-template-columns: 1fr; }
	.ott-cta__img { min-height: 180px; }
}
@media (max-width: 480px) {
	.ott-card__top { flex-direction: column; }
	.ott-card__photo { flex-basis: auto; width: 100%; max-width: none; aspect-ratio: 4 / 3; }
}
