:root{--cream:#FAFAF7;--cream-2:#F2F0EA;--emerald:#0E3B2E;--emerald-light:#1B5740;--terracotta:#D97757;--terracotta-dark:#9A4A2C;--ink:#1A1A1A;--ink-soft:#4A4A4A;--line:rgba(14,59,46,0.12);--shadow:0 6px 24px rgba(14,59,46,0.08);--shadow-lg:0 16px 48px rgba(14,59,46,0.12);--radius:16px;--radius-lg:24px;--container:min(1200px,92vw);--ease:cubic-bezier(.16,1,.3,1);}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}body{font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;background:var(--cream);color:var(--ink);line-height:1.6;overflow-x:hidden;font-feature-settings:'cv11','ss01';}img,svg{max-width:100%;height:auto;display:block;}a{color:var(--emerald);text-decoration:none;transition:color .2s var(--ease);}a:hover{color:var(--terracotta);}h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;font-weight:500;line-height:1.15;letter-spacing:-0.015em;color:var(--emerald);font-variation-settings:'opsz' 96;}h1{font-size:clamp(40px,6.5vw,72px);font-weight:600;font-variation-settings:'opsz' 144;}h2{font-size:clamp(28px,4vw,44px);}h3{font-size:clamp(20px,2.5vw,28px);font-weight:500;}p{color:var(--ink-soft);}.container{width:var(--container);margin-inline:auto;padding-inline:1rem;}.site-header{position:sticky;top:0;z-index:100;background:rgba(250,250,247,0.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--line);padding:14px 0;}.header-inner{display:flex;align-items:center;justify-content:space-between;width:var(--container);margin-inline:auto;padding-inline:1rem;}.brand{font-family:'Fraunces',serif;font-weight:600;font-size:20px;color:var(--emerald);display:flex;align-items:center;gap:8px;}.brand-dot{width:10px;height:10px;border-radius:50%;background:var(--terracotta);}.nav-primary{display:flex;gap:28px;align-items:center;}.nav-primary a{font-size:14px;font-weight:500;color:var(--ink);letter-spacing:-0.01em;}.nav-cta{display:inline-flex;align-items:center;justify-content:center;line-height:1;white-space:nowrap;background:var(--emerald);color:var(--cream);padding:10px 20px;border-radius:100px;font-size:13px;font-weight:600;transition:background .2s var(--ease),color .2s var(--ease);}.nav-cta:hover{background:var(--terracotta);color:var(--cream);}.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;}.menu-toggle span{display:block;width:22px;height:2px;background:var(--emerald);margin:5px 0;transition:all .3s ease;}@media (max-width:900px){.nav-primary{display:none;}.menu-toggle{display:block;}}.hero{padding:60px 0 80px;position:relative;}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;}.hero-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:100px;background:rgba(217,119,87,0.12);color:var(--terracotta-dark);font-size:12px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;margin-bottom:24px;}.hero-tag::before{content:'◆';color:var(--terracotta);}.hero h1{margin-bottom:24px;}.hero h1 em{font-style:italic;font-weight:400;font-variation-settings:'opsz' 96;color:var(--terracotta-dark);}.hero-lede{font-size:clamp(16px,1.4vw,19px);line-height:1.65;color:var(--ink-soft);margin-bottom:32px;max-width:540px;}.hero-lede strong{color:var(--ink);font-weight:600;}.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:32px;}.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:100px;font-size:15px;font-weight:600;letter-spacing:-0.01em;transition:all .25s var(--ease);text-decoration:none;cursor:pointer;border:none;}.btn-primary{background:var(--emerald);color:var(--cream);}.btn-primary:hover{background:var(--ink);transform:translateY(-1px);box-shadow:var(--shadow);}.btn-secondary{background:transparent;color:var(--emerald);border:1.5px solid var(--emerald);}.btn-secondary:hover{background:var(--emerald);color:var(--cream);}.hero-trust{display:flex;align-items:center;gap:18px;padding:18px 0;border-top:1px solid var(--line);font-size:13px;color:var(--ink-soft);}.hero-trust strong{color:var(--ink);font-weight:600;}.hero-trust .stars{color:var(--terracotta);letter-spacing:1px;}.hero-image{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/5;background:linear-gradient(135deg,var(--emerald),var(--emerald-light));box-shadow:var(--shadow-lg);}.hero-image-frame{position:absolute;inset:0;background-image:url('https://images.unsplash.com/photo-1558979158-65a1eaa08691?w=1200');background-size:cover;background-position:center;filter:saturate(1.1) contrast(1.05);}.hero-image-overlay{position:absolute;bottom:24px;left:24px;right:24px;background:rgba(250,250,247,0.92);backdrop-filter:blur(8px);border-radius:12px;padding:16px 18px;}.hero-image-overlay-label{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--terracotta-dark);font-weight:700;margin-bottom:4px;}.hero-image-overlay-text{font-family:'Fraunces',serif;font-size:17px;color:var(--emerald);font-weight:500;}@media (max-width:900px){.hero{padding:32px 0 50px;}.hero-grid{grid-template-columns:1fr;gap:32px;}.hero-image{aspect-ratio:16/10;max-height:380px;}.hero h1{font-size:38px;}.hero-cta{gap:10px;}.btn{padding:13px 22px;font-size:14px;}}.facts{padding:80px 0;background:var(--cream-2);}.facts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-radius:var(--radius-lg);overflow:hidden;background:var(--cream);box-shadow:var(--shadow);}.fact{padding:32px 28px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);}.fact:nth-child(2n){border-right:none;}.fact:nth-last-child(-n+2){border-bottom:none;}.fact-label{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--terracotta-dark);font-weight:700;margin-bottom:8px;}.fact-value{font-family:'Fraunces',serif;font-size:22px;color:var(--emerald);font-weight:500;}.fact-value small{display:block;font-size:13px;color:var(--ink-soft);margin-top:4px;font-family:'Inter Tight',sans-serif;font-weight:400;}@media (max-width:700px){.facts{padding:48px 0;}.facts-grid{grid-template-columns:1fr;}.fact{border-right:none !important;padding:24px;}.fact:last-child{border-bottom:none;}}.services{padding:80px 0;}.section-header{max-width:720px;margin:0 auto 48px;text-align:center;}.section-tag{display:inline-block;padding:4px 12px;border-radius:100px;background:rgba(14,59,46,0.08);color:var(--emerald);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;font-weight:700;margin-bottom:16px;}.section-header h2{margin-bottom:14px;}.section-header p{font-size:17px;color:var(--ink-soft);}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;}.service-card{background:var(--cream);border-radius:var(--radius);padding:28px;border:1px solid var(--line);transition:all .3s var(--ease);display:flex;flex-direction:column;text-decoration:none;color:var(--ink);}.service-card:hover{border-color:var(--terracotta);box-shadow:var(--shadow-lg);transform:translateY(-3px);}.service-card-icon{width:48px;height:48px;border-radius:12px;background:rgba(217,119,87,0.12);display:flex;align-items:center;justify-content:center;margin-bottom:18px;font-size:22px;}.service-card h3{font-size:19px;margin-bottom:8px;color:var(--emerald);}.service-card p{font-size:14.5px;color:var(--ink-soft);margin-bottom:14px;flex:1;}.service-card-price{font-family:'Fraunces',serif;font-size:22px;color:var(--terracotta-dark);font-weight:600;}.service-card-price small{font-size:13px;color:var(--ink-soft);margin-left:4px;font-family:'Inter Tight',sans-serif;font-weight:400;}.pricing{padding:80px 0;background:var(--cream-2);}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px;}.tier{background:var(--cream);border-radius:var(--radius-lg);padding:36px 28px;border:1px solid var(--line);position:relative;transition:all .3s var(--ease);}.tier.featured{background:var(--emerald);color:var(--cream);transform:scale(1.04);box-shadow:var(--shadow-lg);}.tier.featured h3,.tier.featured .tier-price{color:var(--cream);}.tier.featured .tier-features li{color:rgba(250,250,247,0.85);border-bottom-color:rgba(250,250,247,0.12);}.tier.featured .tier-features li::before{color:var(--terracotta);}.tier-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--terracotta);color:var(--cream);padding:5px 14px;border-radius:100px;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;font-weight:700;}.tier-name{font-size:12px;letter-spacing:0.12em;text-transform:uppercase;font-weight:700;color:var(--terracotta-dark);margin-bottom:8px;}.tier.featured .tier-name{color:var(--terracotta);}.tier h3{font-size:26px;margin-bottom:6px;}.tier-price{font-family:'Fraunces',serif;font-size:48px;color:var(--emerald);font-weight:600;line-height:1;margin:14px 0 4px;}.tier-price small{font-size:16px;color:var(--ink-soft);font-family:'Inter Tight',sans-serif;font-weight:400;margin-left:4px;}.tier-period{font-size:13px;color:var(--ink-soft);margin-bottom:22px;}.tier.featured .tier-period{color:rgba(250,250,247,0.7);}.tier-features{list-style:none;padding:0;margin:0 0 24px;}.tier-features li{font-size:14px;padding:10px 0;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;gap:10px;color:var(--ink-soft);}.tier-features li::before{content:'✓';color:var(--emerald);font-weight:700;flex-shrink:0;}.tier-cta{display:block;text-align:center;padding:13px;border-radius:100px;font-weight:600;font-size:14px;background:var(--cream-2);color:var(--emerald);border:1.5px solid var(--emerald);text-decoration:none;transition:all .25s var(--ease);}.tier.featured .tier-cta{background:var(--terracotta);color:var(--cream);border-color:var(--terracotta);}.tier-cta:hover{background:var(--emerald);color:var(--cream);border-color:var(--emerald);}@media (max-width:900px){.pricing-grid{grid-template-columns:1fr;gap:14px;}.tier.featured{transform:none;}}.steps-section{padding:80px 0;}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px;position:relative;}.steps::before{content:'';position:absolute;top:28px;left:12.5%;right:12.5%;height:1px;background:var(--line);z-index:0;}.step{position:relative;z-index:1;text-align:center;}.step-num{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;background:var(--cream);border:1.5px solid var(--emerald);color:var(--emerald);font-family:'Fraunces',serif;font-size:22px;font-weight:600;display:flex;align-items:center;justify-content:center;}.step.active .step-num{background:var(--emerald);color:var(--cream);}.step h3{font-size:17px;margin-bottom:6px;}.step p{font-size:14px;color:var(--ink-soft);}@media (max-width:700px){.steps{grid-template-columns:1fr;gap:20px;}.steps::before{display:none;}.step{text-align:left;padding-left:72px;position:relative;min-height:56px;}.step-num{position:absolute;left:0;top:0;margin:0;}}.faq{padding:80px 0;background:var(--cream-2);}.faq-list{margin:48px auto 0;}.faq-item{background:var(--cream);border-radius:var(--radius);margin-bottom:12px;overflow:hidden;border:1px solid var(--line);}.faq-question{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:22px 26px;font-family:'Fraunces',serif;font-size:18px;color:var(--emerald);font-weight:500;display:flex;justify-content:space-between;align-items:center;letter-spacing:-0.01em;}.faq-question::after{content:'+';font-family:'Inter Tight',sans-serif;font-size:24px;font-weight:300;transition:transform .3s ease;color:var(--terracotta);}.faq-question[aria-expanded="true"]::after{transform:rotate(45deg);}.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease;padding:0 26px;}.faq-question[aria-expanded="true"]+.faq-answer{max-height:600px;padding-bottom:22px;}.faq-answer p{font-size:15px;line-height:1.7;color:var(--ink-soft);}.site-footer{background:var(--emerald);color:rgba(250,250,247,0.85);padding:60px 0 30px;}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:40px;}.footer-brand{font-family:'Fraunces',serif;font-size:26px;color:var(--cream);margin-bottom:14px;font-weight:600;}.footer-tagline{font-size:14px;line-height:1.6;max-width:320px;}.footer-col h4{color:var(--cream);font-size:14px;font-weight:600;margin-bottom:16px;font-family:'Inter Tight',sans-serif;letter-spacing:-0.01em;}.footer-col ul{list-style:none;padding:0;}.footer-col li{margin-bottom:10px;}.footer-col a{color:rgba(250,250,247,0.7);font-size:14px;transition:color .2s ease;}.footer-col a:hover{color:var(--terracotta);}.footer-bottom{border-top:1px solid rgba(250,250,247,0.12);padding-top:24px;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:rgba(250,250,247,0.6);flex-wrap:wrap;gap:12px;}@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px;}.footer-brand-col{grid-column:1 / -1;margin-bottom:8px;}.footer-bottom{flex-direction:column;text-align:center;gap:10px;}}@media (max-width:600px){.footer-grid{grid-template-columns:1fr;gap:28px;}.site-footer{padding:48px 0 24px;}}.mobile-cta{display:none;position:fixed;bottom:0;left:0;right:0;background:rgba(250,250,247,0.95);backdrop-filter:blur(20px);border-top:1px solid var(--line);padding:12px 14px calc(12px+env(safe-area-inset-bottom,0));z-index:99;display:flex;gap:10px;box-shadow:0 -8px 24px rgba(14,59,46,0.08);}.mobile-cta a{flex:1;text-align:center;padding:13px;border-radius:100px;font-weight:600;font-size:13px;letter-spacing:-0.01em;text-decoration:none;}.mobile-cta a:first-child{background:var(--emerald);color:var(--cream);}.mobile-cta a:last-child{background:var(--cream-2);color:var(--emerald);border:1px solid var(--emerald);}@media (min-width:901px){.mobile-cta{display:none !important;}}@media (max-width:900px){.mobile-cta{display:flex;}body{padding-bottom:70px;}}/* === ROUND 2 FIXES — a11y/bp/CLS === */
.footer-heading {
  color: #FAFAF7 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  margin-bottom: 16px !important;
  font-family: 'Inter Tight', sans-serif !important;
  letter-spacing: -0.01em;
  text-transform: none;
}
.hero-tag {
  background: #fce8df !important;
  color: #8C3F23 !important;
  font-weight: 700 !important;
}
.fact-label, .section-tag, .tier-name {
  color: #8C3F23 !important;
  font-weight: 700 !important;
}
.tier.featured .tier-name { color: #E89B7E !important; }
.tier.featured .tier-period { color: rgba(250,250,247,0.85) !important; }

/* Reduce CLS — explicit dimensions for hero image */
.hero-image {
  aspect-ratio: 4/5;
  background: linear-gradient(135deg, #0E3B2E, #1B5740);
  contain: layout;
}
.hero-image-frame img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}

/* Reserve hero text height to prevent CLS */
.hero h1 { min-height: 1.2em; }
.hero-lede { min-height: 4em; }
.hero-grid { min-height: 540px; }

/* Font fallback metrics matching */
@font-face{ font-display:swap;
  font-family: 'Fraunces Fallback';
  src: local('Georgia');
  size-adjust: 100%;
  ascent-override: 95%;
  descent-override: 25%;
 }
@font-face{ font-display:swap;
  font-family: 'Inter Tight Fallback';
  src: local('Helvetica Neue'), local('Arial');
  size-adjust: 100%;
  ascent-override: 100%;
  descent-override: 28%;
 }
body { font-family: 'Inter Tight', 'Inter Tight Fallback', -apple-system, sans-serif; }
h1,h2,h3,h4 { font-family: 'Fraunces', 'Fraunces Fallback', Georgia, serif; }

@media (max-width: 600px) {
  .hero-grid { min-height: auto; }
  .hero-image { aspect-ratio: 16/10; max-height: 320px; }
  .hero-grid { gap: 24px !important; }
}
/* === ROUND 3 a11y final === */
.tier-badge {
  background: #9A4A2C !important;
  color: #FAFAF7 !important;
}
.tier-cta { 
  background: #FAFAF7 !important; 
  color: #0E3B2E !important; 
  border: 2px solid #0E3B2E !important;
}
.tier.featured .tier-cta {
  background: #9A4A2C !important;
  color: #FAFAF7 !important;
  border-color: #9A4A2C !important;
}
.footer-tagline {
  color: rgba(250,250,247,0.92) !important;
}
.footer-col a {
  color: rgba(250,250,247,0.92) !important;
}
.footer-col a:hover {
  color: #E89B7E !important;
}
.footer-bottom {
  color: rgba(250,250,247,0.78) !important;
}
.tier small, .price-card-price small, .service-card-price small, .fact-value small, .tier-price small {
  color: rgba(74,74,74,0.85) !important;
}
.tier.featured small, .tier.featured .tier-price small {
  color: rgba(250,250,247,0.85) !important;
}
.hero-trust {
  color: #4a4a4a !important;
  font-weight: 500;
}
.tier.featured .tier-features li {
  color: rgba(250,250,247,0.95) !important;
}
.section-header p {
  color: #2A2A2A !important;
}
/* === ROUND 4 — CLS killer === */
.hero { min-height: 80vh; contain: layout; }
.hero-grid { contain: layout; }
.hero-image { width: 100%; max-width: 540px; }
.facts { min-height: 600px; contain: layout; }
.facts-grid { min-height: 480px; contain: layout; }
.services { min-height: 700px; contain: layout; }
.services-grid { contain: layout; }
.pricing-grid { contain: layout; min-height: 560px; }
.tier { contain: layout style; }
.steps { min-height: 280px; contain: layout; }
.faq-list { contain: layout; min-height: 480px; }
.faq-item { contain: layout style; }
.site-footer { min-height: 360px; contain: layout; }
.footer-grid { contain: layout; }

@media (max-width: 700px) {
  .hero { min-height: auto; padding: 24px 0 60px; }
  .hero-image { max-width: 100%; aspect-ratio: 16/10; }
  .facts { min-height: auto; }
  .facts-grid { min-height: auto; }
}

/* Hide mobile-cta until JS-ready to prevent shift */
.mobile-cta { transform: translateY(100%); transition: transform 0.3s ease; }
.js-ready .mobile-cta { transform: translateY(0); }
@media (min-width: 901px) { .mobile-cta { display: none !important; } }

/* Reserve space for fonts */
html { font-size: 16px; }
body { line-height: 1.6; }

/* Mega-dropdown overflow fix — keep panels inside the viewport.
   All mega panels are centred on the header (see .nav-dropdown-mega in the
   tailwind layer), so the older align-left anchor is intentionally NOT applied
   — it would pin the panel to the viewport's left edge now that the trigger
   <li> is position:static. */
.nav-primary .nav-dropdown-mega { max-width: calc(100vw - 24px); }

/* ============================================================================
   Page content components (native) — used by wording bodies in template-parts/.
   Ported from the Tailwind component layer so pages render consistently with the
   Services page WITHOUT depending on the compiled tailwind build.
   ============================================================================ */
.page-content > section { margin: 0 0 40px; }
.page-content > section:last-child { margin-bottom: 0; }
.page-content h2 { font-family: 'Fraunces', serif; font-size: clamp(24px, 3.4vw, 32px); color: var(--ink); margin: 0 0 14px; line-height: 1.25; }
.page-content h3 { font-family: 'Fraunces', serif; font-size: 20px; color: var(--emerald); margin: 28px 0 8px; line-height: 1.3; }
.page-content ul, .page-content ol { margin: 0 0 16px; padding-left: 22px; }
.page-content li { margin-bottom: 8px; }
.key-facts > h2 { margin-bottom: 0.4em; }

/* Fact cards (label + value) — the dominant body component */
.bftk-fact-grid { display: grid; gap: 16px; margin: 24px 0 8px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.page-content .bftk-fact-grid { margin: 1.4em 0 0.5em; }
.bftk-fact-card { background: var(--cream-2); border: 1px solid var(--line); border-radius: 14px; padding: 18px 20px; transition: box-shadow .15s ease, transform .15s ease; }
.bftk-fact-card:hover { box-shadow: 0 6px 24px rgba(14,59,46,.08); transform: translateY(-2px); }
.bftk-fact-card__label { margin-bottom: 6px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--terracotta-dark); }
.bftk-fact-card__value { font-size: 15px; line-height: 1.5; color: var(--ink); }
.bftk-fact-card__value a { font-weight: 600; color: var(--emerald); text-decoration: none; }
.bftk-fact-card__value a:hover { color: var(--terracotta); text-decoration: underline; }

/* Review cards (reviews page body) */
.review-card { background: var(--cream-2); border: 1px solid var(--line); border-radius: 16px; padding: 24px 26px; margin: 0 0 18px; }
.review-card h3 { font-family: 'Fraunces', serif; font-size: 18px; line-height: 1.3; color: var(--emerald); margin: 0 0 6px; }
.review-card > p { font-size: 13px; color: var(--terracotta-dark); font-weight: 600; margin: 0 0 12px; }
.review-card blockquote { margin: 0; padding-left: 16px; border-left: 3px solid var(--terracotta); font-size: 15px; line-height: 1.7; color: var(--ink-soft); }

/* Step lists rendered inside page bodies (<ol class="steps"><li>…) */
.page-content ol.steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin: 24px 0; padding: 0; list-style: none; counter-reset: bftk-step; }
.page-content ol.steps::before { display: none; }
.page-content ol.steps > li { counter-increment: bftk-step; background: var(--cream-2); border: 1px solid var(--line); border-radius: 14px; padding: 20px; margin: 0; }
.page-content ol.steps > li::before { content: counter(bftk-step); display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--emerald); color: var(--cream); font-weight: 600; font-size: 14px; margin-bottom: 10px; }
.page-content ol.steps > li h3 { margin: 0 0 6px; }
.page-content ol.steps > li p { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--ink-soft); }

