

/* ============================================================
   BFT — BeTended Figma Template Design System
   CAR-128/CAR-159 — Homepage + About page rebuild
   Matches Figma file YNR5BVAatpK8ILvxv4ONp5 (frame 96:2 + About)
   ============================================================ */

/* === 1. LAYOUT === */
.bft-container {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 80px;
	box-sizing: border-box;
}

.bft-br-desktop { display: block; }
@media (max-width: 768px) {
	.bft-br-desktop { display: none; }
}

/* === 2. WAVE DIVIDERS === */
.bft-wave {
	display: block;
	line-height: 0;
	overflow: hidden;
}
.bft-wave svg { display: block; width: 100%; }

/* === 3. TYPOGRAPHY === */
.bft-eyebrow {
	font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin: 0 0 16px;
	display: block;
}
.bft-eyebrow--sage     { color: #CEDEE1; }
.bft-eyebrow--coral    { color: #E8886F; }
.bft-eyebrow--teal-dark { color: #29606A; }
.bft-eyebrow--white    { color: rgba(255,255,255,0.75); }

.bft-section-header     { margin-bottom: 56px; }
.bft-section-header--center { text-align: center; }

.bft-section-h2 {
	font-family: 'DM Serif Display', Georgia, serif;
	font-size: clamp(32px, 4vw, 48px);
	line-height: 1.15;
	font-weight: 400;
	margin: 0;
}
.bft-section-h2--teal      { color: #3B8D99; }
.bft-section-h2--dark-teal { color: #29606A; }
.bft-section-h2--white     { color: #FFFFFF; }
.bft-section-h2--cream     { color: #FAF8F5; }

/* === 4. BUTTONS === */
.bft-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 28px;
	font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	border-radius: 50px;
	border: 2px solid transparent;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	white-space: nowrap;
}
.bft-btn--coral { background:#E8886F; color:#fff; border-color:#E8886F; }
.bft-btn--coral:hover { background:#D4705A; border-color:#D4705A; color:#fff; text-decoration:none; }
.bft-btn--teal  { background:#3B8D99; color:#fff; border-color:#3B8D99; }
.bft-btn--teal:hover  { background:#29606A; border-color:#29606A; color:#fff; text-decoration:none; }
.bft-btn--text-white { background:transparent; color:#fff; border-color:transparent; padding-left:8px; }
.bft-btn--text-white:hover { color:#CEDEE1; text-decoration:none; }

/* === 5. HERO (HOMEPAGE) === */
.bft-hero {
	background-color: #3B8D99;
	padding: 64px 0 0;
	overflow: hidden;
}
.bft-hero__inner {
	display: grid;
	grid-template-columns: 55fr 45fr;
	align-items: center;
	gap: 48px;
	padding-bottom: 64px;
}
.bft-hero__h1 {
	font-family: 'DM Serif Display', Georgia, serif;
	font-size: clamp(42px, 5.5vw, 80px);
	font-weight: 400;
	line-height: 1.1;
	color: #fff;
	margin: 0 0 24px;
}
.bft-hero__subhead {
	font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
	font-size: clamp(16px, 1.5vw, 19px);
	line-height: 1.65;
	color: rgba(255,255,255,0.88);
	margin: 0 0 40px;
}
.bft-hero__actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.bft-hero__right {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: flex-end;
}
.bft-hero-circle {
	width: 400px; height: 400px;
	background: #CEDEE1;
	border-radius: 50%;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	overflow: hidden;
}
.bft-hero-photo {
	width: 220px; height: 360px;
	background: rgba(255,255,255,0.25);
	border-radius: 12px 12px 0 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #3B8D99;
	font-size: 12px;
	text-align: center;
	line-height: 1.4;
	padding: 16px;
}
.bft-acc {
	position: absolute;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.bft-acc--heart  { width:44px; height:44px; background:#E8886F; top:8%; right:8%; color:#fff; font-size:20px; }
.bft-acc--heart::after { content:'♥'; }
.bft-acc--sparkle { width:34px; height:34px; background:#3B8D99; bottom:25%; left:-4%; color:#fff; font-size:14px; line-height:34px; text-align:center; }
.bft-acc--dot    { width:18px; height:18px; background:#E8886F; top:50%; right:-3%; }

/* === 6. PILLARS === */
.bft-pillars { background:#FAF8F5; padding:80px 0; }
.bft-pillars__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.bft-pillar-card {
	background: #EEF7F8;
	border-radius: 16px;
	padding: 36px 32px;
	display: flex;
	flex-direction: column;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.bft-pillar-card:hover { transform:translateY(-4px); box-shadow:0 8px 24px rgba(59,141,153,0.12); }
.bft-pillar-card__icon {
	width:48px; height:48px;
	border-radius:50%;
	background:#3B8D99;
	color:#fff;
	display:flex; align-items:center; justify-content:center;
	font-size:20px;
	margin-bottom:20px;
	flex-shrink:0;
}
.bft-pillar-card__title {
	font-family: 'DM Serif Display', Georgia, serif;
	font-size: 22px;
	font-weight: 400;
	color: #333231;
	margin: 0 0 12px;
	line-height: 1.2;
}
.bft-pillar-card__body {
	font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: #4A4A48;
	margin: 0 0 auto;
	flex: 1;
}
.bft-pillar-card__link {
	font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
	font-size: 15px; font-weight:600;
	color: #3B8D99;
	text-decoration: none;
	margin-top: 24px;
	display: inline-block;
}
.bft-pillar-card__link:hover { color:#29606A; text-decoration:underline; }

/* === 7. STATS === */
.bft-stats { background:#CEDEE1; padding:80px 0; }
.bft-stats__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	position: relative;
}
.bft-stats__grid::before,
.bft-stats__grid::after {
	content:'';
	position:absolute;
	top:10%; height:80%;
	width:1px;
	background:rgba(41,96,106,0.2);
}
.bft-stats__grid::before { left:33.333%; }
.bft-stats__grid::after  { left:66.666%; }
.bft-stat-col { padding:24px 40px; text-align:center; }
.bft-stat-col__value {
	font-family: 'DM Serif Display', Georgia, serif;
	font-size: clamp(26px, 3vw, 42px);
	font-weight: 400;
	color: #29606A;
	line-height: 1.15;
	margin: 0 0 16px;
}
.bft-stat-col__rule { width:48px; height:2px; background:#3B8D99; margin:0 auto 16px; }
.bft-stat-col__label {
	font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
	font-size:16px; font-weight:600;
	color:#333231; margin:0 0 8px;
}
.bft-stat-col__sub {
	font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
	font-size:14px; line-height:1.5;
	color:#5A6B6D; margin:0;
}

/* === 8. ARTICLE LIST === */
.bft-guides-latest { background:#FAF8F5; padding:80px 0; }
.bft-articles-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0 48px;
}
.bft-article-item { padding:20px 0; }
.bft-article-item__rule { height:1px; background:#D8D4CE; margin-bottom:16px; }
.bft-article-item__cat {
	font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
	font-size:11px; font-weight:700;
	letter-spacing:0.12em; text-transform:uppercase;
	color:#E8886F; margin:0 0 8px;
}
.bft-article-item__title {
	font-family: 'DM Serif Display', Georgia, serif;
	font-size:20px; font-weight:400;
	line-height:1.25; margin:0 0 8px;
}
.bft-article-item__title a { color:#333231; text-decoration:none; }
.bft-article-item__title a:hover { color:#3B8D99; }
.bft-article-item__meta { font-size:13px; color:#72716F; margin:0 0 8px; }
.bft-article-item__link {
	font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
	font-size:14px; font-weight:600;
	color:#3B8D99; text-decoration:none;
}
.bft-article-item__link:hover { color:#29606A; text-decoration:underline; }

/* === 9. NEWSLETTER === */
.bft-newsletter { background:#3B8D99; padding:96px 0; }
.bft-newsletter__inner { text-align:center; }
.bft-newsletter__h2 {
	font-family: 'DM Serif Display', Georgia, serif;
	font-size: clamp(28px, 3.5vw, 44px);
	font-weight:400; line-height:1.2;
	color:#fff; margin:0 0 16px;
}
.bft-newsletter__sub {
	font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
	font-size:17px; line-height:1.6;
	color:rgba(255,255,255,0.85);
	margin:0 0 40px;
}
.bft-newsletter__form { max-width:560px; margin:0 auto; }
.bft-newsletter__input-row { display:flex; gap:12px; margin-bottom:16px; }
.bft-newsletter__input {
	flex:1;
	padding:14px 20px;
	font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
	font-size:16px;
	background:#fff; color:#1A1A1A;
	border:2px solid transparent;
	border-radius:50px;
	outline:none;
	transition:border-color 0.2s ease, box-shadow 0.2s ease;
}
.bft-newsletter__input:focus { border-color:#CEDEE1; box-shadow:0 0 0 3px rgba(255,255,255,0.2); }
.bft-newsletter__input::placeholder { color:#72716F; }
.bft-newsletter__submit { flex-shrink:0; }
.bft-newsletter__msg { font-size:14px; color:rgba(255,255,255,0.85); min-height:20px; margin:0; }
.bft-newsletter__disclaimer {
	font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
	font-size:13px; color:rgba(255,255,255,0.6);
	margin:20px 0 0;
}

/* === 10. FOOTER === */
.bft-footer { background:#18242D; padding:64px 0 32px; }
.bft-footer__grid {
	display:grid;
	grid-template-columns:2fr 1fr 1fr;
	gap:48px;
	margin-bottom:48px;
}
.bft-footer__brand-name {
	font-family: 'DM Serif Display', Georgia, serif;
	font-size:24px; font-weight:400;
	color:#fff; margin:0 0 8px; display:block;
}
.bft-footer__tagline {
	font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
	font-size:14px; color:rgba(255,255,255,0.5); margin:0;
}
.bft-footer__col-heading {
	font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
	font-size:13px; font-weight:700;
	letter-spacing:0.08em; text-transform:uppercase;
	color:rgba(255,255,255,0.45);
	margin:0 0 16px; display:block;
}
.bft-footer__links { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.bft-footer__links a {
	font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
	font-size:15px; color:rgba(255,255,255,0.7);
	text-decoration:none; transition:color 0.2s ease;
}
.bft-footer__links a:hover { color:#fff; }
.bft-footer__bottom {
	border-top:1px solid rgba(255,255,255,0.1);
	padding-top:24px;
	font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
	font-size:13px; color:rgba(255,255,255,0.35);
}

/* === 11. ABOUT PAGE SPECIFIC === */
.bft-about-hero {
	background:#3B8D99;
	padding:80px 0 0;
}
.bft-about-hero__inner {
	text-align:center;
	max-width:800px;
	margin:0 auto;
	padding-bottom:64px;
}
.bft-about-hero__h1 {
	font-family: 'DM Serif Display', Georgia, serif;
	font-size: clamp(38px, 5vw, 64px);
	font-weight:400; line-height:1.15;
	color:#fff; margin:0 0 24px;
}
.bft-about-hero__subhead {
	font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
	font-size: clamp(16px, 1.5vw, 19px);
	line-height:1.65;
	color:rgba(255,255,255,0.88);
	margin:0 auto;
	max-width:580px;
}

/* About belief cards */
.bft-about-mission { background:#FAF8F5; padding:80px 0; }
.bft-belief-cards {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:24px;
}
.bft-belief-card {
	background:#fff;
	border-radius:16px;
	padding:36px 32px;
	border:1px solid rgba(59,141,153,0.12);
}
.bft-belief-card__title {
	font-family: 'DM Serif Display', Georgia, serif;
	font-size:21px; font-weight:400;
	color:#3B8D99; margin:0 0 12px; line-height:1.2;
}
.bft-belief-card__body {
	font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
	font-size:16px; line-height:1.65;
	color:#4A4A48; margin:0;
}

/* About offerings (what we are / aren't) */
.bft-about-offerings { background:#CEDEE1; padding:80px 0; }
.bft-offerings-grid {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:64px;
	align-items:start;
}
.bft-offerings-col__heading {
	font-family: 'DM Serif Display', Georgia, serif;
	font-size:28px; font-weight:400;
	color:#29606A; margin:0 0 24px; line-height:1.2;
}
.bft-offerings-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; }
.bft-offerings-list li {
	font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
	font-size:16px; line-height:1.5;
	color:#333231;
	padding-left:28px;
	position:relative;
}
.bft-offerings-list li::before {
	position:absolute; left:0;
	font-weight:700;
}
.bft-offerings-list--is li::before { content:'✓'; color:#3B8D99; }
.bft-offerings-list--not li::before { content:'✕'; color:#E8886F; }

/* About start-here CTA block */
.bft-about-start { background:#FAF8F5; padding:80px 0; text-align:center; }
.bft-about-start__heading {
	font-family: 'DM Serif Display', Georgia, serif;
	font-size:clamp(28px, 3vw, 40px);
	font-weight:400; color:#333231;
	margin:0 0 16px;
}
.bft-about-start__body {
	font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
	font-size:17px; line-height:1.65;
	color:#4A4A48;
	margin:0 auto 32px;
	max-width:520px;
}

/* === 12. RESPONSIVE === */
@media (max-width:1024px) {
	.bft-container { padding:0 48px; }
}
@media (max-width:768px) {
	.bft-container { padding:0 24px; }
	.bft-hero__inner { grid-template-columns:1fr; }
	.bft-hero__right { display:none; }
	.bft-pillars__grid { grid-template-columns:1fr; }
	.bft-stats__grid { grid-template-columns:1fr; }
	.bft-stats__grid::before, .bft-stats__grid::after { display:none; }
	.bft-stat-col { padding:24px 16px; }
	.bft-articles-grid { grid-template-columns:1fr; gap:0; }
	.bft-belief-cards { grid-template-columns:1fr; }
	.bft-offerings-grid { grid-template-columns:1fr; gap:48px; }
	.bft-footer__grid { grid-template-columns:1fr; gap:32px; }
	.bft-newsletter__input-row { flex-direction:column; }
}
