/* Future Forests — extra styles on top of theme.json */

body { font-feature-settings: "lnum" 1; -webkit-font-smoothing: antialiased; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.wp-site-blocks > main, .wp-site-blocks > div { margin-block-start: 0 !important; }
.wp-block-post-content > *:first-child { margin-block-start: 0; }
.wp-block-post-content > .alignfull + .alignfull { margin-block-start: 0; }
img { height: auto; }
::selection { background: var(--wp--preset--color--sprout); color: #fff; }

/* ---------- Header ---------- */
.ff-header-wrap { position: sticky; top: 0; z-index: 50; }
.admin-bar .ff-header-wrap { top: 32px; }
@media (max-width: 782px) { .admin-bar .ff-header-wrap { top: 0; position: relative; } }
.ff-header { box-shadow: 0 1px 0 rgba(255,255,255,.06); }
.ff-header .ff-logo { margin: 0; flex-shrink: 0; }
.ff-header .ff-logo img { border-radius: 0 !important; display: block; width: 170px !important; }
.ff-header-right { gap: 1.25rem; }
.ff-header .wp-block-button__link { padding: .55em 1.2em; font-size: .95rem; background: var(--wp--preset--color--sprout); color: var(--wp--preset--color--forest-deep); }
.ff-header .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--forest-deep); }
.ff-nav .wp-block-navigation-item__content { padding: .35rem 0; opacity: .92; }
.ff-nav .wp-block-navigation-item__content:hover { opacity: 1; color: var(--wp--preset--color--sprout) !important; }
.ff-nav .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--forest-deep) !important; border: 0 !important;
	border-radius: 12px; padding: .5rem !important; box-shadow: 0 12px 30px rgba(0,0,0,.25); min-width: 230px !important;
}
.ff-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .5rem .75rem !important; border-radius: 8px; }
.ff-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: rgba(255,255,255,.07); }
.ff-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
.ff-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1rem; font-size: 1.2rem; }
.ff-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { box-shadow: none; padding: .25rem 0 0 1rem !important; font-size: 1rem; }
@media (max-width: 600px) {
	.ff-header .ff-logo img { width: 140px !important; }
	.ff-header .wp-block-button__link { padding: .45em .9em; font-size: .85rem; }
	.ff-header-right { gap: .75rem; }
}
@media (min-width: 600px) and (max-width: 1100px) {
	.ff-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.ff-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}

/* ---------- Typography helpers ---------- */
.ff-eyebrow {
	font-family: var(--wp--preset--font-family--heading); font-size: .82rem !important;
	font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin-bottom: .5rem !important;
}
.ff-eyebrow a { color: inherit; text-decoration: none; }
.ff-section-head { margin-bottom: var(--wp--preset--spacing--50); }
.ff-section-head > * { max-width: 46rem; margin-left: 0 !important; margin-right: 0 !important; }
.ff-section-head.is-center > * { margin-left: auto !important; margin-right: auto !important; }
.ff-section-head .has-text-align-left { margin-left: 0 !important; }
.ff-subhead { margin-top: var(--wp--preset--spacing--60) !important; margin-bottom: var(--wp--preset--spacing--40) !important; }
.ff-subhead:first-child { margin-top: 0 !important; }
.ff-small { font-size: .85rem; opacity: .8; margin-top: .5rem; }

/* ---------- Hero ---------- */
.ff-hero { padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--60); align-items: flex-end !important; }
.ff-hero .ff-hero-inner { width: 100%; }
.ff-hero .ff-hero-inner > * { max-width: 760px; }
.ff-hero h1 { margin: 0 0 .75rem; text-wrap: balance; }
.ff-hero .ff-eyebrow { color: rgba(255,255,255,.88) !important; text-shadow: 0 1px 8px rgba(0,0,0,.35); }
.ff-hero h1, .ff-hero .ff-hero-intro { text-shadow: 0 2px 18px rgba(0,0,0,.25); }
.ff-hero .ff-hero-intro { opacity: .95; margin-top: 0; }
.ff-hero-home { align-items: center !important; }
.ff-hero-home h1 { font-size: clamp(3.2rem, 9vw, 7rem); letter-spacing: -.03em; }
.ff-hero .wp-block-cover__image-background { animation: ff-zoom 18s ease-out both; }
@keyframes ff-zoom { from { transform: scale(1.06); } to { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .ff-hero .wp-block-cover__image-background { animation: none; } }

/* Outline buttons on dark */
.is-style-outline > .wp-block-button__link { border: 2px solid currentColor; background: transparent; color: var(--wp--preset--color--leaf); padding: calc(.8em - 2px) calc(1.6em - 2px); }
.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--leaf); color: #fff; border-color: var(--wp--preset--color--leaf); }
.ff-btn-light > .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.85); }
.ff-btn-light > .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--forest); border-color: #fff; }
.wp-block-button__link.has-white-background-color:hover { background: var(--wp--preset--color--sprout) !important; color: var(--wp--preset--color--forest-deep) !important; }

