/* ==========================================================================
   Fungi Crest — design system
   Forest green, parchment and burnished gold. Fraunces + Manrope.
   ========================================================================== */

/* 1. Tokens ---------------------------------------------------------------- */
:root {
	--fc-forest: #173a26;
	--fc-forest-deep: #0f2a1b;
	--fc-forest-ink: #0b1f14;
	--fc-moss: #2f5d3a;
	--fc-sage: #8fa88a;
	--fc-sage-soft: #dfe7d8;
	--fc-cream: #f6f1e5;
	--fc-paper: #fffdf8;
	--fc-parchment: #ede5d3;
	--fc-gold: #c39a43;
	--fc-gold-deep: #9c7a2e;
	--fc-gold-soft: #e7d3a2;
	--fc-ember: #b5482a;
	--fc-ink: #1c2a1f;
	--fc-muted: #5f6a5f;
	--fc-line: #e4dccb;
	--fc-line-strong: #d3c8b1;
	--fc-success: #2c6e3f;
	--fc-danger: #9b3b22;

	--fc-font-display: "Fraunces", "Iowan Old Style", Georgia, serif;
	--fc-font-sans: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;

	--fc-radius-sm: 10px;
	--fc-radius: 16px;
	--fc-radius-lg: 24px;
	--fc-shadow-sm: 0 1px 2px rgba(23, 42, 30, .06), 0 2px 8px -2px rgba(23, 42, 30, .06);
	--fc-shadow: 0 1px 2px rgba(23, 42, 30, .05), 0 18px 40px -22px rgba(23, 42, 30, .35);
	--fc-shadow-lg: 0 40px 80px -36px rgba(11, 31, 20, .5);
	--fc-ease: cubic-bezier(.2, .8, .2, 1);

	--fc-gutter: clamp(16px, 4vw, 40px);
	--fc-max: 1280px;
	--fc-header-h: 92px;
	--fc-section: clamp(64px, 9vw, 128px);
}

/* 2. Base ------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
/* The hidden attribute always wins, so closed overlays can never block clicks. */
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--fc-header-h) + 16px); }
body {
	margin: 0;
	background: var(--fc-cream);
	color: var(--fc-ink);
	font: 400 16px/1.65 var(--fc-font-sans);
	font-feature-settings: "ss01", "cv11";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}
img, svg, video { display: block; max-width: 100%; height: auto; }
a { color: var(--fc-forest); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--fc-moss); }
button { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--fc-gold); outline-offset: 3px; border-radius: 6px; }
::selection { background: var(--fc-gold-soft); color: var(--fc-forest-ink); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.fc-skip { position: fixed; left: 16px; top: -60px; z-index: 2000; padding: 12px 18px; background: var(--fc-forest); color: var(--fc-cream); border-radius: 0 0 12px 12px; transition: top .2s; }
.fc-skip:focus { top: 0; color: var(--fc-cream); }
.fc-main:focus { outline: none; }
.fc-hp { position: absolute !important; left: -9999px !important; }
.fc-locked, .fcf-locked { overflow: hidden; }

/* 3. Typography ------------------------------------------------------------- */
h1, h2, h3, h4 { margin: 0 0 .5em; font-family: var(--fc-font-display); font-weight: 500; line-height: 1.08; letter-spacing: -.015em; color: var(--fc-forest); font-variation-settings: "opsz" 96, "SOFT" 30; }
h1 { font-size: clamp(38px, 5.2vw, 68px); }
h2 { font-size: clamp(30px, 3.6vw, 48px); }
h3 { font-size: clamp(20px, 1.8vw, 24px); line-height: 1.2; font-variation-settings: "opsz" 36; }
p { margin: 0 0 1em; }
em { font-style: italic; }
.fc-eyebrow { margin: 0 0 14px; font: 700 12px/1.3 var(--fc-font-sans); letter-spacing: .18em; text-transform: uppercase; color: var(--fc-moss); }
.fc-eyebrow a { color: inherit; text-decoration: none; }
.fc-eyebrow--light { color: var(--fc-gold-soft); }
.fc-heading { max-width: 720px; margin-bottom: clamp(28px, 4vw, 48px); }
.fc-heading--center { margin-inline: auto; text-align: center; }
.fc-heading__title { margin-bottom: .35em; }
.fc-heading__lede { margin: 0; font-size: clamp(16px, 1.3vw, 18px); color: var(--fc-muted); max-width: 60ch; }
.fc-heading--center .fc-heading__lede { margin-inline: auto; }
.fc-muted { color: var(--fc-muted); }
.fc-prose { font-size: 17px; line-height: 1.75; }
.fc-prose > * { max-width: 72ch; }
.fc-prose h2 { margin-top: 1.6em; font-size: clamp(26px, 2.6vw, 34px); }
.fc-prose h3 { margin-top: 1.4em; }
.fc-prose ul, .fc-prose ol { padding-left: 1.2em; }
.fc-prose li { margin-bottom: .4em; }
.fc-prose--page { margin-inline: auto; }

/* 4. Layout ----------------------------------------------------------------- */
.fc-container { width: 100%; max-width: calc(var(--fc-max) + var(--fc-gutter) * 2); margin-inline: auto; padding-inline: var(--fc-gutter); }
.fc-container--narrow { max-width: calc(820px + var(--fc-gutter) * 2); }
.fc-section { position: relative; padding-block: var(--fc-section); }
.fc-section--tight { padding-block: clamp(40px, 6vw, 80px); }
.fc-section--paper { background: var(--fc-paper); border-block: 1px solid var(--fc-line); }
.fc-section__head--split { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.fc-section__head--split .fc-heading { margin-bottom: 28px; }
.fc-grid { display: grid; gap: clamp(16px, 2vw, 24px); }
.fc-grid--products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fc-grid--posts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fc-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); align-items: start; }

/* 5. Buttons & controls ---------------------------------------------------- */
.fc-btn {
	--_bg: var(--fc-forest); --_fg: var(--fc-cream); --_bd: transparent;
	position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 48px; padding: 12px 24px; border: 1px solid var(--_bd); border-radius: 999px;
	background: var(--_bg); color: var(--_fg); font: 600 15px/1.1 var(--fc-font-sans); letter-spacing: .01em;
	text-decoration: none; white-space: nowrap; cursor: pointer; isolation: isolate; overflow: hidden;
	transition: background .25s var(--fc-ease), color .25s, border-color .25s, transform .2s var(--fc-ease), box-shadow .25s;
}
.fc-btn:hover { color: var(--_fg); transform: translateY(-1px); box-shadow: 0 10px 24px -14px rgba(15, 42, 27, .6); }
.fc-btn:active { transform: translateY(0) scale(.985); }
.fc-btn .fc-icon { flex: none; transition: transform .25s var(--fc-ease); }
.fc-btn:hover .fc-icon:last-child { transform: translateX(3px); }
.fc-btn--primary:hover { --_bg: var(--fc-forest-deep); }
.fc-btn--gold { --_bg: var(--fc-gold); --_fg: var(--fc-forest-ink); }
.fc-btn--gold:hover { --_bg: #d2ab55; }
.fc-btn--cream { --_bg: var(--fc-cream); --_fg: var(--fc-forest); }
.fc-btn--cream:hover { --_bg: #fff; }
.fc-btn--ghost { --_bg: transparent; --_fg: var(--fc-forest); --_bd: var(--fc-forest); }
.fc-btn--ghost:hover { --_bg: var(--fc-forest); --_fg: var(--fc-cream); }
.fc-btn--outline-light { --_bg: transparent; --_fg: var(--fc-cream); --_bd: rgba(246, 241, 229, .55); }
.fc-btn--outline-light:hover { --_bg: rgba(246, 241, 229, .12); --_bd: var(--fc-cream); }
.fc-btn--sm { min-height: 40px; padding: 9px 16px; font-size: 14px; gap: 7px; }
.fc-btn--lg { min-height: 56px; padding: 16px 30px; font-size: 16px; }
.fc-btn--block { display: flex; width: 100%; }
.fc-btn[disabled], .fc-btn.is-busy { opacity: .6; pointer-events: none; }
.fc-btn.is-busy::after { content: ""; width: 16px; height: 16px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: fc-spin .7s linear infinite; }
@keyframes fc-spin { to { transform: rotate(360deg); } }
/* Shimmer sweep (21st.dev "shimmer button" idea, CSS only). */
[data-shimmer]::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .55) 50%, transparent 70%); transform: translateX(-120%); animation: fc-shimmer 4.5s 1.5s var(--fc-ease) infinite; }
@keyframes fc-shimmer { 0%, 70% { transform: translateX(-120%); } 100% { transform: translateX(120%); } }

.fc-iconbtn { position: relative; display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--fc-forest); cursor: pointer; transition: background .2s; }
.fc-iconbtn:hover { background: rgba(23, 58, 38, .07); }
.fc-count { position: absolute; top: 2px; right: 0; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 99px; background: var(--fc-gold); color: var(--fc-forest-ink); font: 700 11px/19px var(--fc-font-sans); text-align: center; transition: transform .3s var(--fc-ease); }
.fc-count:empty, .fc-count[data-zero] { transform: scale(0); }
.fc-count.is-bump { animation: fc-bump .5s var(--fc-ease); }
@keyframes fc-bump { 40% { transform: scale(1.35); } }
.fc-count--inline { position: static; display: inline-block; margin-left: 6px; }
.fc-link-arrow { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--fc-forest); text-decoration: none; white-space: nowrap; }
.fc-link-arrow:hover .fc-icon { transform: translateX(4px); }
.fc-link-arrow .fc-icon { transition: transform .25s var(--fc-ease); }
.fc-tag { position: absolute; top: 14px; left: 14px; z-index: 2; padding: 6px 12px; border-radius: 99px; font: 700 11px/1 var(--fc-font-sans); letter-spacing: .1em; text-transform: uppercase; }
.fc-tag--gold { background: rgba(255, 253, 248, .92); color: var(--fc-gold-deep); box-shadow: inset 0 0 0 1px var(--fc-gold-soft); }

