/*
 * Fruit Farming blocks: shared styles for the front end and the block editor.
 * Every rule is scoped under .ffm.ffm so theme styles cannot leak in.
 * Palette values (--ffm-*) come from Settings > Fruit Farming, and per-block
 * overrides come from each block's sidebar.
 */
:root{
	--ffm-paper:#FFFFFF;--ffm-ink:#222A20;--ffm-ink-2:#4E574A;--ffm-muted:#6E7768;--ffm-line:#E4E8DF;
	--ffm-leaf:#EAF4E7;--ffm-leaf-band:#F4F9F2;--ffm-leaf-deep:#2F6B35;
	--ffm-apricot:#FFEFE3;--ffm-apricot-band:#FFF7F0;--ffm-apricot-deep:#A64B12;
	--ffm-plum:#F2ECF7;--ffm-plum-band:#F8F5FB;--ffm-plum-deep:#5E3B7D;
	--ffm-lemon:#FFF7D1;--ffm-lemon-band:#FFFBEA;--ffm-lemon-deep:#7E6400;
	--ffm-berry:#FDEBEF;--ffm-berry-band:#FEF5F7;--ffm-berry-deep:#A62B48;
	--ffm-blue:#1A5FD1;--ffm-blue-deep:#134AA6;--ffm-blue-soft:#C9D9F6;
	--ffm-font-display:"Young Serif",Georgia,"Times New Roman",serif;
	--ffm-font-body:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

/* ---------- base ---------- */
.ffm.ffm{box-sizing:border-box;position:relative;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:var(--ffm-pt,clamp(56px,7vw,92px));padding-bottom:var(--ffm-pb,clamp(56px,7vw,92px));background:var(--ffm-section-bg,var(--ffm-paper));color:var(--ffm-text,var(--ffm-ink));font-family:var(--ffm-bfont,var(--ffm-font-body));font-size:var(--ffm-fs,17.5px);line-height:1.65;text-align:left}
@media (max-width:640px){.ffm.ffm{font-size:var(--ffm-fs,16.5px)}}
.ffm.ffm *,.ffm.ffm *::before,.ffm.ffm *::after{box-sizing:border-box}
.ffm.ffm .ffm-wrap{max-width:1160px;margin:0 auto;padding:0 22px}
.ffm.ffm .ffm-prose{max-width:70ch}
.ffm.ffm .ffm-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ffm.ffm .ffm-two{display:grid;gap:clamp(32px,5vw,56px);grid-template-columns:1fr}
@media (min-width:940px){.ffm.ffm .ffm-two{grid-template-columns:1.1fr .9fr;align-items:start}}
.ffm.ffm .ffm-two>*,.ffm.ffm .ffm-hero-grid>*,.ffm.ffm .ffm-ahero-grid>*{min-width:0}

/* background bands */
.ffm.ffm.ffm-band-leaf{background:var(--ffm-section-bg,var(--ffm-leaf-band));border-top:1px solid var(--ffm-section-border,#E1EEDC);border-bottom:1px solid var(--ffm-section-border,#E1EEDC)}
.ffm.ffm.ffm-band-apricot{background:var(--ffm-section-bg,var(--ffm-apricot-band));border-top:1px solid var(--ffm-section-border,#F7E3D3);border-bottom:1px solid var(--ffm-section-border,#F7E3D3)}
.ffm.ffm.ffm-band-plum{background:var(--ffm-section-bg,var(--ffm-plum-band));border-top:1px solid var(--ffm-section-border,#E9E0F1);border-bottom:1px solid var(--ffm-section-border,#E9E0F1)}
.ffm.ffm.ffm-band-lemon{background:var(--ffm-section-bg,var(--ffm-lemon-band));border-top:1px solid var(--ffm-section-border,#F3EAC2);border-bottom:1px solid var(--ffm-section-border,#F3EAC2)}
.ffm.ffm.ffm-band-berry{background:var(--ffm-section-bg,var(--ffm-berry-band));border-top:1px solid var(--ffm-section-border,#F5D9E0);border-bottom:1px solid var(--ffm-section-border,#F5D9E0)}

/* headings and text */
.ffm.ffm .ffm-h1,.ffm.ffm .ffm-h2,.ffm.ffm .ffm-h3{font-family:var(--ffm-hfont,var(--ffm-font-display));color:var(--ffm-heading,var(--ffm-ink));font-weight:400;font-style:normal;margin:0 0 .5em;padding:0;line-height:1.14;letter-spacing:-.005em;text-transform:none;border:0;background:none}
.ffm.ffm .ffm-h1{font-size:var(--ffm-h1,clamp(36px,5vw,58px));line-height:1.06;overflow-wrap:anywhere}
.ffm.ffm .ffm-h2{font-size:var(--ffm-h2,clamp(28px,3.3vw,40px))}
.ffm.ffm .ffm-h3{font-size:var(--ffm-h3,21px);line-height:1.28}
.ffm.ffm .ffm-p{margin:0 0 1em;padding:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit}
.ffm.ffm .ffm-p strong,.ffm.ffm .ffm-p b,.ffm.ffm li strong{font-weight:700;color:var(--ffm-text,var(--ffm-ink))}
.ffm.ffm .ffm-lead{font-size:calc(var(--ffm-fs,17.5px)*1.12);color:var(--ffm-text-2,var(--ffm-ink-2))}
.ffm.ffm .ffm-src{margin:16px 0 0;font-size:calc(var(--ffm-fs,17.5px)*.8);line-height:1.55;color:var(--ffm-muted-c,var(--ffm-muted))}
.ffm.ffm .ffm-small{font-size:calc(var(--ffm-fs,17.5px)*.82);color:var(--ffm-muted-c,var(--ffm-muted))}
.ffm.ffm .ffm-mini{margin:30px 0 12px}

/* links */
.ffm.ffm a{color:var(--ffm-link,var(--ffm-blue));text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;border:0;box-shadow:none;background:none;font-weight:inherit}
.ffm.ffm a:hover,.ffm.ffm a:focus{color:var(--ffm-link-hover,var(--ffm-blue-deep))}
.ffm.ffm a:focus-visible,.ffm.ffm summary:focus-visible{outline:3px solid #8DB2F7;outline-offset:2px;border-radius:4px}

/* lists reset */
.ffm.ffm .ffm-ul,.ffm.ffm .ffm-ol{margin:0;padding:0;list-style:none}
.ffm.ffm .ffm-ul>li,.ffm.ffm .ffm-ol>li{margin:0;padding:0;list-style:none;background:none;border:0}
.ffm.ffm .ffm-ul>li::before,.ffm.ffm .ffm-ol>li::before,.ffm.ffm .ffm-ul>li::marker,.ffm.ffm .ffm-ol>li::marker{content:none}

/* buttons */
.ffm.ffm .ffm-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 18px}
.ffm.ffm a.ffm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--ffm-btn-h,50px);padding:0 var(--ffm-btn-px,22px);border-radius:var(--ffm-btn-r,999px);font-family:var(--ffm-bfont,var(--ffm-font-body));font-weight:700;font-size:var(--ffm-btn-fs,16.5px);line-height:1.2;text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.ffm.ffm a.ffm-btn-primary{background:var(--ffm-btn-bg,var(--ffm-blue));color:var(--ffm-btn-c,#FFFFFF);border:2px solid transparent}
.ffm.ffm a.ffm-btn-primary:hover,.ffm.ffm a.ffm-btn-primary:focus{background:var(--ffm-btn-bg-h,var(--ffm-blue-deep));color:var(--ffm-btn-c-h,#FFFFFF)}
.ffm.ffm a.ffm-btn-secondary{background:var(--ffm-btn2-bg,#FFFFFF);color:var(--ffm-btn2-c,var(--ffm-blue));border:2px solid var(--ffm-btn2-b,var(--ffm-blue-soft))}
.ffm.ffm a.ffm-btn-secondary:hover,.ffm.ffm a.ffm-btn-secondary:focus{background:var(--ffm-btn2-bg-h,#EEF3FC);color:var(--ffm-btn2-c-h,var(--ffm-blue-deep));border-color:var(--ffm-btn2-b-h,var(--ffm-blue))}

/* ---------- hero with orchard arch ---------- */
.ffm.ffm.ffm-hero{padding-top:var(--ffm-pt,clamp(40px,6vw,76px));padding-bottom:var(--ffm-pb,clamp(56px,7vw,88px))}
.ffm.ffm .ffm-hero-grid{display:grid;gap:44px;align-items:center;grid-template-columns:1fr}
@media (min-width:960px){.ffm.ffm .ffm-hero-grid{grid-template-columns:1.1fr .9fr}}
.ffm.ffm .ffm-trust{max-width:58ch;margin:0;font-size:calc(var(--ffm-fs,17.5px)*.83);color:var(--ffm-muted-c,var(--ffm-muted))}
.ffm.ffm .ffm-hero-art{position:relative;width:100%;max-width:450px;margin:0 auto}
.ffm.ffm .ffm-arch{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:240px 240px 26px 26px;background:var(--ffm-leaf);box-shadow:0 0 0 10px var(--ffm-accent,var(--ffm-apricot)),0 0 0 11px #F2D3BC}
.ffm.ffm .ffm-arch-art,.ffm.ffm img.ffm-arch-img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;margin:0;padding:0;object-fit:cover;border:0;border-radius:0}
.ffm.ffm .ffm-hero-tag{position:absolute;right:-8px;bottom:30px;max-width:230px;padding:12px 14px;background:var(--ffm-card-bg,#FFFFFF);border:1px solid var(--ffm-card-border,var(--ffm-line));border-radius:14px;box-shadow:0 14px 30px -20px rgba(34,42,32,.45)}
.ffm.ffm .ffm-tag-val{display:block;font-family:var(--ffm-hfont,var(--ffm-font-display));font-weight:400;font-size:28px;line-height:1.05;color:var(--ffm-marker,var(--ffm-leaf-deep))}
.ffm.ffm .ffm-tag-text{display:block;font-size:13.5px;line-height:1.4;color:var(--ffm-text-2,var(--ffm-ink-2))}
.ffm.ffm .ffm-tag-src{display:block;margin-top:4px;font-size:12px;color:var(--ffm-muted-c,var(--ffm-muted))}
@media (max-width:520px){.ffm.ffm .ffm-hero-tag{right:0;bottom:8px;max-width:210px}}

/* ---------- crate labels ---------- */
.ffm.ffm .ffm-crates{display:grid;gap:14px;grid-template-columns:1fr;margin-top:24px}
@media (min-width:640px){.ffm.ffm .ffm-crates{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:980px){.ffm.ffm .ffm-crates{grid-template-columns:repeat(var(--ffm-cols,3),minmax(0,1fr))}}
.ffm.ffm .ffm-crates>li.ffm-crate{position:relative;padding:20px 20px 18px;background:var(--ffm-card-bg,#FFFFFF);border:1px solid var(--ffm-card-border,#E6D9C8);border-radius:12px;outline:1px dashed var(--ffm-card-border,#E6D9C8);outline-offset:-8px}
.ffm.ffm .ffm-stamp{display:inline-block;margin-bottom:8px;padding:2px 9px;border:1px solid currentColor;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.02em;color:var(--ffm-marker,var(--ffm-apricot-deep))}
.ffm.ffm .ffm-crate-leaf .ffm-stamp{color:var(--ffm-leaf-deep)}
.ffm.ffm .ffm-crate-plum .ffm-stamp{color:var(--ffm-plum-deep)}
.ffm.ffm .ffm-crate-val{display:block;font-family:var(--ffm-hfont,var(--ffm-font-display));font-weight:400;font-size:clamp(26px,2.5vw,32px);line-height:1.1}
.ffm.ffm .ffm-crate-label{display:block;margin-top:4px;font-size:calc(var(--ffm-fs,17.5px)*.86);color:var(--ffm-text-2,var(--ffm-ink-2))}

/* ---------- cards ---------- */
.ffm.ffm .ffm-cards{display:grid;gap:16px;grid-template-columns:1fr;margin-top:24px}
@media (min-width:640px){.ffm.ffm .ffm-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.ffm.ffm .ffm-cards-plain{grid-template-columns:repeat(var(--ffm-cols,3),minmax(0,1fr))}}
@media (min-width:1000px){.ffm.ffm .ffm-cards-accent{grid-template-columns:repeat(var(--ffm-cols,2),minmax(0,1fr))}}
.ffm.ffm .ffm-fruit-cards{display:grid;gap:14px;grid-template-columns:1fr;margin-top:12px}
.ffm.ffm .ffm-cards>li.ffm-card,.ffm.ffm .ffm-fruit-cards>li.ffm-card{padding:20px;background:var(--ffm-card-bg,#FFFFFF);border:1px solid var(--ffm-card-border,var(--ffm-line));border-radius:16px}
.ffm.ffm .ffm-cards-accent>li.ffm-card{border-left:5px solid var(--ffm-accent,#E2574C);border-radius:14px}
.ffm.ffm .ffm-card-title{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:var(--ffm-h3,20px)}
.ffm.ffm .ffm-card-icon{flex:0 0 34px;width:34px;height:34px}
.ffm.ffm .ffm-card-text{margin:0;font-size:calc(var(--ffm-fs,17.5px)*.89);color:var(--ffm-text-2,var(--ffm-ink-2))}

/* ---------- table ---------- */
.ffm.ffm .ffm-table-wrap{overflow-x:auto;margin-top:22px;background:var(--ffm-card-bg,#FFFFFF);border:1px solid var(--ffm-card-border,var(--ffm-line));border-radius:16px}
.ffm.ffm table.ffm-table{width:100%;min-width:660px;margin:0;border:0;border-collapse:collapse;background:none;font-size:calc(var(--ffm-fs,17.5px)*.89)}
.ffm.ffm table.ffm-table-c3{min-width:560px}
.ffm.ffm table.ffm-table-c2{min-width:420px}
.ffm.ffm .ffm-table th,.ffm.ffm .ffm-table td{padding:13px 16px;border:0;border-bottom:1px solid var(--ffm-card-border,var(--ffm-line));background:none;color:inherit;font-family:inherit;line-height:1.5;text-align:left;vertical-align:top}
.ffm.ffm .ffm-table thead th{background:var(--ffm-accent,var(--ffm-apricot));font-size:calc(var(--ffm-fs,17.5px)*.83);font-weight:700}
.ffm.ffm .ffm-table tbody tr:last-child th,.ffm.ffm .ffm-table tbody tr:last-child td{border-bottom:0}
.ffm.ffm .ffm-table tbody th{font-weight:700}
.ffm.ffm .ffm-cell-note{display:block;font-size:13px;font-weight:400;color:var(--ffm-muted-c,var(--ffm-muted))}
.ffm.ffm .ffm-after{margin-top:28px}

/* ---------- years to first fruit ---------- */
.ffm.ffm .ffm-years{margin-top:24px;padding:20px 20px 14px;background:var(--ffm-card-bg,#FFFFFF);border:1px solid var(--ffm-card-border,var(--ffm-line));border-radius:18px}
.ffm.ffm .ffm-yr-row{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:center;padding:7px 0;border-bottom:1px dashed var(--ffm-line)}
.ffm.ffm .ffm-yr-name{font-size:15px;font-weight:600;line-height:1.3}
.ffm.ffm .ffm-yr-name small{display:block;font-weight:400;font-size:12px;color:var(--ffm-muted-c,var(--ffm-muted))}
.ffm.ffm .ffm-yr-track{position:relative;height:22px;border-radius:999px;background:repeating-linear-gradient(90deg,#F3F5F0 0 calc(var(--ffm-seg,12.5%) - 1px),#E4E8DF calc(var(--ffm-seg,12.5%) - 1px) var(--ffm-seg,12.5%))}
.ffm.ffm .ffm-yr-bar{position:absolute;top:3px;bottom:3px;border-radius:999px;background:var(--ffm-accent,var(--ffm-leaf-deep));font-style:normal}
.ffm.ffm .ffm-yr-small{background:var(--ffm-marker,#C94B5F)}
.ffm.ffm .ffm-yr-open::after{content:"";position:absolute;right:-18px;top:0;bottom:0;width:18px;border-radius:0 999px 999px 0;background:repeating-linear-gradient(90deg,rgba(201,75,95,.45) 0 3px,transparent 3px 6px)}
.ffm.ffm .ffm-yr-bar span{position:absolute;left:100%;top:50%;transform:translate(8px,-50%);font-size:12.5px;font-weight:700;white-space:nowrap;color:var(--ffm-text-2,var(--ffm-ink-2))}
.ffm.ffm .ffm-yr-open span{transform:translate(24px,-50%)}
.ffm.ffm .ffm-yr-axis{display:grid;grid-template-columns:150px 1fr;gap:12px;margin-top:6px}
.ffm.ffm .ffm-yr-axis ol{display:flex;justify-content:space-between;margin:0;padding:0;list-style:none;font-size:12px;color:var(--ffm-muted-c,var(--ffm-muted))}
.ffm.ffm .ffm-yr-axis li{margin:0;padding:0}
.ffm.ffm .ffm-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;font-size:13.5px;color:var(--ffm-text-2,var(--ffm-ink-2))}
.ffm.ffm .ffm-legend span::before{content:"";display:inline-block;width:12px;height:12px;margin-right:6px;border-radius:3px;vertical-align:-1px;background:var(--ffm-marker,#C94B5F)}
.ffm.ffm .ffm-legend .ffm-legend-tree::before{background:var(--ffm-accent,var(--ffm-leaf-deep))}
.ffm.ffm .ffm-answers{margin-top:30px}
@media (max-width:600px){.ffm.ffm .ffm-yr-row,.ffm.ffm .ffm-yr-axis{grid-template-columns:110px 1fr}.ffm.ffm .ffm-yr-name{font-size:13.5px}}

/* ---------- climate and site ---------- */
.ffm.ffm .ffm-fit{display:grid;gap:16px;grid-template-columns:1fr;margin-top:24px}
@media (min-width:860px){.ffm.ffm .ffm-fit{grid-template-columns:repeat(var(--ffm-cols,3),minmax(0,1fr))}}
.ffm.ffm .ffm-fit-card{padding:22px;background:var(--ffm-card-bg,#FFFFFF);border:1px solid var(--ffm-card-border,#F1DECF);border-radius:18px}
.ffm.ffm .ffm-fit-tag{display:inline-block;margin-bottom:10px;padding:3px 10px;border-radius:999px;background:var(--ffm-accent,var(--ffm-apricot));color:var(--ffm-apricot-deep);font-size:13px;font-weight:700}
.ffm.ffm .ffm-fit-card .ffm-p{margin:0;font-size:calc(var(--ffm-fs,17.5px)*.89);color:var(--ffm-text-2,var(--ffm-ink-2))}
.ffm.ffm .ffm-checklist{display:grid;gap:10px;grid-template-columns:1fr}
@media (min-width:760px){.ffm.ffm .ffm-checklist{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ffm.ffm .ffm-checklist>li{position:relative;padding:12px 14px 12px 44px;background:var(--ffm-card-bg,#FFFFFF);border:1px solid var(--ffm-card-border,#F1DECF);border-radius:14px;font-size:calc(var(--ffm-fs,17.5px)*.89);color:var(--ffm-text-2,var(--ffm-ink-2))}
.ffm.ffm .ffm-checklist>li::before{content:"";position:absolute;left:14px;top:14px;width:18px;height:18px;border-radius:50%;background:var(--ffm-leaf)}
.ffm.ffm .ffm-checklist>li::after{content:"";position:absolute;left:20px;top:17px;width:5px;height:9px;border:solid var(--ffm-marker,var(--ffm-leaf-deep));border-width:0 2px 2px 0;transform:rotate(45deg)}

/* ---------- season cards ---------- */
.ffm.ffm .ffm-season{display:grid;gap:14px;grid-template-columns:1fr;margin-top:22px}
@media (min-width:760px){.ffm.ffm .ffm-season{grid-template-columns:repeat(var(--ffm-cols,3),minmax(0,1fr))}}
.ffm.ffm .ffm-season-card{padding:16px 18px;background:var(--ffm-card-bg,var(--ffm-leaf));border:1px solid var(--ffm-card-border,transparent);border-radius:14px}
.ffm.ffm .ffm-season-title{display:block;margin-bottom:2px;font-family:var(--ffm-hfont,var(--ffm-font-display));font-weight:400;font-size:20px}
.ffm.ffm .ffm-season-text{font-size:calc(var(--ffm-fs,17.5px)*.85);color:var(--ffm-text-2,var(--ffm-ink-2))}

/* ---------- numbered steps ---------- */
.ffm.ffm .ffm-steps{display:grid;gap:14px;grid-template-columns:1fr;margin-top:24px}
@media (min-width:700px){.ffm.ffm .ffm-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1040px){.ffm.ffm .ffm-steps{grid-template-columns:repeat(var(--ffm-cols,3),minmax(0,1fr))}}
.ffm.ffm .ffm-steps>li.ffm-step{position:relative;padding:20px 18px 18px 72px;background:var(--ffm-card-bg,#FFFFFF);border:1px solid var(--ffm-card-border,var(--ffm-line));border-radius:16px}
.ffm.ffm .ffm-step-num{position:absolute;left:18px;top:18px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ffm-accent,var(--ffm-leaf));border:2px solid var(--ffm-marker,var(--ffm-leaf-deep));font-family:var(--ffm-hfont,var(--ffm-font-display));font-size:18px;line-height:1;color:var(--ffm-leaf-deep)}
.ffm.ffm .ffm-step .ffm-h3{margin-bottom:4px;font-size:var(--ffm-h3,19px)}
.ffm.ffm .ffm-step .ffm-p{margin:0;font-size:calc(var(--ffm-fs,17.5px)*.875);color:var(--ffm-text-2,var(--ffm-ink-2))}

/* ---------- drip ---------- */
.ffm.ffm .ffm-points>li{position:relative;padding:12px 0 12px 34px;border-bottom:1px solid var(--ffm-line);font-size:calc(var(--ffm-fs,17.5px)*.9);color:var(--ffm-text-2,var(--ffm-ink-2))}
.ffm.ffm .ffm-points>li:last-child{border-bottom:0}
.ffm.ffm .ffm-points>li::before{content:"";position:absolute;left:4px;top:19px;width:14px;height:14px;border-radius:50%;background:var(--ffm-marker,#7FB6E8);box-shadow:0 0 0 4px #E6F1FB}
.ffm.ffm .ffm-drip-fig{margin:0;padding:18px;background:var(--ffm-card-bg,#FFFFFF);border:1px solid var(--ffm-card-border,var(--ffm-line));border-radius:18px}
.ffm.ffm .ffm-drip-svg{display:block;width:100%;height:auto}
.ffm.ffm .ffm-drip-fig figcaption{margin-top:8px;font-size:13.5px;text-align:center;color:var(--ffm-muted-c,var(--ffm-muted))}

/* ---------- facts with alert ---------- */
.ffm.ffm .ffm-facts>li{padding:14px 0;border-bottom:1px solid #EFE5BE;font-size:calc(var(--ffm-fs,17.5px)*.9);color:var(--ffm-text-2,var(--ffm-ink-2))}
.ffm.ffm .ffm-facts>li:last-child{border-bottom:0}
.ffm.ffm .ffm-alert{padding:22px;background:var(--ffm-card-bg,#FFFFFF);border:2px solid var(--ffm-card-border,#E8B2BF);border-radius:18px}
.ffm.ffm .ffm-alert .ffm-h3{color:var(--ffm-berry-deep)}
.ffm.ffm .ffm-alert .ffm-p{font-size:calc(var(--ffm-fs,17.5px)*.89);color:var(--ffm-text-2,var(--ffm-ink-2))}
.ffm.ffm .ffm-alert .ffm-p:last-child{margin:0}

/* ---------- two lists ---------- */
.ffm.ffm .ffm-lists{display:grid;gap:16px;grid-template-columns:1fr;margin-top:22px}
@media (min-width:820px){.ffm.ffm .ffm-lists{grid-template-columns:1fr 1fr}}
.ffm.ffm .ffm-list-card{padding:22px;background:var(--ffm-card-bg,#FFFFFF);border:1px solid var(--ffm-card-border,var(--ffm-line));border-top:5px solid var(--ffm-leaf-deep);border-radius:18px}
.ffm.ffm .ffm-lc-berry{border-top-color:#C94B5F}
.ffm.ffm .ffm-lc-cross{border-top-color:var(--ffm-berry-deep)}
.ffm.ffm .ffm-marks>li{position:relative;margin:0 0 9px;padding:0 0 0 28px;font-size:calc(var(--ffm-fs,17.5px)*.89);color:var(--ffm-text-2,var(--ffm-ink-2))}
.ffm.ffm .ffm-marks-berry>li::before,.ffm.ffm .ffm-marks-leaf>li::before{content:"";position:absolute;left:4px;top:9px;width:9px;height:9px;border-radius:50%;background:#C94B5F}
.ffm.ffm .ffm-marks-leaf>li::before{background:var(--ffm-leaf-deep)}
.ffm.ffm .ffm-marks-check>li::before,.ffm.ffm .ffm-marks-cross>li::before{content:"";position:absolute;left:0;top:6px;width:16px;height:16px;border-radius:50%;background:var(--ffm-leaf)}
.ffm.ffm .ffm-marks-check>li::after{content:"";position:absolute;left:6px;top:9px;width:4px;height:8px;border:solid var(--ffm-leaf-deep);border-width:0 2px 2px 0;transform:rotate(45deg)}
.ffm.ffm .ffm-marks-cross>li::before{background:var(--ffm-berry)}
.ffm.ffm .ffm-marks-cross>li::after{content:"\00D7";position:absolute;left:4px;top:1px;font-size:14px;font-weight:700;line-height:1.4;color:var(--ffm-berry-deep)}
.ffm.ffm .ffm-callout{margin-top:18px;padding:18px 20px;background:var(--ffm-accent,var(--ffm-leaf));border-radius:16px}
.ffm.ffm .ffm-callout .ffm-p{margin:0}
.ffm.ffm .ffm-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.ffm.ffm a.ffm-chip{display:inline-block;padding:7px 12px;background:#FFFFFF;border:1px solid var(--ffm-blue-soft);border-radius:999px;font-size:calc(var(--ffm-fs,17.5px)*.83);text-decoration:none}
.ffm.ffm a.ffm-chip:hover{background:#EEF3FC}

/* ---------- tagged stages ---------- */
.ffm.ffm .ffm-stages{display:grid;gap:12px;grid-template-columns:1fr;margin-top:22px}
@media (min-width:860px){.ffm.ffm .ffm-stages{grid-template-columns:repeat(var(--ffm-cols,3),minmax(0,1fr))}}
.ffm.ffm .ffm-stages>li.ffm-stage{padding:16px 18px;background:var(--ffm-card-bg,#FFFFFF);border:1px solid var(--ffm-card-border,#E9E0F1);border-radius:14px}
.ffm.ffm .ffm-stage-tag{display:inline-block;margin-bottom:6px;padding:2px 10px;border-radius:999px;background:var(--ffm-accent,var(--ffm-plum));color:var(--ffm-marker,var(--ffm-plum-deep));font-size:13px;font-weight:700}
.ffm.ffm .ffm-stage .ffm-h3{margin-bottom:4px;font-size:var(--ffm-h3,18.5px)}
.ffm.ffm .ffm-stage .ffm-p{margin:0;font-size:calc(var(--ffm-fs,17.5px)*.86);color:var(--ffm-text-2,var(--ffm-ink-2))}

/* ---------- milestones ---------- */
.ffm.ffm .ffm-miles{display:grid;gap:14px;grid-template-columns:1fr;margin-top:22px}
@media (min-width:820px){.ffm.ffm .ffm-miles{grid-template-columns:repeat(var(--ffm-cols,3),minmax(0,1fr))}}
.ffm.ffm .ffm-mile{position:relative;padding:18px;background:var(--ffm-card-bg,#FFFFFF);border:1px solid var(--ffm-card-border,var(--ffm-line));border-radius:16px}
@media (min-width:820px){.ffm.ffm .ffm-mile+.ffm-mile::before{content:"";position:absolute;left:-15px;top:50%;width:16px;height:2px;background:#C9DCC4}}
.ffm.ffm .ffm-mile-title{display:block;font-family:var(--ffm-hfont,var(--ffm-font-display));font-weight:400;font-size:22px;color:var(--ffm-marker,var(--ffm-leaf-deep))}
.ffm.ffm .ffm-mile-text{font-size:calc(var(--ffm-fs,17.5px)*.86);color:var(--ffm-text-2,var(--ffm-ink-2))}

/* ---------- latest guides ---------- */
.ffm.ffm .ffm-latest-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}
.ffm.ffm .ffm-latest-head .ffm-h2{margin:0}
.ffm.ffm a.ffm-see-all{font-weight:600}
.ffm.ffm .ffm-posts{display:grid;gap:18px;grid-template-columns:1fr;margin-top:22px}
@media (min-width:640px){.ffm.ffm .ffm-posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.ffm.ffm .ffm-posts{grid-template-columns:repeat(var(--ffm-cols,3),minmax(0,1fr))}}
.ffm.ffm .ffm-posts>li.ffm-post{display:flex;flex-direction:column;overflow:hidden;background:var(--ffm-card-bg,#FFFFFF);border:1px solid var(--ffm-card-border,var(--ffm-line));border-radius:16px}
.ffm.ffm .ffm-post-thumb{display:grid;place-items:center;height:150px;overflow:hidden}
.ffm.ffm .ffm-post-thumb img{display:block;width:100%;height:100%;max-width:none;margin:0;object-fit:cover;border:0;border-radius:0}
.ffm.ffm .ffm-post-icon{width:60px;height:60px}
.ffm.ffm .ffm-tint-leaf{background:var(--ffm-leaf)}
.ffm.ffm .ffm-tint-apricot{background:var(--ffm-apricot)}
.ffm.ffm .ffm-tint-plum{background:var(--ffm-plum)}
.ffm.ffm .ffm-tint-lemon{background:var(--ffm-lemon)}
.ffm.ffm .ffm-tint-berry{background:var(--ffm-berry)}
.ffm.ffm .ffm-post-body{padding:16px 18px 18px}
.ffm.ffm .ffm-post-cat{margin:0 0 4px;font-size:13.5px;font-weight:700;color:var(--ffm-accent,var(--ffm-leaf-deep))}
.ffm.ffm .ffm-post-title{margin:0 0 6px;font-size:var(--ffm-h3,19px);line-height:1.3}
.ffm.ffm .ffm-post-title a{color:var(--ffm-heading,var(--ffm-ink));text-decoration:none}
.ffm.ffm .ffm-post-title a:hover{color:var(--ffm-link,var(--ffm-blue));text-decoration:underline}
.ffm.ffm .ffm-post-text{margin:0 0 8px;font-size:calc(var(--ffm-fs,17.5px)*.86);color:var(--ffm-text-2,var(--ffm-ink-2))}
.ffm.ffm .ffm-post-date{margin:0;font-size:13.5px;color:var(--ffm-muted-c,var(--ffm-muted))}

/* ---------- faq ---------- */
.ffm.ffm .ffm-faq>*{max-width:860px}
.ffm.ffm .ffm-faq-item{margin:0 0 10px;background:var(--ffm-card-bg,#FFFFFF);border:1px solid var(--ffm-card-border,#E1EEDC);border-radius:14px}
.ffm.ffm .ffm-faq-q{position:relative;display:block;margin:0;padding:16px 50px 16px 20px;font-weight:700;color:var(--ffm-heading,var(--ffm-ink));cursor:pointer;list-style:none}
.ffm.ffm .ffm-faq-q::-webkit-details-marker{display:none}
.ffm.ffm summary.ffm-faq-q::after{content:"";position:absolute;right:20px;top:50%;width:10px;height:10px;border-right:2px solid var(--ffm-marker,var(--ffm-leaf-deep));border-bottom:2px solid var(--ffm-marker,var(--ffm-leaf-deep));transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.ffm.ffm details[open]>summary.ffm-faq-q::after{transform:translateY(-30%) rotate(-135deg)}
.ffm.ffm .ffm-faq-a{margin:0;padding:0 20px 16px;color:var(--ffm-text-2,var(--ffm-ink-2))}

/* ---------- how we work ---------- */
.ffm.ffm .ffm-sources-title{margin-top:6px}
.ffm.ffm .ffm-sources{border-top:1px solid var(--ffm-line)}
.ffm.ffm .ffm-sources>li{padding:11px 0;border-bottom:1px solid var(--ffm-line);font-size:calc(var(--ffm-fs,17.5px)*.89)}
.ffm.ffm .ffm-source-name{display:block;font-weight:600}
.ffm.ffm .ffm-source-desc{display:block;font-size:14px;color:var(--ffm-muted-c,var(--ffm-muted))}

/* ---------- contact ---------- */
.ffm.ffm .ffm-contact-grid{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:860px){.ffm.ffm .ffm-contact-grid{grid-template-columns:repeat(var(--ffm-cols,3),minmax(0,1fr))}}
.ffm.ffm .ffm-cbox{padding:20px;background:var(--ffm-card-bg,#FFFFFF);border:1px solid var(--ffm-card-border,#E9E0F1);border-radius:16px}
.ffm.ffm .ffm-cbox .ffm-h3{font-size:var(--ffm-h3,19px)}
.ffm.ffm .ffm-cbox .ffm-p{margin:0 0 8px;font-size:calc(var(--ffm-fs,17.5px)*.89);color:var(--ffm-text-2,var(--ffm-ink-2))}
.ffm.ffm .ffm-cbox .ffm-cbox-mail{font-weight:700;overflow-wrap:anywhere}
.ffm.ffm .ffm-cbox .ffm-cbox-note{margin:0;font-size:14px;color:var(--ffm-muted-c,var(--ffm-muted))}
.ffm.ffm .ffm-cbox-help{background:var(--ffm-leaf);border-color:#D6E8D0}
.ffm.ffm .ffm-contact-foot{margin-top:18px}

/* ---------- about hero ---------- */
.ffm.ffm.ffm-ahero{padding-top:var(--ffm-pt,clamp(44px,6vw,80px))}
.ffm.ffm .ffm-ahero-grid{display:grid;gap:40px;align-items:center;grid-template-columns:1fr}
@media (min-width:940px){.ffm.ffm .ffm-ahero-grid{grid-template-columns:1.25fr .75fr}}
.ffm.ffm .ffm-glance{position:relative;padding:22px 22px 14px;background:var(--ffm-card-bg,#FFFFFF);border:1px solid var(--ffm-card-border,#E6D9C8);border-radius:14px;outline:1px dashed var(--ffm-card-border,#E6D9C8);outline-offset:-9px;box-shadow:0 18px 40px -30px rgba(34,42,32,.5)}
.ffm.ffm .ffm-glance-title{margin:0 0 8px;font-size:24px}
.ffm.ffm .ffm-glance-rows{margin:0}
.ffm.ffm .ffm-glance-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px dotted #DCCDB8;font-size:calc(var(--ffm-fs,17.5px)*.875)}
.ffm.ffm .ffm-glance-row:last-child{border-bottom:0}
.ffm.ffm .ffm-glance-row dt{margin:0;font-weight:400;color:var(--ffm-text-2,var(--ffm-ink-2))}
.ffm.ffm .ffm-glance-row dd{margin:0;font-weight:700;text-align:right}

/* ---------- team ---------- */
.ffm.ffm .ffm-team{display:grid;gap:18px;grid-template-columns:1fr;margin-top:26px}
@media (min-width:640px){.ffm.ffm .ffm-team{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1040px){.ffm.ffm .ffm-team{grid-template-columns:repeat(var(--ffm-cols,4),minmax(0,1fr))}}
.ffm.ffm .ffm-team>li.ffm-member{padding:22px 20px;text-align:center;background:var(--ffm-card-bg,#FFFFFF);border:1px solid var(--ffm-card-border,var(--ffm-line));border-radius:18px}
.ffm.ffm .ffm-avatar{position:relative;display:grid;place-items:center;width:112px;height:136px;margin:0 auto 14px;overflow:hidden;border-radius:60px 60px 14px 14px;background:var(--ffm-leaf);box-shadow:0 0 0 6px var(--ffm-accent,var(--ffm-apricot));font-family:var(--ffm-hfont,var(--ffm-font-display));font-size:30px;color:var(--ffm-leaf-deep)}
.ffm.ffm img.ffm-avatar-img{display:block;width:100%;height:100%;max-width:none;margin:0;object-fit:cover;border:0;border-radius:0}
.ffm.ffm .ffm-member .ffm-h3{margin-bottom:2px;font-size:var(--ffm-h3,20px)}
.ffm.ffm .ffm-member-role{margin:0 0 10px;font-size:14.5px;font-weight:700;color:var(--ffm-marker,var(--ffm-plum-deep))}
.ffm.ffm .ffm-member-bio{margin:0 0 10px;font-size:calc(var(--ffm-fs,17.5px)*.86);color:var(--ffm-text-2,var(--ffm-ink-2))}
.ffm.ffm .ffm-member-covers{margin:0;padding-top:10px;border-top:1px dashed var(--ffm-line);font-size:14px;color:var(--ffm-muted-c,var(--ffm-muted))}
.ffm.ffm a.ffm-member-link{display:inline-block;margin-top:10px;font-size:14.5px;font-weight:600}

/* ---------- path ---------- */
.ffm.ffm .ffm-path{max-width:820px;margin-top:26px}
.ffm.ffm .ffm-path>li.ffm-path-item{position:relative;padding:0 0 26px 70px}
.ffm.ffm .ffm-path>li.ffm-path-item:last-child{padding-bottom:0}
.ffm.ffm .ffm-path>li.ffm-path-item::after{content:"";position:absolute;left:22px;top:52px;bottom:6px;width:2px;background:#CFE2C9}
.ffm.ffm .ffm-path>li.ffm-path-item:last-child::after{display:none}
.ffm.ffm .ffm-path-num{position:absolute;left:0;top:0;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#FFFFFF;border:2px solid var(--ffm-marker,var(--ffm-leaf-deep));font-family:var(--ffm-hfont,var(--ffm-font-display));font-size:20px;line-height:1;color:var(--ffm-marker,var(--ffm-leaf-deep))}
.ffm.ffm .ffm-path-body .ffm-h3{margin:8px 0 4px;font-size:var(--ffm-h3,20px)}
.ffm.ffm .ffm-path-body .ffm-p{margin:0;color:var(--ffm-text-2,var(--ffm-ink-2))}

@media (prefers-reduced-motion:reduce){.ffm.ffm *,.ffm.ffm *::before,.ffm.ffm *::after{transition:none!important;animation:none!important}}