/* ---------- Dark sections ---------- */
.ff-dark, .ff-dark h1, .ff-dark h2, .ff-dark h3, .ff-dark h4 { color: #fff; }
.ff-dark a:not(.wp-element-button) { color: var(--wp--preset--color--sprout); }
.ff-dark a:not(.wp-element-button):hover { color: #fff; }

/* Fact strip */
.ff-facts .ff-fact { border-left: 2px solid var(--wp--preset--color--sprout); padding-left: 1.1rem; }
.ff-fact-num { font-family: var(--wp--preset--font-family--heading); font-size: 2.2rem; font-weight: 600; line-height: 1; color: var(--wp--preset--color--sprout); margin: 0 0 .4rem !important; }
.ff-fact p:last-child { margin: 0; opacity: .88; font-size: .97rem; }

/* ---------- Cards & tiles ---------- */
.ff-card { padding: 0 !important; border-radius: var(--wp--custom--radius); overflow: hidden; box-shadow: 0 1px 2px rgba(21,53,42,.06), 0 8px 24px rgba(21,53,42,.06); display: flex; flex-direction: column; transition: transform .25s ease, box-shadow .25s ease; }
.ff-card:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(21,53,42,.08), 0 16px 36px rgba(21,53,42,.12); }
.ff-card > .wp-block-image { margin: 0 !important; }
.ff-card > .wp-block-image img { border-radius: 0 !important; width: 100%; }
.ff-card-body { padding: 1.4rem 1.5rem 1.6rem; display: flex; flex-direction: column; flex: 1; }
.ff-card-body > * { margin-block: 0 .6rem; }
.ff-card-body h3 { margin-bottom: .4rem; }
.ff-card-link { margin-top: auto !important; padding-top: .4rem; }
.ff-card-link a, .ff-tile .ff-card-link a { font-family: var(--wp--preset--font-family--heading); font-weight: 600; text-decoration: none; }
.ff-card-link a:hover { text-decoration: underline; }
.ff-card.is-past { opacity: .9; }
.ff-badge { display: inline-block; align-self: flex-start; background: var(--wp--preset--color--sand); color: var(--wp--preset--color--bark); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: .2rem .6rem; border-radius: 99px; }

.ff-tile { background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--sand); border-radius: var(--wp--custom--radius); padding: 1.5rem 1.5rem 1.4rem; display: flex; flex-direction: column; }
.has-white-background-color .ff-tile { background: var(--wp--preset--color--cream); border-color: transparent; }
.ff-tile > * { margin-block: 0 .55rem; }
.ff-tile > p:last-child { margin-bottom: 0; }
.ff-tile h3 { line-height: 1.25; }
.ff-tile p { color: var(--wp--preset--color--muted); font-size: 1rem; line-height: 1.6; }
.ff-tile-num { font-family: var(--wp--preset--font-family--heading); color: var(--wp--preset--color--leaf) !important; font-weight: 700; font-size: .9rem !important; letter-spacing: .08em; }
.ff-dark .ff-tile { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.1); }
.ff-dark .ff-tile p { color: rgba(255,255,255,.85); }

/* Panels */
.ff-panel { border-radius: var(--wp--custom--radius); padding: clamp(1.5rem, 3vw, 2.5rem); height: 100%; }

/* Team */
.ff-person { text-align: center; }
.ff-person .ff-avatar { max-width: 210px; margin: 0 auto 1rem !important; }
.ff-person .ff-avatar img { border-radius: 50% !important; box-shadow: 0 0 0 6px #fff; }
.ff-person > * { margin-block: 0 .5rem; }

/* Images */
.ff-split .wp-block-image img { width: 100%; }
.ff-flat img { border-radius: 0 !important; }
.ff-gallery .wp-block-image, .ff-insta .wp-block-image { margin: 0 !important; }
.ff-gallery img, .ff-insta img { width: 100%; }
.ff-insta a { display: block; overflow: hidden; border-radius: var(--wp--custom--radius); }
.ff-insta img { transition: transform .4s ease; }
.ff-insta a:hover img { transform: scale(1.04); }
.ff-insta + .wp-block-buttons { margin-top: var(--wp--preset--spacing--50); }

/* Quote band */
.ff-big-quote { font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.5rem, 3.4vw, 2.6rem) !important; line-height: 1.25; max-width: 900px; margin-inline: auto !important; text-wrap: balance; font-weight: 500; }

/* Notice */
.ff-notice { border-radius: var(--wp--custom--radius); padding: 2rem; max-width: 760px; margin-inline: auto !important; }

/* Lists */
.ff-ticks, .ff-steps { padding-left: 0; list-style: none; }
.ff-ticks li, .ff-steps li { position: relative; padding-left: 2.1rem; margin-bottom: .8rem; }
.ff-ticks li::before { content: ""; position: absolute; left: 0; top: .35em; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: var(--wp--preset--color--leaf) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='white'%3E%3Cpath d='M8 13.6 4.4 10l-1.4 1.4L8 16.4l9-9L15.6 6z'/%3E%3C/svg%3E") center/80% no-repeat; }
.ff-steps { counter-reset: s; }
.ff-steps li { counter-increment: s; padding-left: 2.6rem; }
.ff-steps li::before { content: counter(s); position: absolute; left: 0; top: .1em; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--wp--preset--color--cream); color: var(--wp--preset--color--leaf); font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: .9rem; display: grid; place-items: center; }

/* FAQ */
.ff-faq summary { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.15rem; color: var(--wp--preset--color--forest); cursor: pointer; list-style: none; position: relative; padding-right: 2rem; }
.ff-faq summary::-webkit-details-marker { display: none; }
.ff-faq summary::after { content: "+"; position: absolute; right: 0; top: -.1rem; font-size: 1.5rem; color: var(--wp--preset--color--leaf); transition: transform .2s; }
.ff-faq[open] summary::after { transform: rotate(45deg); }
.ff-faq > *:not(summary) { margin-top: .75rem; color: var(--wp--preset--color--muted); }