/* ============================================================================
   Structured page sections (.about-*) — global. Used by every wording-driven
   template-part (template-parts/*.php) so all pages render with the same
   card/section system as the Services & About pages.
   ============================================================================ */
.about-section { padding: 60px 0; background: var(--cream, #FAFAF7); }
.about-section.alt { background: var(--cream-2, #F2F0EA); }
.about-section h2 { font-family: 'Fraunces', serif; font-size: clamp(26px, 4vw, 38px); margin-bottom: 14px; color: var(--ink, #1A1A1A); }
.about-intro { font-size: 17px; line-height: 1.7; color: var(--ink-soft, #4A4A4A); max-width: 780px; margin: 0 0 8px; }
.about-prose { font-size: 17px; line-height: 1.75; color: var(--ink-soft, #4A4A4A); }
.about-prose p { margin: 0 0 1.1em; }
.about-prose p:last-child { margin-bottom: 0; }
.about-prose h3 { font-family: 'Fraunces', serif; font-size: 20px; color: var(--emerald, #0E3B2E); margin: 1.4em 0 .4em; line-height: 1.3; }
.about-prose ul, .about-prose ol { margin: 0 0 1.1em; padding-left: 22px; }
.about-prose li { margin-bottom: 8px; }
.about-prose a { color: var(--terracotta, #D97757); font-weight: 600; text-decoration: none; }
.about-prose a:hover { text-decoration: underline; }
.about-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin-top: 24px; }
.about-card { background: var(--cream, #FAFAF7); border: 1px solid var(--line, rgba(14,59,46,.12)); border-radius: 16px; padding: 24px; transition: box-shadow .2s ease, transform .2s ease; }
.about-section.alt .about-card { background: var(--cream, #FAFAF7); }
.about-card:hover { box-shadow: var(--shadow-lg, 0 16px 48px rgba(14,59,46,.12)); transform: translateY(-3px); }
.about-card h3 { font-family: 'Fraunces', serif; font-size: 18px; line-height: 1.3; color: var(--emerald, #0E3B2E); margin: 0 0 8px; }
.about-card p { font-size: 14.5px; line-height: 1.65; color: var(--ink-soft, #4A4A4A); margin: 0; }
.about-fact-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; margin-top: 24px; }
.about-fact-card { background: var(--cream-2, #F2F0EA); border: 1px solid var(--line, rgba(14,59,46,.12)); border-radius: 14px; padding: 18px 20px; }
.about-section.alt .about-fact-card { background: var(--cream, #FAFAF7); }
.about-fact-card .lbl { font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--terracotta-dark, #9A4A2C); margin-bottom: 6px; }
.about-fact-card .val { font-size: 14.5px; line-height: 1.5; color: var(--ink, #1A1A1A); }
.about-fact-card .val a { color: var(--emerald, #0E3B2E); font-weight: 600; text-decoration: none; }
.about-fact-card .val a:hover { color: var(--terracotta, #D97757); text-decoration: underline; }
.about-address { font-style: normal; line-height: 1.9; background: var(--cream-2, #F2F0EA); border: 1px solid var(--line, rgba(14,59,46,.12)); border-radius: 14px; padding: 22px 26px; max-width: 560px; margin-top: 20px; }
.about-address a { color: var(--emerald, #0E3B2E); font-weight: 600; }
@media (max-width: 700px) { .about-section { padding: 44px 0; } }

/* Rich elements inside .about-prose section bodies (tables, quotes, step lists) */
.about-prose table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 15px; background: var(--cream-2, #F2F0EA); border: 1px solid var(--line, rgba(14,59,46,.12)); border-radius: 12px; overflow: hidden; }
.about-prose thead th { background: var(--emerald, #0E3B2E); color: var(--cream, #FAFAF7); text-align: left; font-weight: 600; padding: 12px 16px; font-size: 13px; letter-spacing: .01em; }
.about-prose tbody td { padding: 12px 16px; border-top: 1px solid var(--line, rgba(14,59,46,.12)); color: var(--ink-soft, #4A4A4A); }
.about-prose tbody tr:nth-child(even) td { background: rgba(14,59,46,.025); }
.about-prose blockquote { margin: 18px 0; padding: 4px 0 4px 18px; border-left: 3px solid var(--terracotta, #D97757); font-size: 16px; line-height: 1.7; color: var(--ink-soft, #4A4A4A); font-style: italic; }
.about-prose ol.steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; margin: 24px 0; padding: 0; list-style: none; counter-reset: bftk-step; }
.about-prose ol.steps::before { display: none; }
.about-prose ol.steps > li { counter-increment: bftk-step; background: var(--cream, #FAFAF7); border: 1px solid var(--line, rgba(14,59,46,.12)); border-radius: 14px; padding: 20px; margin: 0; }
.about-section.alt .about-prose ol.steps > li { background: var(--cream-2, #F2F0EA); }
.about-prose ol.steps > li::before { content: counter(bftk-step); display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--emerald, #0E3B2E); color: var(--cream, #FAFAF7); font-weight: 600; font-size: 14px; margin-bottom: 10px; }
.about-prose ol.steps > li h3 { margin: 0 0 6px; }
.about-prose ol.steps > li p { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--ink-soft, #4A4A4A); }
/* === STEP CARDS (process pages: how-it-works, arrival-process) === */
.bftk-step{display:flex;gap:24px;align-items:flex-start;}
.bftk-step-num{flex-shrink:0;width:54px;height:54px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--emerald);color:var(--cream);font-family:'Fraunces',serif;font-size:24px;font-weight:600;line-height:1;}
.bftk-step-body{flex:1;min-width:0;}
.bftk-step-body>.about-prose{margin-top:0;}
.bftk-step .about-prose h3{font-family:'Inter Tight',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--terracotta-dark);margin:1.7em 0 .7em;}
.bftk-step .about-prose ul{list-style:none;padding:0;margin:0 0 1.1em;}
.bftk-step .about-prose ul li{position:relative;padding-left:28px;margin-bottom:10px;}
.bftk-step .about-prose ul li::before{content:'\2713';position:absolute;left:0;top:0;color:var(--terracotta);font-weight:700;}
.bftk-step .about-prose ul li::marker{content:none;}
.bftk-step .about-prose ol{padding-left:22px;margin:0 0 1.1em;}
.bftk-step .about-prose ol li{margin-bottom:9px;padding-left:4px;}
@media(max-width:600px){.bftk-step{gap:16px;}.bftk-step-num{width:44px;height:44px;font-size:20px;}}