.fc-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.fc-chip { display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; border: 1px solid var(--fc-line-strong); border-radius: 99px; background: var(--fc-paper); color: var(--fc-ink); font-size: 14px; font-weight: 600; text-decoration: none; transition: all .2s; }
.fc-chip span { color: var(--fc-muted); font-weight: 500; }
.fc-chip:hover { border-color: var(--fc-forest); color: var(--fc-forest); }
.fc-chip.is-active { background: var(--fc-forest); border-color: var(--fc-forest); color: var(--fc-cream); }
.fc-chip.is-active span { color: var(--fc-gold-soft); }

/* Forms */
.fc-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; margin-bottom: 16px; }
.fc-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.fc-field--full { grid-column: 1 / -1; }
.fc-field label, .fc-picker__trade label { font-size: 13px; font-weight: 600; color: var(--fc-ink); }
.fc-field label span[aria-hidden] { color: var(--fc-ember); }
.fc-optional { color: var(--fc-muted); font-weight: 400; }
.fc-field input, .fc-field select, .fc-field textarea, .fc-picker__trade input, .fc-searchform input,
.woocommerce form .input-text, .woocommerce form select, .woocommerce-page form .input-text {
	width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid var(--fc-line-strong); border-radius: 12px;
	background: #fff; color: var(--fc-ink); font: 400 16px/1.4 var(--fc-font-sans); transition: border-color .2s, box-shadow .2s; appearance: none;
}
.fc-field textarea { min-height: 96px; resize: vertical; }
.fc-field select, .woocommerce form select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23173a26' stroke-width='1.8' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 40px; }
.fc-field select[multiple] { min-height: 48px; background-image: none; padding-right: 14px; }
.fc-field input:focus, .fc-field select:focus, .fc-field textarea:focus, .woocommerce form .input-text:focus { outline: none; border-color: var(--fc-forest); box-shadow: 0 0 0 4px rgba(23, 58, 38, .1); }
.fc-field.is-invalid input, .fc-field.is-invalid select { border-color: var(--fc-danger); }
.fc-check { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 18px; font-size: 13px; color: var(--fc-muted); cursor: pointer; }
.fc-check input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--fc-forest); flex: none; }
.fc-form__assure { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 12px 0 0; font-size: 13px; color: var(--fc-muted); text-align: center; }
.fc-form__msg { min-height: 1em; margin: 10px 0 0; font-size: 14px; font-weight: 600; }
.fc-form__msg.is-error { color: var(--fc-danger); }
.fc-form__msg.is-ok { color: var(--fc-success); }
.fc-notice { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; padding: 14px 16px; border-radius: 12px; font-size: 14px; font-weight: 600; }
.fc-notice--success { background: #e5f1e6; color: var(--fc-success); }
.fc-notice--error { background: #f6e3dd; color: var(--fc-danger); }

/* Multi-select chip input (enhanced by JS) */
.fc-multi { position: relative; }
.fc-multi__box { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; min-height: 48px; padding: 7px 40px 7px 10px; border: 1px solid var(--fc-line-strong); border-radius: 12px; background: #fff; cursor: text; }
.fc-multi__box:focus-within { border-color: var(--fc-forest); box-shadow: 0 0 0 4px rgba(23, 58, 38, .1); }
.fc-multi__tag { display: inline-flex; align-items: center; gap: 4px; padding: 4px 6px 4px 10px; border-radius: 99px; background: var(--fc-sage-soft); color: var(--fc-forest); font-size: 13px; font-weight: 600; }
.fc-multi__tag button { display: grid; place-items: center; width: 20px; height: 20px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.fc-field .fc-multi__input { flex: 1; width: auto; min-width: 120px; min-height: 0; border: 0; box-shadow: none; padding: 6px 4px; font: inherit; font-size: 15px; outline: none; background: transparent; }
.fc-multi__list { position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 30; max-height: 240px; overflow: auto; margin: 0; padding: 6px; list-style: none; background: var(--fc-paper); border: 1px solid var(--fc-line); border-radius: 12px; box-shadow: var(--fc-shadow); }
.fc-multi__list li { padding: 9px 12px; border-radius: 8px; font-size: 14px; cursor: pointer; }
.fc-multi__list li[aria-selected="true"], .fc-multi__list li:hover { background: var(--fc-cream); }

/* 6. Header ----------------------------------------------------------------- */
.fc-announce { background: var(--fc-forest-ink); color: var(--fc-parchment); font-size: 13px; }
.fc-announce__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 38px; gap: 16px; }
.fc-announce__side { display: flex; align-items: center; gap: 6px; margin: 0; opacity: .8; }
.fc-announce__side--end { justify-content: flex-end; }
.fc-announce a { color: inherit; text-decoration: none; display: inline-flex; gap: 6px; align-items: center; }
.fc-announce__rotator { position: relative; display: grid; text-align: center; font-weight: 600; letter-spacing: .02em; }
.fc-announce__msg { grid-area: 1 / 1; margin: 0; opacity: 0; transform: translateY(8px); transition: opacity .5s, transform .5s var(--fc-ease); }
.fc-announce__msg.is-active { opacity: 1; transform: none; }

.fc-header { position: sticky; top: 0; z-index: 100; background: rgba(246, 241, 229, .9); backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px); border-bottom: 1px solid transparent; transition: border-color .3s, box-shadow .3s, background .3s; }
.fc-header.is-scrolled { border-bottom-color: var(--fc-line); box-shadow: 0 10px 30px -24px rgba(11, 31, 20, .45); background: rgba(250, 247, 239, .94); }
.fc-header__inner { display: flex; align-items: center; gap: 24px; height: var(--fc-header-h); transition: height .3s var(--fc-ease); }
.fc-header.is-scrolled .fc-header__inner { height: 72px; }
.fc-logo { display: inline-flex; align-items: center; gap: 14px; text-decoration: none; color: var(--fc-forest); flex: none; }
.fc-logo img { width: 76px; height: 76px; object-fit: contain; transition: width .3s var(--fc-ease), height .3s var(--fc-ease); filter: drop-shadow(0 2px 4px rgba(11, 31, 20, .12)); }
.fc-header.is-scrolled .fc-logo img { width: 60px; height: 60px; }
.fc-nav { flex: 1; display: flex; justify-content: center; }
.fc-nav__list { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.fc-nav__item { position: relative; display: flex; align-items: center; }
.fc-nav__link { position: relative; padding: 10px 12px; font-size: 15px; font-weight: 600; color: var(--fc-ink); text-decoration: none; transition: color .2s; }
.fc-nav__link::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 4px; height: 1.5px; background: var(--fc-gold); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--fc-ease); }
.fc-nav__link:hover, .fc-nav__link[aria-current] { color: var(--fc-forest); }
.fc-nav__link:hover::after, .fc-nav__link[aria-current]::after { transform: scaleX(1); }
.fc-nav__caret { display: grid; place-items: center; width: 24px; height: 24px; margin-left: -8px; padding: 0; border: 0; background: none; color: var(--fc-muted); cursor: pointer; transition: transform .3s; }
.has-mega.is-open .fc-nav__caret, .has-mega:hover .fc-nav__caret { transform: rotate(180deg); }
.fc-header__actions { display: flex; align-items: center; gap: 2px; flex: none; }
.fc-header__cta { margin-left: 10px; }
.fc-menu-toggle { display: none; }

.fc-mega { position: absolute; top: 100%; left: 50%; width: min(860px, calc(100vw - 48px)); padding-top: 14px; transform: translate(calc(-50% + var(--mega-shift, 0px)), 8px); opacity: 0; visibility: hidden; transition: opacity .25s, transform .3s var(--fc-ease), visibility .25s; }
.has-mega:hover .fc-mega, .has-mega.is-open .fc-mega, .has-mega:focus-within .fc-mega { opacity: 1; visibility: visible; transform: translate(calc(-50% + var(--mega-shift, 0px)), 0); }
.fc-mega__inner { display: grid; grid-template-columns: 1.5fr 1fr; gap: 12px; padding: 14px; background: var(--fc-paper); border: 1px solid var(--fc-line); border-radius: 22px; box-shadow: var(--fc-shadow-lg); }
.fc-mega__cols { display: flex; flex-direction: column; gap: 4px; padding: 6px; }
.fc-mega__cat { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 14px; padding: 12px; border-radius: 14px; text-decoration: none; color: var(--fc-ink); transition: background .2s; }
.fc-mega__cat:hover { background: var(--fc-cream); color: var(--fc-ink); }
.fc-mega__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: var(--fc-sage-soft); color: var(--fc-forest); }
.fc-mega__text strong { display: block; font-family: var(--fc-font-display); font-size: 18px; font-weight: 500; color: var(--fc-forest); }
.fc-mega__text small { display: block; font-size: 13px; line-height: 1.45; color: var(--fc-muted); }
.fc-mega__count { padding: 3px 9px; border-radius: 99px; background: var(--fc-cream); font-size: 12px; font-weight: 700; color: var(--fc-muted); }
.fc-mega__all { display: inline-flex; align-items: center; gap: 8px; margin: 6px 12px 4px; font-size: 14px; font-weight: 700; text-decoration: none; }
.fc-mega__feature { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 2px; min-height: 260px; padding: 18px; border-radius: 16px; overflow: hidden; color: var(--fc-cream); text-decoration: none; isolation: isolate; }
.fc-mega__media { position: absolute; inset: 0; z-index: -1; }
.fc-mega__media img, .fc-mega__media svg { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--fc-ease); }
.fc-mega__feature:hover img { transform: scale(1.05); }
.fc-mega__feature::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 35%, rgba(11, 31, 20, .85)); }
.fc-mega__feature .fc-eyebrow { margin: 0; color: var(--fc-gold-soft); }
.fc-mega__feature strong { font-family: var(--fc-font-display); font-size: 22px; font-weight: 500; }
.fc-mega__price, .fc-mega__price .amount { color: var(--fc-cream); font-size: 14px; }