/* Woodland cover bars */
.ff-bars { display: grid; gap: .9rem; margin-top: 1.5rem; }
.ff-bar { display: grid; grid-template-columns: 9.5rem 1fr 3rem; align-items: center; gap: .75rem; color: #fff; font-size: .95rem; }
.ff-bar-track { height: 14px; background: rgba(255,255,255,.12); border-radius: 99px; overflow: hidden; }
.ff-bar-fill { display: block; height: 100%; background: rgba(255,255,255,.55); border-radius: 99px; }
.ff-bar-uk { background: var(--wp--preset--color--sprout); }
.ff-bar-val { font-family: var(--wp--preset--font-family--heading); font-weight: 700; text-align: right; }
@media (max-width: 480px) { .ff-bar { grid-template-columns: 1fr 3rem; } .ff-bar-label { grid-column: 1 / -1; } }

/* ---------- Forms ---------- */
.ff-form label { display: block; font-weight: 600; font-size: .95rem; margin-bottom: .35rem; color: var(--wp--preset--color--forest); }
.ff-form p { margin: 0 0 1rem; }
.ff-form input[type=text], .ff-form input[type=email], .ff-form input[type=tel], .ff-form select, .ff-form textarea,
.ff-inline-form input[type=email] {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; padding: .8rem 1rem;
	border: 1.5px solid #cfd6d1; border-radius: 10px; background: #fff; color: var(--wp--preset--color--ink);
	transition: border-color .15s, box-shadow .15s;
}
.ff-form input:focus, .ff-form select:focus, .ff-form textarea:focus, .ff-inline-form input:focus {
	outline: none; border-color: var(--wp--preset--color--leaf); box-shadow: 0 0 0 3px rgba(43,176,103,.25);
}
.ff-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
@media (max-width: 600px) { .ff-row { grid-template-columns: 1fr; } }
.ff-check label { font-weight: 450; display: flex; gap: .6rem; align-items: flex-start; color: var(--wp--preset--color--ink); }
.ff-check input { margin-top: .35rem; width: 1.05rem; height: 1.05rem; accent-color: var(--wp--preset--color--leaf); flex-shrink: 0; }
.ff-optional { font-weight: 400; opacity: .7; }
.ff-form button, .ff-inline-form button { cursor: pointer; border: 0; }
.ff-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ff-alert { padding: .9rem 1.1rem; border-radius: 10px; margin-bottom: 1rem; background: var(--wp--preset--color--cream); border-left: 4px solid var(--wp--preset--color--bark); }
.ff-alert-ok { border-left-color: var(--wp--preset--color--leaf); background: #e7f5ec; }
.ff-alert-err { border-left-color: #b3261e; background: #fbeaea; }
.ff-inline-form { display: flex; gap: .6rem; flex-wrap: wrap; }
.ff-inline-form input[type=email] { flex: 1 1 14rem; }
.ff-inline-form button { flex: 0 0 auto; }

/* ---------- Footer ---------- */
.ff-footer { font-size: .97rem; }
.ff-footer h4 { font-size: 1rem; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 1rem; }
.ff-footer p { color: rgba(255,255,255,.85); line-height: 2; }
.ff-footer a:not(.wp-element-button) { color: rgba(255,255,255,.85); text-decoration: none; }
.ff-footer a:not(.wp-element-button):hover { color: var(--wp--preset--color--sprout); text-decoration: underline; }
.ff-footer .wp-block-image img { border-radius: 0 !important; }
.ff-legal { border-top: 1px solid rgba(255,255,255,.12); margin-top: var(--wp--preset--spacing--50) !important; padding-top: 1.25rem; }
.ff-legal p { margin: 0; line-height: 1.6; opacity: .75; }

/* Page head (default template, blog) */
.ff-page-head h1 { margin: 0; }
.ff-page-head .ff-eyebrow { margin-bottom: .5rem; }
.wp-block-post-template .ff-card .wp-block-post-featured-image { margin: 0; }
.wp-block-post-template .ff-card .wp-block-post-featured-image img { border-radius: 0; }
.wp-block-post-title a { text-decoration: none; color: inherit; }
.wp-block-post-title a:hover { color: var(--wp--preset--color--leaf); }
.wp-block-post-excerpt__more-link { font-family: var(--wp--preset--font-family--heading); font-weight: 600; text-decoration: none; }
.single .wp-block-post-featured-image img { border-radius: var(--wp--custom--radius); }

/* Accessibility */
a:focus-visible, button:focus-visible, summary:focus-visible, .wp-element-button:focus-visible { outline: 3px solid var(--wp--preset--color--sprout); outline-offset: 3px; }
.screen-reader-text { position: absolute !important; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; }

/* Four-up photo rows */
.ff-insta.is-layout-grid, .ff-gallery.is-layout-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 781px) { .ff-insta.is-layout-grid, .ff-gallery.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }

/* Mobile menu: left-aligned, easier to scan */
.ff-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.ff-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.ff-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: flex-start !important; text-align: left; }
.ff-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { padding-left: 1rem !important; }
.ff-nav .wp-block-navigation__responsive-container.is-menu-open .has-child > .wp-block-navigation-item__content { font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--sprout) !important; }

/* ======================================================================
   v2 — more distinctive: serif display type, editorial rows, tree rings
   ====================================================================== */

