/* Ferfoglia: colori e caratteri dalla brochure (verde salvia, crema, verde scuro, marrone) */
:root {
	--salvia: #bdd390;
	--salvia-chiaro: #dfe9c4;
	--crema: #f9f7f0;
	--verde: #053827;
	--verde-2: #0d4a35;
	--marrone: #3d2500;
	--testo: #1f2a22;
	--grigio: #5b6656;
	--bordo: #e3e2d6;
	--serif: 'Instrument Serif', Georgia, 'Times New Roman', serif;
	--sans: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--etichetta: 'Oswald', 'Arial Narrow', sans-serif;
	--wrap: 1180px;
	--radius: 4px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--crema); color: var(--testo); font: 400 17px/1.65 var(--sans); }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--verde); text-underline-offset: 3px; }
a:hover { color: var(--marrone); }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; color: var(--verde); line-height: 1.08; margin: 0 0 .5em; letter-spacing: -.01em; }
h1 { font-size: clamp(2.6rem, 6vw, 4.6rem); }
h2 { font-size: clamp(2rem, 4vw, 3rem); }
h3 { font-size: 1.7rem; }
p { margin: 0 0 1em; }
:focus-visible { outline: 2px solid var(--marrone); outline-offset: 3px; }

.ff-wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 24px; }
.ff-sr, .ff-hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ff-skip { position: absolute; left: -999px; top: 8px; background: var(--verde); color: #fff; padding: 8px 14px; z-index: 100; }
.ff-skip:focus { left: 8px; }
.ff-label { font: 500 .82rem/1.3 var(--etichetta); text-transform: uppercase; letter-spacing: .12em; color: var(--marrone); margin-bottom: .9em; }
.ff-lead { font-size: 1.18rem; color: var(--grigio); max-width: 38em; }

/* Pulsanti */
.ff-btn { display: inline-block; background: var(--verde); color: #fff; border: 1px solid var(--verde); border-radius: var(--radius); padding: 13px 24px;
	font: 500 .9rem/1 var(--etichetta); text-transform: uppercase; letter-spacing: .1em; text-decoration: none; cursor: pointer; transition: background .2s, color .2s; }
.ff-btn:hover { background: var(--marrone); border-color: var(--marrone); color: #fff; }
.ff-btn-small { padding: 10px 16px; font-size: .8rem; }
.ff-btn-line { background: transparent; color: var(--verde); }
.ff-btn-line:hover { background: var(--verde); color: #fff; border-color: var(--verde); }
.ff-btn-light { background: var(--crema); color: var(--verde); border-color: var(--crema); }
.ff-btn-light:hover { background: #fff; color: var(--verde); border-color: #fff; }
.ff-btn-line-light { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .6); }
.ff-btn-line-light:hover { background: #fff; color: var(--verde); border-color: #fff; }
.ff-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 1.6em; }
.ff-link { font: 500 .85rem/1 var(--etichetta); text-transform: uppercase; letter-spacing: .1em; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 4px; }

/* Testata */
.ff-header { background: var(--crema); border-bottom: 1px solid var(--bordo); position: sticky; top: 0; z-index: 50; }
.ff-header-in { display: flex; align-items: center; gap: 24px; min-height: 76px; }
.ff-brand { text-decoration: none; display: flex; flex-direction: column; line-height: 1; margin-right: auto; }
.ff-brand-name { font: 600 1.55rem/1 var(--etichetta); letter-spacing: .2em; text-transform: uppercase; color: var(--verde); }
.ff-brand-tag { font: 400 .78rem/1.2 var(--sans); color: var(--marrone); margin-top: 5px; letter-spacing: .02em; }
.ff-brand .custom-logo { max-height: 56px; width: auto; }
.ff-nav { display: flex; align-items: center; gap: 28px; }
.ff-menu { list-style: none; display: flex; gap: 26px; margin: 0; padding: 0; }
.ff-menu a { text-decoration: none; color: var(--testo); font-size: .95rem; }
.ff-menu a:hover, .ff-menu a[aria-current], .ff-menu .current-menu-item > a { color: var(--verde); box-shadow: inset 0 -1px 0 currentColor; }
.ff-nav-toggle { display: none; }

/* Home: apertura */
.ff-hero { background: var(--salvia); overflow: hidden; }
.ff-hero-in { display: grid; grid-template-columns: 1.05fr 1fr; gap: 56px; align-items: center; padding-top: 72px; padding-bottom: 72px; }
.ff-hero h1 { color: var(--verde); }
.ff-hero .ff-lead { color: var(--verde-2); }
.ff-hero .ff-label { color: var(--marrone); }
.ff-hero-img { margin: 0; }
.ff-hero-img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius); }

/* Sezioni */
.ff-section { padding: 96px 0; }
.ff-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 36px; }
.ff-section-head h2 { margin: 0; }
.ff-grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.ff-values h2 { max-width: 14em; margin-bottom: 48px; }
.ff-values article { border-top: 1px solid var(--verde); padding-top: 20px; }
.ff-values p { color: var(--grigio); }
.ff-products { background: #fff; }
.ff-card img, .ff-card-ph { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); margin-bottom: 20px; }
.ff-card-ph { background: linear-gradient(135deg, var(--salvia-chiaro), var(--salvia)); }
.ff-card-ph-2 { background: linear-gradient(135deg, #efe3d2, #d9c8a8); }
.ff-card p { color: var(--grigio); }
.ff-badge { font: 500 .7rem/1 var(--etichetta); text-transform: uppercase; letter-spacing: .1em; background: var(--crema); color: var(--marrone); border: 1px solid var(--bordo);
	border-radius: 99px; padding: 5px 9px; vertical-align: middle; margin-left: 6px; }
.ff-split-in { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.ff-split figure { margin: 0; }
.ff-split img { border-radius: var(--radius); aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.ff-story { background: var(--salvia-chiaro); text-align: center; }
.ff-story-in { max-width: 860px; }
.ff-story blockquote { margin: 0 0 28px; }
.ff-story blockquote p { font: italic 400 clamp(1.7rem, 3.4vw, 2.5rem)/1.25 var(--serif); color: var(--verde); }
.ff-story blockquote footer { font: 500 .85rem/1 var(--etichetta); text-transform: uppercase; letter-spacing: .14em; color: var(--marrone); }
.ff-cta { background: var(--verde); color: #fff; text-align: center; padding: 88px 0; }
.ff-cta h2 { color: #fff; }
.ff-cta p { color: rgba(255, 255, 255, .85); }
.ff-cta .ff-actions { justify-content: center; }

/* Pagine interne */
.ff-page-head { background: var(--salvia); padding: 72px 0 56px; }
.ff-page-head h1 { margin: 0 0 .3em; }
.ff-page-head .ff-lead { color: var(--verde-2); margin: 0; }
.ff-page-img { margin: 48px auto 0; }
.ff-page-img img { border-radius: var(--radius); width: 100%; max-height: 520px; object-fit: cover; }
.ff-content { padding-top: 56px; padding-bottom: 96px; max-width: 820px; }
.ff-content h2 { margin-top: 1.4em; }
.ff-content h3 { margin-top: 1.2em; }
.ff-content ul { padding-left: 1.2em; }
.ff-content li { margin-bottom: .4em; }
.ff-content blockquote { border-left: 2px solid var(--salvia); margin: 1.5em 0; padding: .2em 0 .2em 1.2em; font: italic 1.5rem/1.35 var(--serif); color: var(--verde); }
.ff-content .ff-note { background: #fff; border: 1px dashed var(--marrone); padding: 12px 16px; border-radius: var(--radius); color: var(--marrone); font-size: .95rem; }

/* Contatti */
.ff-contact { display: grid; grid-template-columns: 1fr 1.3fr; gap: 64px; padding-top: 56px; padding-bottom: 96px; }
.ff-contact dl { margin: 1.5em 0 0; }
.ff-contact dt { font: 500 .8rem/1 var(--etichetta); text-transform: uppercase; letter-spacing: .12em; color: var(--marrone); margin-top: 1.2em; }
.ff-contact dd { margin: .35em 0 0; font-size: 1.1rem; }
.ff-form { background: #fff; border: 1px solid var(--bordo); border-radius: var(--radius); padding: 32px; display: grid; gap: 16px; }
.ff-form label { display: grid; gap: 6px; font-size: .92rem; color: var(--grigio); }
.ff-form input[type=text], .ff-form input[type=email], .ff-form input[type=tel], .ff-form textarea {
	font: inherit; color: var(--testo); background: var(--crema); border: 1px solid var(--bordo); border-radius: var(--radius); padding: 11px 13px; width: 100%; }
.ff-form input:focus, .ff-form textarea:focus { outline: 2px solid var(--salvia); border-color: var(--verde); }
.ff-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ff-choice { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; }
.ff-choice legend { font: 500 .8rem/1 var(--etichetta); text-transform: uppercase; letter-spacing: .12em; color: var(--marrone); margin-bottom: 10px; }
.ff-form .ff-choice label, .ff-form .ff-check { display: flex; gap: 8px; align-items: flex-start; color: var(--testo); }
.ff-form .ff-btn { justify-self: start; }
.ff-notice { margin: 0; padding: 12px 16px; border-radius: var(--radius); }
.ff-ok { background: var(--salvia-chiaro); color: var(--verde); }
.ff-ko { background: #f6e3dc; color: #7a2a12; }

/* Piè di pagina */
.ff-footer { background: #10261d; color: rgba(255, 255, 255, .78); padding: 64px 0 28px; font-size: .95rem; }
.ff-footer a { color: #fff; }
.ff-footer-in { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 40px; }
.ff-footer-name { font: 600 1.1rem/1.2 var(--etichetta); text-transform: uppercase; letter-spacing: .14em; color: #fff; }
.ff-footer .ff-label { color: var(--salvia); }
.ff-footer-menu, .ff-footer .ff-menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.ff-footer .ff-menu a { color: #fff; font-size: .95rem; }
.ff-footer-legal { display: flex; gap: 20px; justify-content: space-between; border-top: 1px solid rgba(255, 255, 255, .12); margin-top: 48px; padding-top: 22px; font-size: .85rem; }

/* Tablet e telefono */
@media (max-width: 900px) {
	body { font-size: 16px; }
	.ff-nav-toggle { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: none; border: 1px solid var(--bordo); border-radius: var(--radius); cursor: pointer; }
	.ff-nav-toggle span:first-child, .ff-nav-toggle span:first-child::before, .ff-nav-toggle span:first-child::after { display: block; width: 20px; height: 2px; background: var(--verde); position: relative; content: ''; }
	.ff-nav-toggle span:first-child::before { position: absolute; top: -6px; }
	.ff-nav-toggle span:first-child::after { position: absolute; top: 6px; }
	.ff-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--crema); border-bottom: 1px solid var(--bordo); flex-direction: column; align-items: flex-start; padding: 12px 24px 24px; gap: 16px; }
	.ff-nav-open .ff-nav { display: flex; }
	.ff-nav .ff-menu { flex-direction: column; gap: 4px; width: 100%; }
	.ff-nav .ff-menu a { display: block; padding: 10px 0; font-size: 1.05rem; }
	.ff-hero-in, .ff-split-in, .ff-contact { grid-template-columns: 1fr; gap: 36px; }
	.ff-hero-in { padding-top: 44px; padding-bottom: 48px; }
	.ff-hero-img img { aspect-ratio: 4 / 3; }
	.ff-grid3 { grid-template-columns: 1fr; gap: 32px; }
	.ff-section { padding: 64px 0; }
	.ff-footer-in { grid-template-columns: 1fr; gap: 24px; }
	.ff-row { grid-template-columns: 1fr; }
	.ff-form { padding: 22px; }
	.ff-section-head { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 420px) {
	.ff-wrap { padding: 0 16px; }
	.ff-brand-name { font-size: 1.3rem; }
	.ff-header-in .ff-btn-small { display: none; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }

/* Microgreens: elenco e schede */
.ff-intro { padding-bottom: 32px; }
.ff-mg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 28px; padding-bottom: 96px; }
.ff-mg-card { display: flex; flex-direction: column; text-decoration: none; color: var(--testo); background: #fff; border: 1px solid var(--bordo); border-radius: var(--radius); overflow: hidden; transition: transform .2s, box-shadow .2s; }
.ff-mg-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(5, 56, 39, .1); color: var(--testo); }
.ff-mg-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.ff-mg-name { font: 400 1.6rem/1.1 var(--serif); color: var(--verde); padding: 16px 18px 4px; }
.ff-mg-taste { font-size: .92rem; color: var(--grigio); padding: 0 18px 18px; }
.ff-scheda-head .ff-label a { color: var(--marrone); text-decoration: none; }
.ff-scheda { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; padding-top: 56px; align-items: start; }
.ff-scheda-img { margin: 0; }
.ff-scheda-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); }
.ff-facts { margin: 0; display: grid; grid-template-columns: max-content 1fr; gap: 0; border-top: 1px solid var(--bordo); }
.ff-facts dt, .ff-facts dd { padding: 13px 0; border-bottom: 1px solid var(--bordo); margin: 0; }
.ff-facts dt { font: 500 .78rem/1.5 var(--etichetta); text-transform: uppercase; letter-spacing: .12em; color: var(--marrone); padding-right: 22px; }
.ff-facts .ff-bot { font-style: italic; }
.ff-scheda + .ff-content { padding-top: 40px; }
.ff-altre { background: var(--salvia-chiaro); padding: 56px 0; }
.ff-altre h2 { font-size: 1.9rem; }
.ff-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.ff-chips a { display: inline-block; background: var(--crema); border: 1px solid var(--bordo); border-radius: 99px; padding: 8px 16px; text-decoration: none; color: var(--verde); }
.ff-chips a:hover { background: var(--verde); color: #fff; }
@media (max-width: 900px) {
	.ff-scheda { grid-template-columns: 1fr; gap: 28px; padding-top: 32px; }
	.ff-mg-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
	.ff-mg-name { font-size: 1.3rem; padding: 12px 12px 2px; }
	.ff-mg-taste { padding: 0 12px 12px; font-size: .85rem; }
}

/* Instagram (home) */
.ff-ig { background: #fff; }
.ff-ig-head { display: flex; align-items: center; gap: 24px; margin-bottom: 32px; flex-wrap: wrap; }
.ff-ig-avatar { width: 92px; height: 92px; border-radius: 50%; padding: 3px; background: linear-gradient(135deg, var(--salvia), var(--verde)); text-decoration: none; flex: none; }
.ff-ig-avatar span { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; border-radius: 50%; background: var(--crema); border: 3px solid #fff;
	font: 400 2.8rem/1 var(--serif); color: var(--verde); }
.ff-ig-who { flex: 1; min-width: 220px; }
.ff-ig-who .ff-label { margin-bottom: .3em; }
.ff-ig-user { font: 400 2rem/1.1 var(--serif); margin: 0 0 .2em; }
.ff-ig-user a { text-decoration: none; }
.ff-ig-bio { color: var(--grigio); margin: 0; font-size: .95rem; }
.ff-ig-follow { display: inline-flex; align-items: center; gap: 8px; }
.ff-ig-follow svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; }
.ff-ig-follow svg .dot { fill: currentColor; stroke: none; }
.ff-ig-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.ff-ig-grid a { position: relative; display: block; aspect-ratio: 1; overflow: hidden; background: var(--salvia-chiaro); }
.ff-ig-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.ff-ig-cap { position: absolute; inset: 0; display: flex; align-items: flex-end; padding: 10px; background: linear-gradient(transparent 45%, rgba(5, 56, 39, .75));
	color: #fff; font-size: .82rem; line-height: 1.3; opacity: 0; transition: opacity .25s; }
.ff-ig-grid a:hover img, .ff-ig-grid a:focus-visible img { transform: scale(1.05); }
.ff-ig-grid a:hover .ff-ig-cap, .ff-ig-grid a:focus-visible .ff-ig-cap { opacity: 1; }
@media (max-width: 900px) {
	.ff-ig-head { gap: 16px; }
	.ff-ig-avatar { width: 68px; height: 68px; }
	.ff-ig-avatar span { font-size: 2rem; }
	.ff-ig-user { font-size: 1.6rem; }
	.ff-ig-follow { width: 100%; justify-content: center; }
	.ff-ig-grid { gap: 2px; }
	.ff-ig-cap { display: none; }
}

/* Parallax (home) */
.ff-hero-img { overflow: hidden; border-radius: var(--radius); }
.ff-hero-img img { transform-origin: center; scale: 1.12; will-change: transform; border-radius: 0; }
.ff-parallax { position: relative; height: clamp(320px, 55vh, 560px); overflow: hidden; display: flex; align-items: center; background: var(--verde); }
.ff-parallax-img { position: absolute; left: 0; top: -30%; width: 100%; height: 160%; object-fit: cover; will-change: transform; }
.ff-parallax::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5, 56, 39, .72), rgba(5, 56, 39, .15) 70%); }
.ff-parallax-text { position: relative; z-index: 1; width: 100%; }
.ff-parallax-text .ff-label { color: var(--salvia); }
.ff-parallax-quote { font: 400 clamp(2rem, 4.6vw, 3.6rem)/1.1 var(--serif); color: #fff; max-width: 13em; margin: 0; }
@media (prefers-reduced-motion: reduce) { .ff-hero-img img { scale: 1; } .ff-parallax-img { top: 0; height: 100%; } }

/* Chi sono: tre foto (Valentina, Cliff, il nonno) */
.ff-content .ff-trio { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 1.6em -60px 2em; }
.ff-trio figure { margin: 0; }
.ff-trio img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius); }
.ff-trio figcaption { font-size: .85rem; color: var(--grigio); margin-top: 8px; }
@media (max-width: 1000px) { .ff-content .ff-trio { margin-left: 0; margin-right: 0; } }
@media (max-width: 600px) { .ff-content .ff-trio { grid-template-columns: 1fr 1fr; } .ff-trio figure:first-child { grid-column: 1 / -1; } .ff-trio figure:first-child img { aspect-ratio: 4 / 4.2; } }

/* Apertura con video a tutta larghezza */
.ff-hero-video { position: relative; min-height: min(88vh, 820px); display: flex; align-items: center; background: var(--verde); }
.ff-hero-media { position: absolute; inset: 0; overflow: hidden; }
.ff-hero-media video { position: absolute; left: 0; top: -8%; width: 100%; height: 116%; object-fit: cover; will-change: transform; }
.ff-hero-video::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5, 56, 39, .82) 0%, rgba(5, 56, 39, .55) 45%, rgba(5, 56, 39, .1) 100%); pointer-events: none; }
.ff-hero-video .ff-hero-in { position: relative; z-index: 1; grid-template-columns: minmax(0, 640px); width: 100%; }
.ff-hero-video h1 { color: #fff; }
.ff-hero-video .ff-lead { color: rgba(255, 255, 255, .9); }
.ff-hero-video .ff-label { color: var(--salvia); }
.ff-video-toggle { position: absolute; right: 20px; bottom: 20px; z-index: 2; width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .6);
	background: rgba(5, 56, 39, .45); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.ff-video-toggle span { width: 12px; height: 14px; border-left: 4px solid #fff; border-right: 4px solid #fff; }
.ff-video-toggle[aria-pressed="true"] span { width: 0; height: 0; border: 0; border-left: 13px solid #fff; border-top: 8px solid transparent; border-bottom: 8px solid transparent; margin-left: 4px; }
@media (max-width: 900px) {
	.ff-hero-video { min-height: 78vh; align-items: flex-end; }
	.ff-hero-video::after { background: linear-gradient(0deg, rgba(5, 56, 39, .88) 0%, rgba(5, 56, 39, .5) 55%, rgba(5, 56, 39, .15) 100%); }
	.ff-hero-video .ff-hero-in { padding-bottom: 40px; }
}
@media (prefers-reduced-motion: reduce) { .ff-hero-media video { top: 0; height: 100%; } }

/* Metodo BSC: le tre lettere */
.ff-content .ff-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 2em -60px 2.4em; }
.ff-pillar { background: #fff; border: 1px solid var(--bordo); border-radius: var(--radius); padding: 26px 22px 20px; }
.ff-pillar-letter { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: var(--salvia);
	font: 400 2rem/1 var(--serif); color: var(--verde); margin-bottom: 14px; }
.ff-content .ff-pillar h3 { margin: 0 0 .4em; }
.ff-pillar p { color: var(--grigio); margin: 0; font-size: .97rem; }
.ff-values-more { margin-top: 36px; }
@media (max-width: 1000px) { .ff-content .ff-pillars { margin-left: 0; margin-right: 0; } }
@media (max-width: 700px) { .ff-content .ff-pillars { grid-template-columns: 1fr; } }

/* Menu con 6 voci: niente a capo nelle voci; sotto i 1140 px si passa al menu a scomparsa */
.ff-menu a, .ff-btn { white-space: nowrap; }
@media (max-width: 1240px) { .ff-menu { gap: 20px; } .ff-nav { gap: 20px; } }
@media (max-width: 1140px) {
	.ff-nav-toggle { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: none; border: 1px solid var(--bordo); border-radius: var(--radius); cursor: pointer; }
	.ff-nav-toggle span:first-child, .ff-nav-toggle span:first-child::before, .ff-nav-toggle span:first-child::after { display: block; width: 20px; height: 2px; background: var(--verde); position: relative; content: ''; }
	.ff-nav-toggle span:first-child::before { position: absolute; top: -6px; }
	.ff-nav-toggle span:first-child::after { position: absolute; top: 6px; }
	.ff-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--crema); border-bottom: 1px solid var(--bordo); flex-direction: column; align-items: flex-start; padding: 12px 24px 24px; gap: 16px; }
	.ff-nav-open .ff-nav { display: flex; }
	.ff-nav .ff-menu { flex-direction: column; gap: 4px; width: 100%; }
	.ff-nav .ff-menu a { display: block; padding: 10px 0; font-size: 1.05rem; }
}