/* 7. Overlays --------------------------------------------------------------- */
.fc-overlay { position: fixed; inset: 0; z-index: 900; }
.fc-overlay__scrim { position: absolute; inset: 0; background: rgba(11, 31, 20, .5); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); opacity: 0; transition: opacity .3s; }
.fc-overlay.is-open .fc-overlay__scrim { opacity: 1; }

.fc-search__panel { position: relative; width: min(760px, calc(100% - 32px)); margin: clamp(16px, 10vh, 120px) auto 0; background: var(--fc-paper); border-radius: 22px; box-shadow: var(--fc-shadow-lg); overflow: hidden; transform: translateY(-16px) scale(.98); opacity: 0; transition: transform .35s var(--fc-ease), opacity .25s; }
.fc-overlay.is-open .fc-search__panel { transform: none; opacity: 1; }
.fc-search__form { display: flex; align-items: center; gap: 12px; padding: 10px 12px 10px 22px; border-bottom: 1px solid var(--fc-line); color: var(--fc-muted); }
.fc-search__form input { flex: 1; min-width: 0; height: 56px; border: 0; background: transparent; font: 400 20px var(--fc-font-sans); color: var(--fc-ink); outline: none; }
.fc-search__body { padding: 20px 22px 24px; max-height: 60vh; overflow: auto; }
.fc-search__popular ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.fc-search__popular a { display: inline-block; padding: 8px 14px; border-radius: 99px; background: var(--fc-cream); font-size: 14px; font-weight: 600; text-decoration: none; }
.fc-search__results { margin: 16px 0 0; padding: 0; list-style: none; }
.fc-search__results a { display: grid; grid-template-columns: 56px 1fr auto; align-items: center; gap: 14px; padding: 10px; border-radius: 12px; text-decoration: none; color: var(--fc-ink); }
.fc-search__results a:hover, .fc-search__results a:focus { background: var(--fc-cream); }
.fc-search__thumb { width: 56px; height: 56px; border-radius: 10px; overflow: hidden; background: var(--fc-parchment); }
.fc-search__thumb img { width: 100%; height: 100%; object-fit: cover; }
.fc-search__results strong { display: block; font-family: var(--fc-font-display); font-weight: 500; font-size: 17px; color: var(--fc-forest); }
.fc-search__results em { font-size: 13px; color: var(--fc-muted); }
.fc-search__results .fc-search__price { font-size: 14px; font-weight: 700; }

.fc-drawer__panel, .fc-bag__panel { position: absolute; top: 0; bottom: 0; display: flex; flex-direction: column; width: min(440px, 100%); background: var(--fc-paper); box-shadow: var(--fc-shadow-lg); transition: transform .45s var(--fc-ease); }
.fc-drawer__panel { left: 0; transform: translateX(-100%); }
.fc-bag__panel { right: 0; transform: translateX(100%); }
.fc-overlay.is-open .fc-drawer__panel, .fc-overlay.is-open .fc-bag__panel { transform: none; }
.fc-drawer__head, .fc-bag__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px 12px 20px; border-bottom: 1px solid var(--fc-line); }
.fc-drawer__head .fc-logo img { width: 56px; height: 56px; }
.fc-drawer__nav { flex: 1; overflow: auto; padding: 12px 8px; }
.fc-drawer__list, .fc-drawer__list ul { margin: 0; padding: 0; list-style: none; }
.fc-drawer__list > li > a { display: block; padding: 14px 14px; font-family: var(--fc-font-display); font-size: 24px; color: var(--fc-forest); text-decoration: none; border-radius: 12px; }
.fc-drawer__list > li > a:hover { background: var(--fc-cream); }
.fc-drawer__list ul { padding: 0 0 8px 14px; }
.fc-drawer__list ul a { display: block; padding: 10px 14px; font-weight: 600; color: var(--fc-muted); text-decoration: none; }
.fc-drawer__foot { display: grid; gap: 10px; padding: 16px 20px calc(20px + env(safe-area-inset-bottom)); border-top: 1px solid var(--fc-line); }
.fc-drawer__foot .fc-socials { justify-content: center; margin-top: 6px; }

.fc-tabs { display: flex; gap: 4px; padding: 4px; border-radius: 99px; background: var(--fc-cream); }
.fc-tabs button { padding: 9px 14px; border: 0; border-radius: 99px; background: transparent; font-weight: 700; font-size: 14px; color: var(--fc-muted); cursor: pointer; }
.fc-tabs button[aria-selected="true"] { background: var(--fc-paper); color: var(--fc-forest); box-shadow: var(--fc-shadow-sm); }
.fc-bag__pane { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.fc-bag__pane[hidden] { display: none; }
.fc-bag__intro { margin: 0; padding: 16px 20px 0; font-size: 14px; color: var(--fc-muted); }
.fc-bag__list { flex: 1; overflow: auto; margin: 0; padding: 8px 20px; list-style: none; }
.fc-bag__item { display: grid; grid-template-columns: 64px 1fr auto; gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--fc-line); }
.fc-bag__thumb { width: 64px; height: 64px; border-radius: 12px; overflow: hidden; background: var(--fc-parchment); }
.fc-bag__thumb img, .fc-bag__thumb svg { width: 100%; height: 100%; object-fit: cover; }
.fc-bag__name { display: block; font-weight: 700; color: var(--fc-ink); text-decoration: none; line-height: 1.3; }
.fc-bag__variant { display: block; font-size: 13px; color: var(--fc-muted); }
.fc-bag__price { font-weight: 700; font-size: 15px; text-align: right; }
.fc-bag__qty { display: inline-flex; align-items: center; margin-top: 6px; border: 1px solid var(--fc-line-strong); border-radius: 99px; }
.fc-bag__qty button { width: 30px; height: 30px; border: 0; background: none; cursor: pointer; display: grid; place-items: center; }
.fc-bag__qty span { min-width: 22px; text-align: center; font-weight: 700; font-size: 14px; }
.fc-bag__remove { margin-top: 6px; padding: 0; border: 0; background: none; color: var(--fc-muted); font-size: 12px; text-decoration: underline; cursor: pointer; }
.fc-bag__qinput { width: 100%; margin-top: 6px; padding: 8px 10px; border: 1px solid var(--fc-line-strong); border-radius: 10px; font: inherit; font-size: 14px; }
.fc-bag__empty { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 40px 24px; text-align: center; color: var(--fc-muted); }
.fc-bag__empty[hidden] { display: none; }
.fc-bag__foot { padding: 16px 20px calc(20px + env(safe-area-inset-bottom)); border-top: 1px solid var(--fc-line); background: var(--fc-cream); }
.fc-bag__total { display: flex; justify-content: space-between; margin: 0 0 4px; font-size: 18px; }
.fc-bag__total strong { font-family: var(--fc-font-display); font-weight: 500; font-size: 24px; }
.fc-bag__note { margin: 0 0 14px; font-size: 13px; color: var(--fc-muted); }
.fc-bag__link { display: block; margin-top: 10px; text-align: center; font-size: 14px; font-weight: 600; }
.fc-ship { margin: 16px 20px 0; padding: 14px 16px; border-radius: 14px; background: var(--fc-cream); }
.fc-ship__text { margin: 0 0 8px; font-size: 13px; font-weight: 600; }
.fc-ship__bar { height: 6px; border-radius: 99px; background: var(--fc-line); overflow: hidden; }
.fc-ship__bar span { display: block; height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg, var(--fc-moss), var(--fc-gold)); transition: width .8s var(--fc-ease); }

.fc-toast { position: fixed; left: 50%; bottom: calc(24px + env(safe-area-inset-bottom)); z-index: 1100; display: flex; align-items: center; gap: 12px; max-width: calc(100vw - 32px); padding: 12px 14px 12px 18px; border-radius: 16px; background: var(--fc-forest-ink); color: var(--fc-cream); font-size: 14px; font-weight: 600; box-shadow: var(--fc-shadow-lg); transform: translate(-50%, 20px); opacity: 0; transition: transform .4s var(--fc-ease), opacity .3s; }
.fc-toast.is-open { transform: translate(-50%, 0); opacity: 1; }
.fc-toast a, .fc-toast button { padding: 8px 12px; border: 0; border-radius: 10px; background: var(--fc-gold); color: var(--fc-forest-ink); font-weight: 700; text-decoration: none; cursor: pointer; }
.fc-toast.is-error { background: var(--fc-danger); }