/* Display type */
h1, h2, h3, .wp-block-post-title { text-wrap: balance; letter-spacing: -0.01em; }
h1 em, h2 em { font-style: italic; font-weight: 400; color: var(--wp--preset--color--sprout); }
.ff-eyebrow { display: inline-flex; align-items: center; gap: .55rem; }
.ff-eyebrow::before {
	content: ""; width: .7rem; height: .85rem; flex: none; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24'%3E%3Cpath d='M3 8c0-3 3-5 7-5s7 2 7 5H3zm.5 1.5h13C16 16 13 21 10 23 7 21 4 16 3.5 9.5zM9.3 0h1.4v3H9.3z'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24'%3E%3Cpath d='M3 8c0-3 3-5 7-5s7 2 7 5H3zm.5 1.5h13C16 16 13 21 10 23 7 21 4 16 3.5 9.5zM9.3 0h1.4v3H9.3z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.has-text-align-center.ff-eyebrow { display: flex; justify-content: center; }
.ff-hero-caption.ff-eyebrow::before, .ff-badge::before, .ff-season::before { display: none; }

/* Section heads: left-aligned, generous */
.ff-section-head { margin-bottom: var(--wp--preset--spacing--50) !important; }
.ff-section-head.is-left > * { margin-left: 0 !important; max-width: 46rem; }
.ff-section-head h2 { margin-top: .25rem; }

/* Hero: bottom-left, big serif, location caption */
.ff-hero { align-items: flex-end !important; }
.ff-hero .ff-hero-inner > * { max-width: 52rem; }
.ff-hero h1 { font-weight: 450; letter-spacing: -.025em; line-height: 1.02; }
.ff-hero-home h1 { font-size: clamp(2.6rem, 6.2vw, 5.6rem) !important; letter-spacing: -.03em; }
.ff-hero-home { align-items: flex-end !important; }
.ff-hero .wp-block-cover__background { background: linear-gradient(180deg, rgba(14,38,29,.15) 0%, rgba(14,38,29,.35) 45%, rgba(14,38,29,.88) 100%) !important; opacity: 1 !important; }
.ff-hero-caption { font-family: var(--wp--preset--font-family--heading); font-size: .78rem !important; letter-spacing: .08em; margin-top: var(--wp--preset--spacing--50) !important; opacity: .8; }
.ff-hero-caption::before { content: "◉ "; color: var(--wp--preset--color--sprout); }

/* Wavy organic edge at the top of coloured sections */
.wp-block-post-content > section.has-background { position: relative; }
.wp-block-post-content > section.has-cream-background-color::before,
.wp-block-post-content > section.has-forest-background-color::before,
.ff-newsletter::before {
	content: ""; position: absolute; left: 0; right: 0; top: -23px; height: 24px; background: inherit; pointer-events: none;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 24' preserveAspectRatio='none'%3E%3Cpath d='M0 24V14C120 4 240 2 380 9s260 14 410 6 290-14 410-3v-2l0 0V24z'/%3E%3C/svg%3E") bottom/100% 100% no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 24' preserveAspectRatio='none'%3E%3Cpath d='M0 24V14C120 4 240 2 380 9s260 14 410 6 290-14 410-3v-2l0 0V24z'/%3E%3C/svg%3E") bottom/100% 100% no-repeat;
}
.ff-newsletter { position: relative; }
.ff-facts::before { display: none; }

/* Tree-ring texture on dark bands */
.ff-rings { background-image: repeating-radial-gradient(circle at 92% 12%, transparent 0 26px, rgba(255,255,255,.045) 26px 27.5px, transparent 27.5px 41px, rgba(255,255,255,.03) 41px 42px); background-blend-mode: normal; }
.ff-cta-inner > * { max-width: 44rem; }
.ff-cta-inner h2 { font-size: clamp(2rem, 4vw, 3.2rem); }

/* Facts */
.ff-facts .ff-fact { border-left: 0; border-top: 1px solid rgba(255,255,255,.18); padding: 1rem 0 0; }
.ff-fact-num { font-family: var(--wp--preset--font-family--display) !important; font-weight: 450 !important; font-size: 2.3rem !important; color: #fff !important; }

/* Photo pair */
.ff-pair { position: relative; padding: 0 18% 14% 0; }
.ff-pair .ff-pair-a { margin: 0 !important; }
.ff-pair .ff-pair-b { position: absolute; right: 0; bottom: 0; width: 46%; margin: 0 !important; }
.ff-pair .ff-pair-b img { box-shadow: 0 0 0 8px var(--wp--preset--color--white); }
.ff-pair img { width: 100%; }
.wp-block-image figcaption, .ff-pair figcaption {
	font-family: var(--wp--preset--font-family--heading); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase;
	color: var(--wp--preset--color--muted); margin-top: .9rem; text-align: left;
}
.ff-dark figcaption { color: rgba(255,255,255,.6); }

/* Editorial index */
.ff-index { border-top: 1px solid var(--wp--preset--color--sand); }
.ff-index-row { position: relative; gap: clamp(1rem, 3vw, 2.5rem) !important; align-items: center !important; padding: 1.4rem 0; border-bottom: 1px solid var(--wp--preset--color--sand); margin: 0 !important; }
.ff-index-img { flex: 0 0 clamp(96px, 16vw, 200px); margin: 0 !important; overflow: hidden; border-radius: var(--wp--custom--radius); }
.ff-index-img img { width: 100%; transition: transform .5s ease; }
.ff-index-body { flex: 1 1 auto; min-width: 0; display: grid; grid-template-columns: 3rem 1fr; column-gap: 1rem; align-items: baseline; }
.ff-index-body > * { margin: 0 !important; }
.ff-index-num { grid-row: span 2; font-family: var(--wp--preset--font-family--heading); color: var(--wp--preset--color--leaf); font-weight: 600; font-size: .9rem; }
.ff-index-title { font-size: clamp(1.4rem, 2.6vw, 2.1rem) !important; font-weight: 450 !important; }
.ff-index-title a { color: var(--wp--preset--color--forest); text-decoration: none; }
.ff-index-title a::after { content: ""; position: absolute; inset: 0; }
.ff-index-text { color: var(--wp--preset--color--muted); margin-top: .3rem !important; }
.ff-index-arrow { flex: none; margin: 0 !important; font-size: 1.6rem; color: var(--wp--preset--color--leaf); transition: transform .25s ease; }
.ff-index-row:hover .ff-index-arrow { transform: translateX(6px); }
.ff-index-row:hover .ff-index-img img { transform: scale(1.05); }
.ff-index-row:hover .ff-index-title a { color: var(--wp--preset--color--leaf); }
@media (max-width: 600px) {
	.ff-index-row { align-items: flex-start !important; }
	.ff-index-body { grid-template-columns: 1fr; }
	.ff-index-num { grid-row: auto; }
	.ff-index-arrow { display: none; }
}

/* Seasons */
.ff-seasons { gap: 0 !important; border-top: 1px solid rgba(255,255,255,.18); }
.ff-season-col { padding: 1.4rem 1.5rem 0 0; border-right: 1px solid rgba(255,255,255,.12); }
.ff-season-col:last-child { border-right: 0; }
.ff-season-col > * { margin: 0 0 .4rem !important; }
.ff-season { font-family: var(--wp--preset--font-family--heading); text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; color: var(--wp--preset--color--sprout) !important; }
.ff-season-col h3 { font-size: 2rem !important; font-weight: 450; }
.ff-season-col p:last-child { opacity: .85; }
@media (max-width: 700px) { .ff-season-col { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); padding: 1.2rem 0; } }

/* Cards: flatter, editorial */
.ff-card { background: transparent !important; box-shadow: none !important; border-radius: 0 !important; overflow: visible; }
.ff-card:hover { transform: none; box-shadow: none !important; }
.ff-card > .wp-block-image img { border-radius: var(--wp--custom--radius) !important; transition: transform .5s ease; }
.ff-card > .wp-block-image { overflow: hidden; border-radius: var(--wp--custom--radius); }
.ff-card:hover > .wp-block-image img { transform: scale(1.04); }
.ff-card-body { padding: 1rem 0 0; }
.ff-card-body h3 { font-weight: 500; }

/* Tiles: hairline top rule instead of boxes */
.ff-tile, .has-white-background-color .ff-tile { background: transparent !important; border: 0 !important; border-top: 2px solid var(--wp--preset--color--forest) !important; border-radius: 0 !important; padding: 1rem 0 0 !important; }
.ff-tile h3 { font-weight: 500; }
.ff-tile p { font-size: 1rem; }
.ff-tile-link h3 a { color: var(--wp--preset--color--forest); text-decoration: none; }
.ff-tile-link h3 a::after { content: " →"; color: var(--wp--preset--color--leaf); font-family: var(--wp--preset--font-family--heading); }
.ff-tile-link:hover h3 a { color: var(--wp--preset--color--leaf); }
.ff-tile-link { position: relative; }
.ff-tile-link h3 a::before { content: ""; position: absolute; inset: 0; }
.ff-dark .ff-tile { border-top-color: rgba(255,255,255,.3) !important; }

/* Team: portrait photos, left aligned */
.ff-person { text-align: left; }
.ff-person .ff-avatar { max-width: none; margin: 0 0 1rem !important; }
.ff-person .ff-avatar img { border-radius: var(--wp--custom--radius) !important; box-shadow: none; filter: saturate(.9); }

/* Notice */
.ff-notice { max-width: 46rem; margin-left: 0 !important; border-radius: var(--wp--custom--radius); }

/* Quote band */
.ff-big-quote { font-family: var(--wp--preset--font-family--display) !important; font-style: italic; font-weight: 400 !important; }

/* Buttons a touch squarer */
.wp-element-button, .wp-block-button__link { border-radius: 999px; }

/* Footer heading in sans */
.ff-footer h4 { font-family: var(--wp--preset--font-family--heading) !important; font-weight: 600; }
.ff-newsletter h2 { font-weight: 450; }

/* Steps grid on design page */
.ff-steps-grid { margin-top: 1rem !important; }

.ff-hero-inner > * { margin-left: 0 !important; }
.ff-hero-inner .ff-eyebrow { display: flex; }
.ff-seasons.is-layout-grid { grid-template-columns: repeat(4, minmax(0,1fr)) !important; }
@media (max-width: 900px) { .ff-seasons.is-layout-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; } }
@media (max-width: 560px) { .ff-seasons.is-layout-grid { grid-template-columns: 1fr !important; } }
.ff-dark .ff-section-head > * , .ff-section-head .ff-eyebrow { margin-left: 0 !important; }
section.wp-block-group > .wp-block-buttons, section.wp-block-group > .wp-block-group > .wp-block-buttons { max-width: var(--wp--style--global--wide-size) !important; }

