/* SW Team Bios — Spiritual Way palette: Paper #FAF6F1, Sky #D7E6E6, Blush #F1D9CE, Sage #C7CDB0, Gold #D9A664, Ink #423244 */

.swtb {
	--swtb-ink: #423244;
	--swtb-paper: #FAF6F1;
	--swtb-line: #D9A664;          /* deeper accent for the arch outline */
	--swtb-tint: #F3E6D2;          /* soft fill behind photos / initials */
	--swtb-radius: 50% 50% 14px 14px / 40% 40% 14px 14px;
	--swtb-ratio: 4 / 5;
	color: var(--swtb-ink);
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
}

/* Accents */
.swtb--accent-sage  { --swtb-line: #9FA77F; --swtb-tint: #C7CDB0; }
.swtb--accent-blush { --swtb-line: #D4A08C; --swtb-tint: #F1D9CE; }
.swtb--accent-sky   { --swtb-line: #93B8B9; --swtb-tint: #D7E6E6; }

/* Photo shapes. The arch is an exact half-circle top on a 4:5 frame. */
.swtb--shape-circle { --swtb-radius: 50%; --swtb-ratio: 1 / 1; }
.swtb--shape-soft   { --swtb-radius: 18px; }

/* Heading */
.swtb__heading {
	font-family: "Newsreader", Georgia, serif;
	font-weight: 500;
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	line-height: 1.2;
	margin: 0 0 clamp(1.5rem, 3vw, 2.5rem);
	color: var(--swtb-ink);
}

.swtb__list {
	display: grid;
	gap: clamp(1.75rem, 4vw, 3rem);
}

/* Card surfaces */
.swtb__card { box-sizing: border-box; }

.swtb--surface-paper .swtb__card,
.swtb--surface-white .swtb__card {
	border-radius: 24px;
	padding: clamp(1.5rem, 3.5vw, 2.75rem);
}
.swtb--surface-paper .swtb__card { background: var(--swtb-paper); }
.swtb--surface-white .swtb__card {
	background: #fff;
	border: 1px solid rgba(66, 50, 68, 0.1);
}

/* Photo: a thin outline echoing the frame, like a doorway catching light. */
.swtb__photo {
	position: relative;
	margin: 9px;
}
.swtb__photo::before {
	content: "";
	position: absolute;
	inset: -9px;
	border: 1.5px solid var(--swtb-line);
	border-radius: var(--swtb-radius);
	pointer-events: none;
}
.swtb--outline-offset .swtb__photo { margin: 0 10px 10px 0; }
.swtb--outline-offset .swtb__photo::before { inset: 0; transform: translate(10px, 10px); }
.swtb--outline-none .swtb__photo { margin: 0; }
.swtb--outline-none .swtb__photo::before { display: none; }
.swtb__frame {
	position: relative;
	z-index: 1;
	aspect-ratio: var(--swtb-ratio);
	border-radius: var(--swtb-radius);
	overflow: hidden;
	background: var(--swtb-tint);
}
.swtb .swtb__img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	border-radius: 0;
}
.swtb__initials {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	font-family: "Newsreader", Georgia, serif;
	font-size: clamp(2rem, 5vw, 3rem);
	color: var(--swtb-ink);
	opacity: 0.7;
}

/* Text */
.swtb__name {
	font-family: "Newsreader", Georgia, serif;
	font-weight: 500;
	font-size: clamp(1.4rem, 2.2vw, 1.75rem);
	line-height: 1.2;
	margin: 0;
	color: var(--swtb-ink);
}
.swtb__role {
	font-family: "Work Sans", system-ui, sans-serif;
	font-size: 0.92rem;
	letter-spacing: 0.01em;
	margin: 0.4rem 0 0;
	color: var(--swtb-ink);
	opacity: 0.72;
}
.swtb__bio {
	font-family: "Newsreader", Georgia, serif;
	font-size: 1.08rem;
	line-height: 1.7;
	margin-top: 1.1rem;
	margin-left: var(--swtb-bio-mx, 0);
	margin-right: var(--swtb-bio-mx, 0);
	max-width: 62ch;
}
.swtb__bio p { margin: 0 0 0.9em; }
.swtb__bio p:last-child { margin-bottom: 0; }
.swtb__bio a {
	color: inherit;
	text-decoration: underline;
	text-decoration-color: var(--swtb-line);
	text-underline-offset: 3px;
}
.swtb__bio a:focus-visible {
	outline: 2px solid var(--swtb-line);
	outline-offset: 2px;
	border-radius: 2px;
}

/* Layout: horizontal cards, stacked */
.swtb--rows .swtb__card {
	display: grid;
	grid-template-columns: minmax(140px, 230px) 1fr;
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
}
.swtb--rows.swtb--alternate .swtb__card:nth-child(even) {
	grid-template-columns: 1fr minmax(140px, 230px);
}
.swtb--rows.swtb--alternate .swtb__card:nth-child(even) .swtb__photo { order: 2; }

/* Layout: vertical cards, side by side */
.swtb--columns .swtb__list {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	align-items: stretch;
}
.swtb--columns .swtb__card {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.swtb--columns .swtb__photo {
	width: min(210px, 70%);
	margin-bottom: 1.9rem;
}
.swtb--columns .swtb__body { width: 100%; }
/* :where() keeps these defaults below the Elementor alignment control */
:where(.swtb--columns) .swtb__body { text-align: center; --swtb-bio-mx: auto; }

/* Phones */
@media (max-width: 640px) {
	.swtb--rows .swtb__card,
	.swtb--rows.swtb--alternate .swtb__card:nth-child(even) {
		grid-template-columns: 1fr;
		justify-items: center;
	}
	.swtb--rows.swtb--alternate .swtb__card:nth-child(even) .swtb__photo { order: 0; }
	.swtb--rows .swtb__photo { width: min(200px, 62%); }
	.swtb--rows .swtb__body { width: 100%; }
	:where(.swtb--rows) .swtb__body { text-align: center; --swtb-bio-mx: auto; }
}

/* Editor placeholder */
.swtb-editor-empty {
	padding: 1.25rem 1.5rem;
	border: 1px dashed #D9A664;
	border-radius: 12px;
	background: #FAF6F1;
	color: #423244;
	font-family: "Work Sans", system-ui, sans-serif;
	font-size: 0.95rem;
}

/* Short bios sit a touch smaller so a compact section stays light */
.swtb--bio-short .swtb__bio { font-size: 1.02rem; margin-top: 0.85rem; }