.fc-tabbar { display: none; }

/* 8. Hero ------------------------------------------------------------------- */
.fc-hero { position: relative; overflow: hidden; color: var(--fc-cream); background: var(--fc-forest-ink); isolation: isolate; }
.fc-hero__bg { position: absolute; inset: 0; z-index: -1; background:
	radial-gradient(60% 80% at 80% 30%, rgba(195, 154, 67, .16), transparent 60%),
	radial-gradient(70% 90% at 10% 100%, rgba(47, 93, 58, .55), transparent 60%),
	linear-gradient(160deg, #10301f 0%, #0b1f14 60%, #0a1a11 100%); }
.fc-hero__bg::after { content: ""; position: absolute; inset: 0; opacity: .5; mix-blend-mode: soft-light; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E"); }
.fc-hero__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(32px, 5vw, 80px); align-items: center; min-height: min(760px, calc(100svh - var(--fc-header-h) - 38px)); padding-block: clamp(48px, 7vw, 96px); }
.fc-hero__title { margin: 0 0 22px; color: var(--fc-cream); font-size: clamp(42px, 6vw, 84px); line-height: 1.02; font-variation-settings: "opsz" 144, "SOFT" 50; letter-spacing: -.025em; }
.fc-hero__title em { color: #a8c98f; font-weight: 400; }
.fc-hero__lede { max-width: 540px; margin: 0 0 32px; font-size: clamp(16px, 1.35vw, 19px); line-height: 1.65; color: rgba(246, 241, 229, .82); }
.fc-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 44px; }
.fc-hero__proof { display: flex; flex-wrap: wrap; gap: clamp(20px, 3vw, 40px); margin: 0; padding: 24px 0 0; list-style: none; border-top: 1px solid rgba(246, 241, 229, .14); }
.fc-hero__proof li { display: flex; flex-direction: column; gap: 4px; }
.fc-hero__proof strong { font-family: var(--fc-font-display); font-weight: 500; font-size: 32px; line-height: 1; color: var(--fc-gold-soft); min-height: 32px; display: flex; align-items: center; }
.fc-hero__proof span { font-size: 13px; color: rgba(246, 241, 229, .7); }

.fc-hero__visual { position: relative; }
.fc-hero__frame { position: relative; aspect-ratio: 4 / 4.8; max-height: 640px; margin-inline: auto; border-radius: 300px 300px 28px 28px; overflow: hidden; box-shadow: 0 0 0 1px rgba(195, 154, 67, .5), 0 0 0 10px rgba(195, 154, 67, .07), 0 60px 120px -40px rgba(0, 0, 0, .7); background: var(--fc-forest-deep); }
.fc-hero__slide { position: absolute; inset: 0; margin: 0; opacity: 0; transform: scale(1.06); transition: opacity 1.2s var(--fc-ease), transform 6s linear; }
.fc-hero__slide.is-active { opacity: 1; transform: scale(1); }
.fc-hero__slide img { width: 100%; height: 100%; object-fit: cover; }
.fc-hero__frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(11, 31, 20, .55)); pointer-events: none; }
.fc-hero__seal { position: absolute; top: 18%; left: -48px; z-index: 4; display: grid; place-items: center; width: 112px; height: 112px; color: var(--fc-gold-soft); }
.fc-hero__seal svg:first-child { position: absolute; inset: 0; width: 100%; height: 100%; animation: fc-rotate 26s linear infinite; }
.fc-hero__seal text { font: 600 10.5px var(--fc-font-sans); letter-spacing: .28em; fill: currentColor; }
.fc-hero__seal::before { content: ""; position: absolute; inset: 20px; border-radius: 50%; background: rgba(11, 31, 20, .55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border: 1px solid rgba(195, 154, 67, .5); }
.fc-hero__seal .fc-icon { position: relative; }
@keyframes fc-rotate { to { transform: rotate(360deg); } }
.fc-hero__caption { position: absolute; left: 50%; bottom: 72px; z-index: 3; width: min(360px, 86%); transform: translateX(-50%); display: grid; }
.fc-hero__chip { grid-area: 1 / 1; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2px 12px; padding: 14px 18px; border-radius: 18px; background: rgba(255, 253, 248, .92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: var(--fc-ink); text-decoration: none; box-shadow: var(--fc-shadow); opacity: 0; transform: translateY(10px); transition: opacity .6s, transform .6s var(--fc-ease); pointer-events: none; }
.fc-hero__chip.is-active { opacity: 1; transform: none; pointer-events: auto; }
.fc-hero__chip-label { font-family: var(--fc-font-display); font-style: italic; font-size: 18px; color: var(--fc-forest); }
.fc-hero__chip-cap { grid-column: 1; font-size: 13px; color: var(--fc-muted); }
.fc-hero__chip .fc-icon { grid-row: 1 / span 2; grid-column: 2; color: var(--fc-gold-deep); }
.fc-hero__controls { position: absolute; left: 50%; bottom: 22px; z-index: 3; display: flex; align-items: center; gap: 12px; transform: translateX(-50%); }
.fc-hero__arrow { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(246, 241, 229, .4); border-radius: 50%; background: rgba(11, 31, 20, .35); color: var(--fc-cream); cursor: pointer; transition: background .2s; }
.fc-hero__arrow:hover { background: rgba(246, 241, 229, .2); }
.fc-hero__dots { display: flex; gap: 8px; }
.fc-hero__dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 99px; background: rgba(246, 241, 229, .45); cursor: pointer; transition: width .4s var(--fc-ease), background .3s; }
.fc-hero__dots button[aria-selected="true"] { width: 26px; background: var(--fc-gold-soft); }

/* 9. Trust strip ------------------------------------------------------------ */
.fc-trust { background: var(--fc-paper); border-bottom: 1px solid var(--fc-line); }
.fc-trust__list { display: grid; grid-template-columns: repeat(5, 1fr); margin-block: 0; list-style: none; }
.fc-trust__item { display: flex; align-items: center; gap: 14px; padding: 26px 18px; font-size: 14px; line-height: 1.35; }
.fc-trust__item + .fc-trust__item { border-left: 1px solid var(--fc-line); }
.fc-trust__item strong { display: block; color: var(--fc-forest); }
.fc-trust__item small { display: block; font-size: 13px; color: var(--fc-muted); }
.fc-trust__icon { display: grid; place-items: center; flex: none; width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--fc-gold-soft); color: var(--fc-forest); }