/* Team: small, low-key portraits beside the name */
.ff-person { display: grid !important; grid-template-columns: 64px 1fr; column-gap: 1rem; align-items: start; }
.ff-person .ff-avatar { grid-row: span 3; width: 64px; margin: .2rem 0 0 !important; }
.ff-person .ff-avatar img { width: 64px !important; height: 64px !important; aspect-ratio: 1 !important; object-fit: cover; border-radius: 50% !important; filter: grayscale(.35) saturate(.85); opacity: .92; }
.ff-person > *:not(.ff-avatar) { margin: 0 0 .3rem !important; }
.ff-person h3 { font-size: 1.2rem !important; }
.ff-person .ff-eyebrow { font-size: .72rem !important; }
.ff-person .ff-eyebrow::before { display: none; }

/* ======================================================================
   v3 — smoothness & polish
   ====================================================================== */

/* Smooth scrolling, and land below the sticky header + sub-nav */
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
html:has(.ff-subnav) { scroll-padding-top: 130px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Gentle page-to-page fade (Chrome, Edge, Safari 18+) */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: ff-fade-out .18s ease both; }
::view-transition-new(root) { animation: ff-fade-in .32s ease both; }
.ff-header-wrap { view-transition-name: ff-header; }
@keyframes ff-fade-out { to { opacity: 0; } }
@keyframes ff-fade-in { from { opacity: 0; transform: translateY(6px); } }
@media (prefers-reduced-motion: reduce) { ::view-transition-old(root), ::view-transition-new(root) { animation: none; } }