/* 10. Collection & cards ---------------------------------------------------- */
.fc-collection { overflow: hidden; }
.fc-leaf-deco { position: absolute; right: -40px; top: 40px; width: 320px; height: 320px; opacity: .12; pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%23173a26' stroke-width='1.2'%3E%3Cpath d='M100 190C100 120 80 60 30 20M100 190c0-70 20-130 70-170M100 190V40'/%3E%3Cpath d='M58 70c-18-2-30 6-36 18 14 4 28 0 36-18Zm-6 40c-20 0-32 10-36 22 16 2 30-4 36-22Zm90-40c18-2 30 6 36 18-14 4-28 0-36-18Zm6 40c20 0 32 10 36 22-16 2-30-4-36-22ZM100 60c-10-14-24-18-36-14 6 14 20 20 36 14Zm0 0c10-14 24-18 36-14-6 14-20 20-36 14Z'/%3E%3C/svg%3E") center/contain no-repeat; }
.fc-filter { position: relative; display: inline-flex; gap: 2px; margin-bottom: 28px; padding: 4px; border: 1px solid var(--fc-line); border-radius: 99px; background: var(--fc-paper); }
.fc-filter__btn { position: relative; z-index: 1; padding: 10px 18px; border: 0; border-radius: 99px; background: none; font-weight: 700; font-size: 14px; color: var(--fc-muted); cursor: pointer; transition: color .3s; }
.fc-filter__btn[aria-selected="true"] { color: var(--fc-cream); }
.fc-filter__glider { position: absolute; top: 4px; bottom: 4px; left: 0; width: 0; border-radius: 99px; background: var(--fc-forest); transition: transform .45s var(--fc-ease), width .45s var(--fc-ease); }

/* Card + Spotlight (port of 21st.dev "Spotlight" by kevingirelli: pointer-tracked radial light and lit edge ring). */
[data-spotlight] { position: relative; isolation: isolate; }
[data-spotlight]::before, [data-spotlight]::after { content: ""; position: absolute; inset: 0; z-index: 3; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity .3s; }
[data-spotlight]::before { background: radial-gradient(340px circle at var(--sx, 50%) var(--sy, 50%), rgba(195, 154, 67, .12), transparent 70%); }
[data-spotlight]::after { inset: -1px; padding: 1px; background: radial-gradient(260px circle at var(--sx, 50%) var(--sy, 50%), rgba(195, 154, 67, .75), transparent 60%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); }
@media (hover: hover) { [data-spotlight]:hover::before, [data-spotlight]:hover::after, [data-spotlight]:focus-within::before, [data-spotlight]:focus-within::after { opacity: 1; } }

.fc-card { display: flex; flex-direction: column; background: var(--fc-paper); border: 1px solid var(--fc-line); border-radius: var(--fc-radius); overflow: hidden; transition: transform .45s var(--fc-ease), box-shadow .45s var(--fc-ease), opacity .35s; }
.fc-card:hover { transform: translateY(-4px); box-shadow: var(--fc-shadow); }
.fc-card.is-filtered { display: none; }
.fc-card__media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--fc-parchment); }
.fc-card__media img, .fc-card__media .fc-specimen { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--fc-ease); }
.fc-card:hover .fc-card__media img, .fc-card:hover .fc-card__media .fc-specimen { transform: scale(1.06); }
.fc-card__body { display: flex; flex-direction: column; flex: 1; padding: 18px 18px 18px; }
.fc-card__title { margin: 0 0 2px; font-size: 21px; line-height: 1.2; }
.fc-card__title a { color: var(--fc-forest); text-decoration: none; }
.fc-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.fc-card__sci { margin: 0 0 10px; font-family: var(--fc-font-display); font-style: italic; font-size: 15px; color: var(--fc-moss); }
.fc-card__origin { display: flex; align-items: flex-start; gap: 6px; margin: 0 0 12px; font-size: 13px; color: var(--fc-muted); line-height: 1.4; }
.fc-card__origin .fc-icon { flex: none; margin-top: 1px; color: var(--fc-gold-deep); }
.fc-card__formats { display: flex; flex-wrap: wrap; gap: 5px; margin: 0 0 14px; padding: 0; list-style: none; }
.fc-card__formats li { padding: 3px 9px; border-radius: 99px; background: var(--fc-cream); font-size: 12px; font-weight: 600; color: var(--fc-muted); }
.fc-card__price { display: flex; flex-direction: column; gap: 2px; margin-top: auto; margin-bottom: 14px; }
.fc-card__retail { font-size: 17px; font-weight: 700; color: var(--fc-ink); }
.fc-card__retail .amount { color: var(--fc-ink); }
.fc-card__trade { font-size: 12.5px; color: var(--fc-muted); }
.fc-card__actions { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.fc-card__actions .fc-btn--primary span { overflow: hidden; text-overflow: ellipsis; }
.fc-price-from { font-weight: 700; }

/* Specimen plates */
.fc-specimen { display: block; width: 100%; height: 100%; }

/* 11. Category doors -------------------------------------------------------- */
.fc-doors__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2vw, 24px); }
.fc-door { position: relative; display: flex; flex-direction: column; min-height: 440px; border-radius: var(--fc-radius-lg); overflow: hidden; color: var(--fc-cream); text-decoration: none; background: var(--fc-forest-deep); }
.fc-door__media { position: absolute; inset: 0; }
.fc-door__media img, .fc-door__media svg { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--fc-ease); }
.fc-door:hover .fc-door__media img, .fc-door:hover .fc-door__media svg { transform: scale(1.06); }
.fc-door__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11, 31, 20, 0) 30%, rgba(11, 31, 20, .55) 55%, rgba(11, 31, 20, .92)); }
.fc-door__body { position: relative; z-index: 4; display: flex; flex-direction: column; gap: 6px; margin-top: auto; padding: 28px; }
.fc-door__count { align-self: flex-start; padding: 5px 11px; border-radius: 99px; background: rgba(246, 241, 229, .16); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); font-size: 12px; font-weight: 700; letter-spacing: .06em; }
.fc-door__title { font-family: var(--fc-font-display); font-size: clamp(26px, 2.4vw, 32px); line-height: 1.1; color: var(--fc-cream); }
.fc-door__text { font-size: 15px; color: rgba(246, 241, 229, .8); }
.fc-door__cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; font-weight: 700; color: var(--fc-gold-soft); }
.fc-door:hover .fc-door__cta .fc-icon { transform: translateX(4px); }
.fc-door__cta .fc-icon { transition: transform .3s var(--fc-ease); }

/* 12. Story ----------------------------------------------------------------- */
.fc-story { display: grid; grid-template-columns: 1.15fr 1fr; background: var(--fc-paper); }
.fc-story__media { position: relative; min-height: 560px; overflow: hidden; background: var(--fc-forest-ink); color: var(--fc-cream); display: flex; align-items: center; }
.fc-story__media img { position: absolute; right: 0; top: -10%; width: 55%; height: 120%; object-fit: cover; }
.fc-story__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--fc-forest-ink) 38%, rgba(11, 31, 20, .65) 58%, rgba(11, 31, 20, 0) 85%); }
.fc-story__copy { position: relative; z-index: 2; max-width: 460px; padding: clamp(40px, 6vw, 88px) var(--fc-gutter) clamp(40px, 6vw, 88px) max(var(--fc-gutter), calc((100vw - var(--fc-max)) / 2)); }
.fc-story__title { color: var(--fc-cream); font-size: clamp(36px, 4vw, 56px); }
.fc-story__copy p:not(.fc-eyebrow) { color: rgba(246, 241, 229, .82); margin-bottom: 28px; }
.fc-story__features { display: grid; grid-template-columns: 1fr 1fr; align-content: center; gap: 0; padding: clamp(32px, 5vw, 72px); }
.fc-feature { padding: 26px 24px; }
.fc-story__features .fc-feature:nth-child(odd) { border-right: 1px solid var(--fc-line); }
.fc-story__features .fc-feature:nth-child(-n+2) { border-bottom: 1px solid var(--fc-line); }
.fc-feature__icon { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 16px; border-radius: 50%; border: 1px solid var(--fc-gold); color: var(--fc-forest); }
.fc-feature__title { margin: 0 0 6px; font-size: 21px; }
.fc-feature p { margin: 0; font-size: 15px; color: var(--fc-muted); }

/* 13. Origins + stats + marquee -------------------------------------------- */
.fc-origins { overflow: hidden; }
.fc-origins__top { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); align-items: end; }
.fc-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 0 0 clamp(28px, 4vw, 48px); border-top: 1px solid var(--fc-line-strong); }
.fc-stat { display: flex; flex-direction: column-reverse; padding: 22px 0; border-bottom: 1px solid var(--fc-line-strong); }
.fc-stat:nth-child(odd) { padding-right: 20px; border-right: 1px solid var(--fc-line-strong); }
.fc-stat:nth-child(even) { padding-left: 24px; }
.fc-stat dt { font-size: 14px; color: var(--fc-muted); }
.fc-stat dd { margin: 0; font-family: var(--fc-font-display); font-size: clamp(44px, 5vw, 64px); line-height: 1; color: var(--fc-forest); font-variation-settings: "opsz" 144; }
/* Port of 21st.dev "Blurred Marquee" (grootstudio): looping track, progressive blur edges, slows on hover. */
.fc-marquee { position: relative; margin-top: clamp(32px, 5vw, 56px); padding-block: 22px; border-block: 1px solid var(--fc-line-strong); overflow: hidden; background: linear-gradient(90deg, var(--fc-cream), rgba(246, 241, 229, 0) 20%, rgba(246, 241, 229, 0) 80%, var(--fc-cream)); }
.fc-marquee__track { display: flex; width: max-content; animation: fc-marquee var(--fc-marquee-dur, 60s) linear infinite; }
.fc-marquee:hover .fc-marquee__track { animation-duration: calc(var(--fc-marquee-dur, 60s) * 3); }
.fc-marquee__group { display: flex; gap: 52px; margin: 0; padding: 0 26px; list-style: none; }
.fc-marquee__group li { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; font-family: var(--fc-font-display); font-size: clamp(20px, 2vw, 26px); font-style: italic; color: var(--fc-forest); }
.fc-marquee__group .fc-icon { color: var(--fc-gold-deep); }
.fc-marquee__blur { position: absolute; top: 0; bottom: 0; width: min(160px, 18vw); pointer-events: none; backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
.fc-marquee__blur--l { left: 0; -webkit-mask: linear-gradient(90deg, #000, transparent); mask: linear-gradient(90deg, #000, transparent); background: linear-gradient(90deg, var(--fc-cream), transparent); }
.fc-marquee__blur--r { right: 0; -webkit-mask: linear-gradient(270deg, #000, transparent); mask: linear-gradient(270deg, #000, transparent); background: linear-gradient(270deg, var(--fc-cream), transparent); }
@keyframes fc-marquee { to { transform: translateX(-50%); } }

/* 14. Paths ----------------------------------------------------------------- */
.fc-paths { background: var(--fc-paper); border-block: 1px solid var(--fc-line); }
.fc-paths__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(16px, 2.4vw, 32px); max-width: 1040px; margin-inline: auto; }
.fc-path { padding: clamp(28px, 3.5vw, 44px); border: 1px solid var(--fc-line); border-radius: var(--fc-radius-lg); background: var(--fc-cream); }
.fc-path--trade { background: var(--fc-forest); color: var(--fc-cream); border-color: var(--fc-forest); }
.fc-path__badge { position: absolute; top: 22px; right: 22px; padding: 6px 12px; border-radius: 99px; background: var(--fc-gold); color: var(--fc-forest-ink); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.fc-path__kicker { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--fc-moss); }
.fc-path--trade .fc-path__kicker { color: var(--fc-gold-soft); }
.fc-path__title { font-size: clamp(26px, 2.6vw, 34px); margin-bottom: 22px; }
.fc-path--trade .fc-path__title { color: var(--fc-cream); }
.fc-steps { display: grid; gap: 14px; margin: 0 0 28px; padding: 0; list-style: none; }
.fc-steps li { display: flex; align-items: center; gap: 14px; font-weight: 600; }
.fc-steps span { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 50%; border: 1px solid currentColor; font-family: var(--fc-font-display); font-size: 16px; opacity: .85; }

/* 15. Buyers ---------------------------------------------------------------- */
.fc-buyers__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(14px, 2vw, 24px); }
.fc-buyer { display: flex; flex-direction: column; padding: 28px 24px 24px; border: 1px solid var(--fc-line); border-radius: var(--fc-radius); background: var(--fc-cream); color: var(--fc-ink); text-decoration: none; transition: transform .4s var(--fc-ease), box-shadow .4s; }
a.fc-buyer:hover { transform: translateY(-4px); box-shadow: var(--fc-shadow); color: var(--fc-ink); }
.fc-buyer__icon { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 20px; border-radius: 16px; background: var(--fc-forest); color: var(--fc-gold-soft); }
.fc-buyer__title { margin: 0 0 8px; font-size: 22px; }
.fc-buyer p { margin: 0 0 18px; font-size: 15px; color: var(--fc-muted); }
.fc-buyer__more { margin-top: auto; color: var(--fc-gold-deep); }

/* 16. FAQ ------------------------------------------------------------------- */
.fc-home-faq__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(32px, 6vw, 96px); align-items: start; }
.fc-home-faq__intro { position: sticky; top: calc(var(--fc-header-h) + 32px); }
.fc-home-faq__intro .fc-heading__lede { margin-bottom: 24px; }
.fc-faq { border-top: 1px solid var(--fc-line-strong); }
.fc-faq__item { border-bottom: 1px solid var(--fc-line-strong); }
.fc-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 4px; cursor: pointer; list-style: none; }
.fc-faq__item summary::-webkit-details-marker { display: none; }
.fc-faq__q { margin: 0; font-family: var(--fc-font-display); font-size: clamp(18px, 1.6vw, 21px); font-weight: 500; line-height: 1.3; color: var(--fc-forest); }
.fc-faq__icon { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--fc-line-strong); color: var(--fc-forest); transition: transform .35s var(--fc-ease), background .2s; }
.fc-faq__item[open] .fc-faq__icon { transform: rotate(45deg); background: var(--fc-forest); color: var(--fc-cream); border-color: var(--fc-forest); }
.fc-faq__a { padding: 0 52px 22px 4px; color: var(--fc-muted); }
.fc-faq__a p { margin: 0; }

/* 17. Quote band ------------------------------------------------------------ */
.fc-quote-band { position: relative; padding-block: clamp(64px, 8vw, 112px); color: var(--fc-cream); background: var(--fc-forest-deep); overflow: hidden; isolation: isolate; }
.fc-quote-band::before { content: ""; position: absolute; inset: 0; z-index: -2; background: url("../img/ridges.svg") center bottom/cover no-repeat, linear-gradient(180deg, #23493a, #12301f); }
.fc-quote-band::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg, rgba(11, 31, 20, .9) 20%, rgba(11, 31, 20, .55) 55%, rgba(11, 31, 20, .2)); }
.fc-quote-band__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(32px, 5vw, 80px); align-items: center; }
.fc-quote-band__title { color: var(--fc-cream); font-size: clamp(38px, 4.4vw, 60px); }
.fc-quote-band__copy p { color: rgba(246, 241, 229, .84); font-size: 17px; max-width: 46ch; }
.fc-ticks { display: grid; gap: 12px; margin: 24px 0 0; padding: 0; list-style: none; }
.fc-ticks li { display: flex; gap: 12px; align-items: flex-start; font-weight: 600; }
.fc-ticks .fc-icon { flex: none; padding: 3px; border-radius: 50%; background: var(--fc-gold); color: var(--fc-forest-ink); width: 24px; height: 24px; }
.fc-ticks--dark li { color: var(--fc-ink); }
.fc-quote-band__card { padding: clamp(22px, 3vw, 36px); border-radius: var(--fc-radius-lg); background: var(--fc-paper); color: var(--fc-ink); box-shadow: var(--fc-shadow-lg); }

/* 18. Ledger + footer ------------------------------------------------------- */
.fc-ledger { background: var(--fc-moss); color: var(--fc-cream); }
.fc-ledger__inner { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(24px, 4vw, 64px); align-items: center; padding-block: clamp(40px, 5vw, 64px); }
.fc-ledger__title { margin: 0 0 8px; color: var(--fc-cream); font-size: clamp(26px, 2.8vw, 36px); }
.fc-ledger__lede { margin: 0; color: rgba(246, 241, 229, .8); }
.fc-ledger__field { display: flex; gap: 8px; padding: 6px; border-radius: 99px; background: rgba(246, 241, 229, .12); border: 1px solid rgba(246, 241, 229, .25); }
.fc-ledger__field input { flex: 1; min-width: 0; border: 0; background: transparent; padding: 0 16px; color: var(--fc-cream); font: 16px var(--fc-font-sans); outline: none; }
.fc-ledger__field input::placeholder { color: rgba(246, 241, 229, .6); }
.fc-ledger__msg { color: var(--fc-gold-soft); margin-top: 8px; min-height: 1.2em; font-size: 14px; }