/* Consistent, quiet transitions on interactive things */
a, .wp-element-button, .wp-block-button__link, .ff-form input, .ff-form select, .ff-form textarea, summary {
	transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease, opacity .2s ease;
}
.wp-block-button__link:hover { transform: translateY(-1px); }
.wp-block-button__link:active { transform: translateY(0); }
.wp-block-post-content p a:not(.wp-element-button), .ff-card-link a { text-underline-offset: .2em; text-decoration-thickness: 1px; }

/* Header gets compact with a soft shadow once scrolled */
.ff-header { transition: padding .25s ease, box-shadow .25s ease; }
.ff-header-wrap.is-scrolled .ff-header { padding-top: .5rem !important; padding-bottom: .5rem !important; box-shadow: 0 6px 24px rgba(0,0,0,.18); }
.ff-header .ff-logo img { transition: width .25s ease; }
.ff-header-wrap.is-scrolled .ff-logo img { width: 150px !important; }
/* Current page in the menu */
.ff-nav .current-menu-item > .wp-block-navigation-item__content,
.ff-nav [aria-current="page"] { color: var(--wp--preset--color--sprout) !important; }
.ff-nav .wp-block-navigation__submenu-container { transition: opacity .18s ease, transform .18s ease, visibility .18s; }
.ff-nav .has-child:not(.open-on-click):hover > .wp-block-navigation__submenu-container { transform: translateY(0); }
.ff-nav .has-child > .wp-block-navigation__submenu-container { transform: translateY(6px); }

/* In-page sub-navigation (sticky under the header) */
.ff-subnav { position: sticky; top: 56px; z-index: 40; background: rgba(255,255,255,.94); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border-bottom: 1px solid var(--wp--preset--color--sand); padding-top: 0 !important; padding-bottom: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.admin-bar .ff-subnav { top: 88px; }
.ff-subnav-links { display: flex; gap: .4rem; overflow-x: auto; scrollbar-width: none; margin: 0 auto !important; padding: .65rem 0 !important; max-width: var(--wp--style--global--wide-size) !important; white-space: nowrap; }
.ff-subnav-links::-webkit-scrollbar { display: none; }
.ff-subnav-links a { font-family: var(--wp--preset--font-family--heading); font-size: .88rem; font-weight: 500; text-decoration: none; color: var(--wp--preset--color--muted); padding: .4rem .85rem; border-radius: 999px; flex: none; }
.ff-subnav-links a:hover { color: var(--wp--preset--color--forest); background: var(--wp--preset--color--cream); }
.ff-subnav-links a.is-active { color: #fff; background: var(--wp--preset--color--forest); }
.wp-block-post-content > .ff-subnav + section::before { display: none; }
@media (max-width: 782px) { .ff-subnav { top: 54px; } .admin-bar .ff-subnav { top: 54px; } }

/* Scroll reveal (only applied by JS to things below the fold) */
.ff-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s cubic-bezier(.2,.65,.3,1), transform .7s cubic-bezier(.2,.65,.3,1); transition-delay: var(--ff-delay, 0ms); }
.ff-reveal.is-in { opacity: 1; transform: none; }

/* Image fade-in */
.ff-img-fade { opacity: 0; transition: opacity .6s ease; }
.ff-img-fade.is-loaded { opacity: 1; }

/* Back-to-top */
.ff-to-top {
	position: fixed; right: 18px; bottom: calc(18px + env(safe-area-inset-bottom, 0px)); z-index: 60;
	width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center;
	background: var(--wp--preset--color--forest); color: #fff; box-shadow: 0 6px 20px rgba(0,0,0,.2);
	opacity: 0; transform: translateY(10px); pointer-events: none;
}
.ff-to-top.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.ff-to-top:hover { background: var(--wp--preset--color--leaf); color: #fff; }

/* FAQ: smooth open */
.ff-faq summary { padding: .25rem 2rem .25rem 0; }
.ff-faq summary:hover { color: var(--wp--preset--color--leaf); }
.ff-faq[open] > *:not(summary) { animation: ff-fade-in .3s ease both; }
@media (prefers-reduced-motion: reduce) { .ff-faq[open] > *:not(summary) { animation: none; } }

/* Hero entrance */
.ff-hero-inner > * { animation: ff-rise .8s cubic-bezier(.2,.65,.3,1) both; }
.ff-hero-inner > *:nth-child(2) { animation-delay: .08s; }
.ff-hero-inner > *:nth-child(3) { animation-delay: .16s; }
.ff-hero-inner > *:nth-child(4) { animation-delay: .24s; }
.ff-hero-inner > *:nth-child(5) { animation-delay: .32s; }
@keyframes ff-rise { from { opacity: 0; transform: translateY(14px); } }
@media (prefers-reduced-motion: reduce) { .ff-hero-inner > * { animation: none; } }

/* Professional details */
body { text-rendering: optimizeLegibility; }
p { hanging-punctuation: first; }
.wp-block-post-content p, .wp-block-post-content li { text-wrap: pretty; }
.ff-form input:hover, .ff-form select:hover, .ff-form textarea:hover { border-color: #aab7af; }
:focus-visible { outline-offset: 3px; }

/* ======================================================================
   v4 — blog, supporters, forms
   ====================================================================== */
.ff-post-head > * { max-width: var(--wp--style--global--content-size) !important; margin-left: auto !important; margin-right: auto !important; }
.ff-post-head .ff-eyebrow { display: flex; }
.ff-post-head h1 { margin-top: .5rem !important; font-size: clamp(2.2rem, 5vw, 3.6rem) !important; }
.ff-meta { font-family: var(--wp--preset--font-family--heading); font-size: .85rem; color: var(--wp--preset--color--muted); letter-spacing: .02em; }
.ff-prose { font-size: 1.12rem; line-height: 1.75; }
.ff-prose > p:first-of-type { font-size: 1.3rem; line-height: 1.6; color: var(--wp--preset--color--forest); }
.ff-prose h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); margin-top: 2.5rem; }
.ff-prose .wp-block-image { margin-block: 2rem; }
.single .wp-block-post-featured-image { margin-bottom: 2.5rem; }
.ff-share { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--wp--preset--color--sand); max-width: var(--wp--style--global--content-size); margin-left: auto !important; margin-right: auto !important; }
.ff-share span { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: .85rem; margin-right: .5rem; color: var(--wp--preset--color--forest); }
.ff-share a { font-size: .85rem; text-decoration: none; padding: .35rem .8rem; border: 1px solid var(--wp--preset--color--sand); border-radius: 999px; color: var(--wp--preset--color--forest); }
.ff-share a:hover { background: var(--wp--preset--color--forest); color: #fff; border-color: var(--wp--preset--color--forest); }
.ff-related { max-width: var(--wp--style--global--wide-size); margin: 0 auto !important; }
.ff-related-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: 1.5rem; margin-top: 1rem; }
.ff-related-card { display: flex; flex-direction: column; gap: .4rem; text-decoration: none; color: var(--wp--preset--color--forest); }
.ff-related-card img { width: 100%; aspect-ratio: 3/2; object-fit: cover; border-radius: var(--wp--custom--radius); transition: transform .5s ease; }
.ff-related-card:hover img { transform: scale(1.03); }
.ff-related-card strong { font-family: var(--wp--preset--font-family--display); font-weight: 500; font-size: 1.3rem; line-height: 1.2; }
.ff-related-card:hover strong { color: var(--wp--preset--color--leaf); }