.fc-footer { padding-top: clamp(56px, 7vw, 88px); background: var(--fc-forest-ink); color: rgba(246, 241, 229, .72); font-size: 15px; }
.fc-footer__grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr 1.2fr; gap: clamp(24px, 3vw, 48px); padding-bottom: 48px; }
.fc-logo--footer { gap: 16px; color: var(--fc-cream); }
.fc-logo--footer img { width: 96px; height: 96px; padding: 6px; border-radius: 50%; background: var(--fc-cream); box-shadow: 0 0 0 3px var(--fc-gold); }
.fc-logo__text strong { display: block; font-family: var(--fc-font-display); font-size: 24px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--fc-cream); }
.fc-logo__text small { display: block; font-size: 13px; color: var(--fc-gold-soft); }
.fc-footer__about { margin: 22px 0 18px; max-width: 36ch; }
.fc-footer__contact { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.fc-footer__contact li { display: flex; align-items: center; gap: 10px; }
.fc-footer__contact .fc-icon { color: var(--fc-gold); }
.fc-footer a { color: rgba(246, 241, 229, .85); text-decoration: none; }
.fc-footer a:hover { color: var(--fc-gold-soft); }
.fc-footer__title { margin: 0 0 16px; font-family: var(--fc-font-sans); font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--fc-cream); }
.fc-footer__title--spaced { margin-top: 28px; }
.fc-footer__links { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.fc-socials { display: flex; gap: 8px; margin: 0; padding: 0; list-style: none; }
.fc-socials a { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(246, 241, 229, .25); transition: all .2s; }
.fc-socials a:hover { background: var(--fc-gold); border-color: var(--fc-gold); color: var(--fc-forest-ink); }
.fc-drawer .fc-socials a { border-color: var(--fc-line-strong); color: var(--fc-forest); }
.fc-paybadges { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.fc-paybadges li { padding: 5px 10px; border-radius: 8px; border: 1px solid rgba(246, 241, 229, .2); font-size: 12px; font-weight: 700; color: var(--fc-cream); }
.fc-footer__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; padding: 22px 0 28px; border-top: 1px solid rgba(246, 241, 229, .12); font-size: 13px; }
.fc-footer__bottom p { margin: 0; }
.fc-footer__legal { display: flex; gap: 18px; }

/* Language switcher ---------------------------------------------------------- */
.fc-lang { position: relative; }
.fc-lang__toggle { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 10px 0 12px; border-radius: 999px; color: var(--fc-forest); font: 700 12px/1 var(--fc-font-sans); letter-spacing: .08em; cursor: pointer; list-style: none; user-select: none; transition: background .2s; }
.fc-lang__toggle::-webkit-details-marker { display: none; }
.fc-lang__toggle:hover, .fc-lang[open] .fc-lang__toggle { background: rgba(23, 58, 38, .07); }
.fc-lang__toggle:focus-visible { outline: 2px solid var(--fc-gold); outline-offset: 2px; }
.fc-lang__caret { transition: transform .25s var(--fc-ease); opacity: .7; }
.fc-lang[open] .fc-lang__caret { transform: rotate(180deg); }
.fc-lang__menu { position: absolute; top: calc(100% + 10px); right: 0; z-index: 60; min-width: 220px; margin: 0; padding: 8px; list-style: none; background: var(--fc-paper); border: 1px solid var(--fc-line); border-radius: var(--fc-radius); box-shadow: var(--fc-shadow-lg); animation: fc-lang-in .22s var(--fc-ease); }
@keyframes fc-lang-in { from { opacity: 0; transform: translateY(-6px) scale(.98); } }
.fc-lang__menu a, .fc-lang-inline__list a { display: flex; align-items: center; justify-content: space-between; gap: 16px; text-decoration: none; }
.fc-lang__menu a { padding: 10px 12px; border-radius: var(--fc-radius-sm); color: var(--fc-ink); font-size: 14px; font-weight: 600; transition: background .15s; }
.fc-lang__menu a:hover, .fc-lang__menu a:focus-visible { background: var(--fc-cream); outline: none; }
.fc-lang__menu a[aria-current] { background: var(--fc-sage-soft); color: var(--fc-forest); }
.fc-lang__code { font-size: 11px; font-weight: 700; letter-spacing: .1em; color: var(--fc-muted); }
.fc-lang__menu a[aria-current] .fc-lang__code::before { content: "✓ "; color: var(--fc-moss); }
.fc-lang-inline__title { display: flex; align-items: center; gap: 8px; margin: 6px 0 2px; color: var(--fc-muted); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.fc-lang-inline__list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.fc-lang-inline--drawer .fc-lang-inline__list a { min-height: 40px; padding: 0 14px; border: 1px solid var(--fc-line); border-radius: 999px; color: var(--fc-ink); font-size: 13px; font-weight: 600; }
.fc-lang-inline--drawer .fc-lang-inline__list a[aria-current] { border-color: var(--fc-forest); background: var(--fc-forest); color: var(--fc-cream); }
.fc-lang-inline--drawer .fc-lang__code { display: none; }
.fc-lang-inline--footer { flex-basis: 100%; order: 3; }
.fc-lang-inline--footer .fc-lang-inline__list { gap: 4px 18px; }
.fc-lang-inline--footer .fc-lang-inline__list a { color: rgba(246, 241, 229, .7); font-size: 13px; }
.fc-lang-inline--footer .fc-lang-inline__list a:hover, .fc-lang-inline--footer .fc-lang-inline__list a[aria-current] { color: var(--fc-gold-soft); }
.fc-lang-inline--footer .fc-lang__code { display: none; }
.fc-footer__disclaimer { flex-basis: 100%; color: rgba(246, 241, 229, .5); font-size: 12px; }

/* 19. Pages ------------------------------------------------------------------ */
.fc-crumbs { margin-bottom: 16px; font-size: 13px; color: var(--fc-muted); }
.fc-crumbs a { color: inherit; text-decoration: none; }
.fc-crumbs a:hover { color: var(--fc-forest); }
.fc-crumbs .breadcrumb_last { color: var(--fc-ink); font-weight: 600; }
.fc-pagehead { padding: clamp(36px, 5vw, 64px) 0 clamp(24px, 3vw, 40px); border-bottom: 1px solid var(--fc-line); background: linear-gradient(180deg, var(--fc-paper), var(--fc-cream)); }
.fc-pagehead--slim { padding-block: 28px 24px; }
.fc-pagehead--slim .fc-pagehead__title { font-size: clamp(30px, 3.4vw, 44px); }
.fc-pagehead__title { margin: 0 0 10px; }
.fc-pagehead__lede { max-width: 64ch; margin: 0; font-size: 17px; color: var(--fc-muted); }
.fc-pagehead__meta { color: var(--fc-muted); font-size: 14px; }
.fc-progress { display: flex; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; counter-reset: s; font-size: 13px; font-weight: 700; color: var(--fc-muted); }
.fc-progress li { display: flex; align-items: center; gap: 8px; counter-increment: s; }
.fc-progress li::before { content: counter(s); display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; border: 1px solid var(--fc-line-strong); }
.fc-progress li + li::after { order: -1; content: ""; width: 24px; height: 1px; background: var(--fc-line-strong); }
.fc-progress .is-done::before { content: "✓"; background: var(--fc-sage-soft); border-color: var(--fc-sage); color: var(--fc-forest); }
.fc-progress .is-current { color: var(--fc-forest); }
.fc-progress .is-current::before { background: var(--fc-forest); color: var(--fc-cream); border-color: var(--fc-forest); }

.fc-phero { position: relative; background: var(--fc-forest-ink); color: var(--fc-cream); overflow: hidden; isolation: isolate; }
.fc-phero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 90% at 90% 20%, rgba(195, 154, 67, .14), transparent 60%), radial-gradient(60% 90% at 0% 100%, rgba(47, 93, 58, .5), transparent 60%); }
.fc-phero__grid { display: grid; grid-template-columns: 1fr; gap: 40px; align-items: center; padding-block: clamp(48px, 6vw, 88px); }
.fc-phero--media .fc-phero__grid { grid-template-columns: 1.2fr .8fr; }
.fc-phero .fc-crumbs, .fc-phero .fc-crumbs .breadcrumb_last { color: rgba(246, 241, 229, .7); }
.fc-phero .fc-crumbs a:hover { color: var(--fc-cream); }
.fc-phero__title { color: var(--fc-cream); font-size: clamp(36px, 5vw, 64px); max-width: 18ch; }
.fc-phero__title em { color: #a8c98f; }
.fc-phero__lede { max-width: 60ch; margin: 0; font-size: 18px; color: rgba(246, 241, 229, .82); }
.fc-phero__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.fc-phero__media { aspect-ratio: 4 / 5; max-height: 460px; border-radius: 240px 240px 24px 24px; overflow: hidden; box-shadow: 0 0 0 1px rgba(195, 154, 67, .5), var(--fc-shadow-lg); }
.fc-phero__media img { width: 100%; height: 100%; object-fit: cover; }

.fc-panel { padding: clamp(20px, 3vw, 32px); border: 1px solid var(--fc-line); border-radius: var(--fc-radius-lg); background: var(--fc-paper); }
.fc-panel + .fc-panel { margin-top: 20px; }
.fc-panel__title { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; font-size: 24px; }
.fc-panel--forest { background: var(--fc-forest); color: var(--fc-cream); border-color: var(--fc-forest); }
.fc-panel--forest .fc-panel__title { color: var(--fc-cream); }
.fc-quotepage__grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: clamp(20px, 3vw, 40px); align-items: start; }
.fc-quotepage__side { position: sticky; top: calc(var(--fc-header-h) + 24px); }
.fc-qlist { margin: 0; padding: 0; list-style: none; }
.fc-qlist__item { display: grid; grid-template-columns: 56px 1fr 180px 44px; gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--fc-line); }
.fc-qlist__media { width: 56px; height: 56px; border-radius: 12px; overflow: hidden; background: var(--fc-parchment); }
.fc-qlist__media img, .fc-qlist__media svg { width: 100%; height: 100%; object-fit: cover; }
.fc-qlist__info a { font-weight: 700; text-decoration: none; }
.fc-qlist__info small { display: block; color: var(--fc-muted); }
.fc-qlist__qty input { width: 100%; min-height: 42px; padding: 8px 12px; border: 1px solid var(--fc-line-strong); border-radius: 10px; font: inherit; font-size: 14px; }
.fc-timeline { display: grid; gap: 18px; margin: 0; padding: 0 0 0 4px; list-style: none; counter-reset: t; }
.fc-timeline li { position: relative; padding-left: 40px; counter-increment: t; }
.fc-timeline li::before { content: counter(t); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--fc-gold); color: var(--fc-forest-ink); font-weight: 800; font-size: 13px; }
.fc-timeline strong { display: block; }
.fc-timeline span { font-size: 14px; color: rgba(246, 241, 229, .75); }
.fc-contact__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(20px, 3vw, 40px); align-items: start; }
.fc-contact__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.fc-contact-card { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 22px; border: 1px solid var(--fc-line); border-radius: var(--fc-radius); background: var(--fc-paper); color: var(--fc-ink); text-decoration: none; text-align: left; cursor: pointer; font: inherit; }
.fc-contact-card .fc-icon { color: var(--fc-gold-deep); margin-bottom: 6px; }
.fc-contact-card strong { font-family: var(--fc-font-display); font-weight: 500; font-size: 20px; color: var(--fc-forest); }
.fc-contact-card span { font-size: 14px; color: var(--fc-muted); word-break: break-word; }
.fc-faqpage { display: grid; grid-template-columns: 240px 1fr; gap: clamp(24px, 5vw, 72px); align-items: start; }
.fc-faqpage__toc { position: sticky; top: calc(var(--fc-header-h) + 24px); }
.fc-faqpage__toc ul { margin: 0; padding: 0; list-style: none; border-left: 1px solid var(--fc-line-strong); }
.fc-faqpage__toc a { display: block; padding: 8px 16px; font-weight: 600; color: var(--fc-muted); text-decoration: none; }
.fc-faqpage__toc a:hover { color: var(--fc-forest); }
.fc-faqpage__group { margin-bottom: 56px; }
.fc-faqpage__group h2 { font-size: clamp(26px, 2.6vw, 34px); }
.fc-values { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.fc-values .fc-feature { border: 1px solid var(--fc-line); border-radius: var(--fc-radius); background: var(--fc-paper); }
.fc-process { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 0; padding: 0; list-style: none; }
.fc-process__step { position: relative; padding: 28px; border: 1px solid var(--fc-line); border-radius: var(--fc-radius); background: var(--fc-paper); }
.fc-process__num { position: absolute; top: 22px; right: 24px; font-family: var(--fc-font-display); font-size: 40px; line-height: 1; color: var(--fc-gold-soft); }
.fc-process__step h3 { margin-bottom: 8px; }
.fc-process__step p { margin: 0; color: var(--fc-muted); font-size: 15px; }
.fc-tablewrap { overflow-x: auto; border: 1px solid var(--fc-line); border-radius: var(--fc-radius); background: var(--fc-paper); }
.fc-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.fc-table th, .fc-table td { padding: 14px 16px; text-align: left; border-bottom: 1px solid var(--fc-line); vertical-align: middle; }
.fc-table thead th { position: sticky; top: 0; background: var(--fc-cream); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--fc-muted); }
.fc-table tbody th a { font-family: var(--fc-font-display); font-weight: 500; font-size: 17px; text-decoration: none; }
.fc-table small { display: block; font-style: italic; color: var(--fc-muted); font-weight: 400; }
.fc-table__price { font-weight: 700; white-space: nowrap; }
.fc-table tbody tr:hover { background: var(--fc-cream); }
.fc-empty { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 64px 16px; text-align: center; color: var(--fc-muted); }
.fc-searchform { display: flex; gap: 8px; max-width: 480px; margin-bottom: 20px; }
.fc-404__inner { display: grid; grid-template-columns: .9fr 1.1fr; gap: 48px; align-items: center; }
.fc-404__plate { border-radius: var(--fc-radius-lg); overflow: hidden; box-shadow: var(--fc-shadow); }
.fc-ctaband { background: var(--fc-forest); color: var(--fc-cream); }
.fc-ctaband__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; padding-block: clamp(40px, 5vw, 64px); }
.fc-ctaband__title { margin: 0; color: var(--fc-cream); font-size: clamp(24px, 2.8vw, 36px); max-width: 24ch; }
.fc-ctaband__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.fc-post { display: flex; flex-direction: column; }
.fc-post__media { border-radius: var(--fc-radius); overflow: hidden; margin-bottom: 16px; }