/* Supporters */
.ff-supporters { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 2rem; border-top: 1px solid var(--wp--preset--color--sand); border-bottom: 1px solid var(--wp--preset--color--sand); padding: 1.4rem 0; }
.ff-supporters > * { margin: 0 !important; }
.ff-supporters-list { display: flex; flex-wrap: wrap; gap: .5rem 2.5rem; }
.ff-supporters-list span { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.05rem; color: var(--wp--preset--color--forest); }

/* Testimonial pattern */
.ff-testimonial-quote { font-family: var(--wp--preset--font-family--display); font-style: italic; font-size: clamp(1.5rem, 3vw, 2.3rem); line-height: 1.3; color: var(--wp--preset--color--forest); max-width: 40ch; }
.ff-testimonial-by { color: var(--wp--preset--color--muted); }

/* Form: sending state + invalid fields after a submit attempt */
.ff-form.is-sending button[type=submit], .ff-inline-form.is-sending button { opacity: .7; pointer-events: none; }
.ff-form.was-validated :invalid { border-color: #b3261e; }
.ff-form .ff-row p, .ff-form > p { position: relative; }

/* ======================================================================
   v5 — events, monthly giving, volunteer form, funder
   ====================================================================== */
/* Events */
.ff-events { display: grid; grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr)); gap: 2rem 1.5rem; max-width: var(--wp--style--global--wide-size); margin-inline: auto; }
.ff-event { position: relative; display: flex; flex-direction: column; }
.ff-event-img { display: block; overflow: hidden; border-radius: var(--wp--custom--radius); }
.ff-event-img img { width: 100%; aspect-ratio: 3/2; object-fit: cover; display: block; transition: transform .5s ease; }
.ff-event:hover .ff-event-img img { transform: scale(1.04); }
.ff-event-date { position: absolute; top: .8rem; left: .8rem; background: #fff; color: var(--wp--preset--color--forest); border-radius: 8px; padding: .35rem .6rem .45rem; text-align: center; font-family: var(--wp--preset--font-family--heading); font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; line-height: 1.1; box-shadow: 0 4px 14px rgba(0,0,0,.15); }
.ff-event-date span { display: block; font-family: var(--wp--preset--font-family--display); font-size: 1.6rem; letter-spacing: 0; font-weight: 500; }
.ff-event-body { padding-top: 1rem; display: flex; flex-direction: column; gap: .45rem; }
.ff-event-body > * { margin: 0; }
.ff-event-body h3 { font-size: 1.35rem; font-weight: 500; }
.ff-event-body h3 a { color: var(--wp--preset--color--forest); text-decoration: none; }
.ff-event-body h3 a:hover { color: var(--wp--preset--color--leaf); }
.ff-event-actions { display: flex; flex-wrap: wrap; gap: .6rem 1rem; align-items: center; margin-top: .5rem; }
.ff-event-actions .wp-element-button { padding: .6em 1.2em; font-size: .9rem; border-radius: 999px; background: var(--wp--preset--color--leaf); color: #fff; text-decoration: none; }
.ff-cal { font-size: .85rem; color: var(--wp--preset--color--muted); }
.ff-event.is-past .ff-event-img img { filter: grayscale(.4); opacity: .9; }
.ff-events-past { grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); }
.ff-events-empty { max-width: var(--wp--style--global--wide-size) !important; margin-inline: auto !important; box-sizing: border-box; background: var(--wp--preset--color--cream); padding: 2rem; border-radius: var(--wp--custom--radius); }
.ff-events-empty h3 { margin-top: 0; }
.ff-events-empty .wp-element-button { display: inline-block; padding: .7em 1.4em; border-radius: 999px; background: var(--wp--preset--color--leaf); color: #fff; text-decoration: none; }
.ff-event-hero-img { margin: 0 0 2rem; }
.ff-event-hero-img img { width: 100%; aspect-ratio: 3/2; object-fit: cover; border-radius: var(--wp--custom--radius); }
.ff-event-details { position: sticky; top: 90px; background: var(--wp--preset--color--cream); border-radius: var(--wp--custom--radius); padding: 1.5rem; }
.ff-event-details p { margin: 0 0 1rem; }
.ff-event-details .wp-element-button { display: inline-block; padding: .7em 1.4em; border-radius: 999px; background: var(--wp--preset--color--leaf); color: #fff; text-decoration: none; }

/* Next event banner on the home page */
.ff-next-wrap { margin: 0 !important; }
.ff-next-event { max-width: var(--wp--style--global--wide-size); margin: 1.5rem auto 0; display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.2rem; background: var(--wp--preset--color--cream); border-radius: 999px; padding: .6rem .6rem .6rem 1.4rem; }
.ff-next-event .ff-eyebrow { margin: 0 !important; color: var(--wp--preset--color--leaf); }
.ff-next-event > a:not(.ff-next-event-btn) { flex: 1 1 18rem; text-decoration: none; color: var(--wp--preset--color--forest); }
.ff-next-event > a span { color: var(--wp--preset--color--muted); margin-left: .4rem; }
.ff-next-event-btn { background: var(--wp--preset--color--forest); color: #fff !important; text-decoration: none; padding: .55rem 1.1rem; border-radius: 999px; font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: .9rem; }
@media (max-width: 600px) { .ff-next-event { border-radius: 16px; } }

/* Monthly giving tiers */
.ff-tiers { align-items: stretch; }
.ff-tier { background: #fff; border-radius: 12px; padding: 1.8rem 1.6rem !important; border: 1px solid var(--wp--preset--color--sand); display: flex; flex-direction: column; }
.ff-tier > * { margin: 0 0 .8rem !important; }
.ff-tier .wp-block-buttons { margin-top: auto !important; margin-bottom: 0 !important; }
.ff-tier.is-featured { border: 2px solid var(--wp--preset--color--leaf); box-shadow: 0 12px 30px rgba(21,53,42,.08); }
.ff-tier-price { font-family: var(--wp--preset--font-family--heading); color: var(--wp--preset--color--muted); }
.ff-amount { font-family: var(--wp--preset--font-family--display); font-size: 3rem; color: var(--wp--preset--color--forest); line-height: 1; margin-right: .2rem; }

/* Volunteer form checkboxes */
.ff-checks { border: 0; padding: 0; margin: 0 0 1rem; display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: .5rem 1rem; }
.ff-checks legend { font-weight: 600; font-size: .95rem; color: var(--wp--preset--color--forest); margin-bottom: .6rem; padding: 0; }
.ff-checks label { display: flex; gap: .6rem; align-items: flex-start; padding: .7rem .8rem; border: 1.5px solid #dfe5e1; border-radius: 10px; cursor: pointer; font-size: .95rem; transition: border-color .2s, background .2s; }
.ff-checks label:hover { border-color: var(--wp--preset--color--leaf); }
.ff-checks label:has(input:checked) { border-color: var(--wp--preset--color--leaf); background: #eef7f1; }
.ff-checks input { margin-top: .2rem; accent-color: var(--wp--preset--color--leaf); width: 1.05rem; height: 1.05rem; flex: none; }

/* Funder */
.ff-supporters { border-top: 1px solid var(--wp--preset--color--sand); border-bottom: 1px solid var(--wp--preset--color--sand); padding: 1.5rem 0; display: flex; }
.ff-funder-logo img { max-width: 260px !important; width: 100%; border-radius: 0 !important; }
.ff-funder-logo, .ff-funder-badge { margin: 0 !important; }
.ff-funder-badge { margin-top: 1.25rem !important; }
.ff-funder-badge a { display: inline-block; background: #fff; border-radius: 8px; padding: .6rem .9rem; }
.ff-funder-badge img { width: 150px !important; display: block; border-radius: 0 !important; }

/* Services rail: horizontal strip at the bottom of service pages */
.ff-rail-section { border-top: 1px solid var(--wp--preset--color--sand); }
.ff-rail-head > * { margin: 0 0 .3rem !important; }
.ff-rail-head h3 { margin-bottom: 1.4rem !important; }
.ff-rail { display: grid !important; grid-auto-flow: column; grid-auto-columns: minmax(150px, 1fr); gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; padding: 6px 6px .7rem; margin-inline: -6px !important; scrollbar-width: thin; }
.ff-rail-item { scroll-snap-align: start; margin: 0 !important; position: relative; }
.ff-rail-item > * { margin: 0 !important; }
.ff-rail-img { overflow: hidden; border-radius: var(--wp--custom--radius); }
.ff-rail-img img { width: 100%; transition: transform .45s ease, filter .3s ease; }
.ff-rail-item:hover .ff-rail-img img { transform: scale(1.05); }
.ff-rail-label { margin-top: .6rem !important; font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: .95rem; line-height: 1.3; }
.ff-rail-label a { color: var(--wp--preset--color--forest); text-decoration: none; }
.ff-rail-label a::after { content: ""; position: absolute; inset: 0; }
.ff-rail-item:hover .ff-rail-label a { color: var(--wp--preset--color--leaf); }
.ff-rail-item.is-current .ff-rail-img { outline: 3px solid var(--wp--preset--color--leaf); outline-offset: 3px; }
.ff-rail-item.is-current .ff-rail-label a { color: var(--wp--preset--color--leaf); }
.ff-rail-item.is-current .ff-rail-label a::before { content: "You’re here · "; font-weight: 500; color: var(--wp--preset--color--muted); }
@media (max-width: 781px) { .ff-rail { grid-auto-columns: 44%; } }