/* 20. Motion ---------------------------------------------------------------- */
/* Soft blur-in (after 21st.dev "Soft Blur In" — per-char/word blur + rise, staggered). */
[data-blur-in] .fc-bi { display: inline-block; opacity: 0; filter: blur(10px); transform: translateY(.3em); transition: opacity .7s var(--fc-ease), filter .8s var(--fc-ease), transform .8s var(--fc-ease); transition-delay: calc(var(--i) * 22ms); will-change: filter, transform; }
.fc-hero__title .fc-bi { transition-duration: .5s, .55s, .55s; transition-delay: calc(var(--i) * 11ms); }
[data-blur-in].is-in .fc-bi { opacity: 1; filter: blur(0); transform: none; }
[data-blur-in] .fc-bw { display: inline-block; white-space: nowrap; }
.fc-js [data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .8s var(--fc-ease), transform .9s var(--fc-ease); transition-delay: var(--d, 0s); }
.fc-js [data-reveal].is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
	[data-reveal], [data-blur-in] .fc-bi { opacity: 1; transform: none; filter: none; }
	.fc-marquee__track { animation: none; }
}

/* 21. Responsive ------------------------------------------------------------ */
@media (max-width: 1180px) {
	.fc-header__cta { display: none; }
	.fc-nav__link { padding-inline: 9px; font-size: 14.5px; }
	.fc-grid--products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.fc-trust__list { grid-template-columns: repeat(3, 1fr); }
	.fc-trust__item:nth-child(n+4) { display: none; }
	.fc-footer__grid { grid-template-columns: 1fr 1fr 1fr; }
	.fc-footer__brand { grid-column: 1 / -1; }
	.fc-buyers__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1024px) {
	:root { --fc-header-h: 76px; }
	.fc-nav, .fc-hide-sm { display: none; }
	.fc-menu-toggle { display: inline-grid; }
	.fc-header__inner { justify-content: space-between; }
	.fc-logo img { width: 60px; height: 60px; }
	.fc-header.is-scrolled .fc-logo img { width: 52px; height: 52px; }
	.fc-hero__grid { grid-template-columns: 1fr; min-height: 0; }
	.fc-hero__visual { max-width: 520px; width: 100%; margin-inline: auto; }
	.fc-story { grid-template-columns: 1fr; }
	.fc-origins__top, .fc-home-faq__grid, .fc-quote-band__grid, .fc-split, .fc-contact__grid, .fc-quotepage__grid, .fc-ledger__inner { grid-template-columns: 1fr; }
	.fc-home-faq__intro, .fc-quotepage__side { position: static; }
	.fc-doors__grid { grid-template-columns: 1fr 1fr; }
	.fc-doors__grid .fc-door:last-child { grid-column: 1 / -1; min-height: 340px; }
	.fc-process { grid-template-columns: 1fr 1fr; }
	.fc-phero--media .fc-phero__grid { grid-template-columns: 1fr; }
	.fc-phero__media { display: none; }
}
@media (max-width: 768px) {
	body { font-size: 15.5px; padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
	.fc-hide-md { display: none; }
	.fc-announce__inner { grid-template-columns: 1fr; min-height: 34px; }
	.fc-announce { font-size: 12.5px; }
	.fc-grid--products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.fc-grid--posts { grid-template-columns: 1fr; }
	.fc-card__body { padding: 14px; }
	.fc-card__title { font-size: 18px; }
	.fc-card__sci { font-size: 14px; }
	.fc-card__formats { display: none; }
	.fc-card__actions { grid-template-columns: 1fr; }
	.fc-card__actions .fc-btn { min-height: 42px; padding-inline: 10px; font-size: 13px; }
	.fc-card__trade { display: none; }
	.fc-section__head--split { flex-direction: column; align-items: flex-start; gap: 0; }
	.fc-section__head--split .fc-link-arrow { margin-bottom: 20px; }
	.fc-filter { display: flex; width: 100%; overflow-x: auto; scrollbar-width: none; }
	.fc-filter__btn { flex: none; padding-inline: 14px; }
	.fc-trust__list { grid-template-columns: 1fr 1fr; padding-block: 8px; }
	.fc-trust__item { padding: 14px 8px; gap: 10px; font-size: 13px; }
	.fc-trust__item + .fc-trust__item { border-left: 0; }
	.fc-trust__item:nth-child(n+4) { display: flex; }
	.fc-trust__item:nth-child(5) { display: none; }
	.fc-trust__icon { width: 40px; height: 40px; }
	.fc-doors__grid, .fc-paths__grid, .fc-buyers__grid, .fc-story__features, .fc-values, .fc-process, .fc-contact__cards { grid-template-columns: 1fr; }
	.fc-door { min-height: 300px; }
	.fc-doors__grid .fc-door:last-child { min-height: 300px; }
	.fc-story__media { min-height: 520px; align-items: flex-end; }
	.fc-story__media img { width: 100%; top: 0; height: 100%; }
	.fc-story__media::after { background: linear-gradient(180deg, rgba(11, 31, 20, .1) 10%, var(--fc-forest-ink) 75%); }
	.fc-story__copy { padding: 32px var(--fc-gutter) 40px; }
	.fc-story__features .fc-feature { border: 0 !important; border-bottom: 1px solid var(--fc-line) !important; padding: 22px 0; }
	.fc-story__features { padding: 8px var(--fc-gutter) 24px; }
	.fc-stats { grid-template-columns: 1fr 1fr; }
	.fc-form__grid { grid-template-columns: 1fr; }
	.fc-hero__proof strong { font-size: 26px; }
	.fc-hero__frame { border-radius: 220px 220px 22px 22px; }
	.fc-hero__seal { width: 88px; height: 88px; top: 12%; left: -10px; }
	.fc-faq__a { padding-right: 8px; }
	.fc-footer__grid { grid-template-columns: 1fr 1fr; }
	.fc-faqpage { grid-template-columns: 1fr; }
	.fc-faqpage__toc { position: static; }
	.fc-faqpage__toc ul { display: flex; flex-wrap: wrap; gap: 6px; border: 0; }
	.fc-faqpage__toc a { padding: 8px 12px; border-radius: 99px; background: var(--fc-paper); border: 1px solid var(--fc-line); font-size: 14px; }
	.fc-qlist__item { grid-template-columns: 48px 1fr 40px; }
	.fc-qlist__qty { grid-column: 2 / -1; grid-row: 2; }
	.fc-404__inner { grid-template-columns: 1fr; }
	.fc-toast { bottom: calc(80px + env(safe-area-inset-bottom)); }
	.fc-tabbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 95; display: grid; grid-template-columns: repeat(4, 1fr); padding: 6px 8px calc(6px + env(safe-area-inset-bottom)); background: rgba(255, 253, 248, .96); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-top: 1px solid var(--fc-line); }
	.fc-tabbar a, .fc-tabbar button { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 6px 0; border: 0; background: none; color: var(--fc-forest); font-size: 11px; font-weight: 700; text-decoration: none; cursor: pointer; }
	.fc-tabbar__ico { position: relative; }
	.fc-tabbar .fc-count { top: -6px; right: -12px; }
	.fc-focus .fc-tabbar { display: none; }
	.fc-focus { padding-bottom: 0; }
}
@media (max-width: 420px) {
	.fc-ledger__field { flex-direction: column; border-radius: 18px; padding: 8px; }
	.fc-ledger__field input { min-height: 44px; }
	.fc-ledger__field .fc-btn { width: 100%; }
	.fc-grid--products { grid-template-columns: 1fr 1fr; gap: 10px; }
	.fc-card__body { padding: 12px; }
	.fc-card__origin { display: none; }
	.fc-hero__ctas .fc-btn { width: 100%; }
	.fc-footer__grid { grid-template-columns: 1fr; }
	.fc-header__actions .fc-iconbtn { width: 40px; }
}

.fc-panel__note { margin: 14px 0 0; font-size: 14px; }
.fc-panel__note a { color: var(--fc-moss); font-weight: 600; }

/* Minimum order notice in the bag. */
.fc-bag__min { margin: 0 0 10px; padding: 10px 12px; border-radius: var(--fc-radius-sm); background: #fbeee6; color: var(--fc-danger); font-size: 13px; font-weight: 600; }
.fc-bag__min.is-shake { animation: fc-shake .35s; }
@keyframes fc-shake { 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }
[data-checkout-btn].is-disabled { opacity: .5; cursor: not-allowed; }
