/*
Theme Name: Biffen
Theme URI: https://biffenapplication.com
Author: Biffen
Author URI: https://biffenapplication.com
Description: Marketing site theme for Biffen. Light product-landing direction: real Biffen wordmark, pink-orange gradient accent, capsule shapes, open (card-free) layouts, scroll-reveal animations, a touch cartoony. Bilingual-ready (NB/EN via Polylang). Deep-link routing lives in the biffen-sharelinks mu-plugin and is theme-independent.
Version: 0.15.1
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 8.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: biffen
Tags: full-site-editing, block-styles, custom-colors, custom-typography, one-column
*/

/* =========================================================================
 * Biffen theme stylesheet (0.5.0)
 * ========================================================================= */

:root {
	--biffen-grad: linear-gradient(90deg, #FF2D55 0%, #FF9500 100%);
	--biffen-grad-135: linear-gradient(135deg, #FF2D55 0%, #FF9500 100%);
	--biffen-tint: #FFF3EB;
	--ease-pop: cubic-bezier(.22, 1, .36, 1);
}

/* ---------- base ---------- */
html, body { overflow-x: clip; max-width: 100%; }
body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-feature-settings: "kern" 1, "calt" 1;
}

/* reCAPTCHA badge — disclosure lives in the privacy policy instead */
.grecaptcha-badge { visibility: hidden !important; }
::selection { background: #FF6A3D; color: #fff; }
a {
	text-underline-offset: 2px;
	text-decoration-thickness: 1px;
	text-decoration-color: var(--wp--preset--color--neutral-15);
	transition: text-decoration-color 120ms ease, color 120ms ease;
}
a:hover { text-decoration-color: var(--wp--preset--color--ink); }
img { max-width: 100%; height: auto; }

/* ---------- scroll-reveal ---------- */
.biffen-reveal {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity .7s var(--ease-pop), transform .7s var(--ease-pop);
	transition-delay: calc(var(--d, 0) * 90ms);
}
.biffen-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.biffen-reveal { opacity: 1 !important; transform: none !important; transition: none; }
}

/* ---------- gradient text ---------- */
.biffen-gradient-text {
	background: var(--biffen-grad);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

/* ---------- logo ---------- */
.biffen-logo { display: inline-flex; align-items: center; line-height: 0; }
.biffen-logo img { height: 34px; width: auto; display: block; transition: transform 200ms var(--ease-pop); }
.biffen-logo:hover img { transform: rotate(-3deg) scale(1.03); }
.biffen-logo--footer img { height: 38px; }

/* ---------- pills (capsule eyebrow) ---------- */
.biffen-pill {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 0.4rem 0.85rem;
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--hairline);
	background: var(--wp--preset--color--bg);
	font-size: 0.8125rem; font-weight: 700; letter-spacing: -0.005em;
	color: var(--wp--preset--color--neutral-70);
	margin: 0;
}
.biffen-pill--ondark {
	border-color: rgba(255,255,255,0.4);
	background: rgba(255,255,255,0.16);
	color: #fff;
	backdrop-filter: blur(4px);
}

/* ---------- header ---------- */
.biffen-header {
	position: sticky; top: 0; z-index: 50;
	backdrop-filter: saturate(180%) blur(10px);
	-webkit-backdrop-filter: saturate(180%) blur(10px);
	background: rgba(255, 255, 255, 0.86) !important;
}
.biffen-nav {
	display: flex; gap: 1.875rem; align-items: center;
	font-size: 0.9375rem; font-weight: 600; letter-spacing: -0.005em;
}
.biffen-nav a {
	color: var(--wp--preset--color--neutral-70);
	text-decoration: none; transition: color 120ms ease;
}
.biffen-nav a:hover { color: var(--wp--preset--color--ink); }

.biffen-cta {
	display: inline-flex; align-items: center; gap: 6px; text-decoration: none;
	color: #fff; font-size: 0.9375rem; font-weight: 700; letter-spacing: -0.005em;
	padding: 0.55rem 1.05rem; border-radius: 999px;
	background: var(--biffen-grad);
	background-size: 140% 100%;
	white-space: nowrap;
	transition: background-position 240ms ease, transform 160ms var(--ease-pop);
}
.biffen-cta:hover { background-position: 100% 0; transform: translateY(-1px); }
.biffen-cta__arrow { transition: transform 160ms var(--ease-pop); }
.biffen-cta:hover .biffen-cta__arrow { transform: translateX(3px); }

/* header end cluster + language switch */
.biffen-headend { display: flex; align-items: center; gap: 0.875rem; }
.biffen-langswitch {
	display: inline-flex; align-items: center; gap: 1px;
	font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.02em;
}
.biffen-langswitch a,
.biffen-langswitch li a {
	display: inline-block; padding: 0.25rem 0.45rem; border-radius: 7px;
	color: var(--wp--preset--color--neutral-30);
	text-decoration: none; text-transform: uppercase;
	transition: color 120ms ease, background-color 120ms ease;
}
.biffen-langswitch a:hover,
.biffen-langswitch li a:hover { color: var(--wp--preset--color--ink); }
.biffen-langswitch a.is-active,
.biffen-langswitch .current-lang a { color: var(--wp--preset--color--ink); background: var(--wp--preset--color--surface); }
.biffen-langswitch ul { list-style: none; margin: 0; padding: 0; display: inline-flex; gap: 1px; }
.biffen-langswitch li { margin: 0; }

@media (max-width: 720px) {
	.biffen-headend { gap: 0.5rem; }
	.biffen-cta { padding: 0.5rem 0.85rem; font-size: 0.875rem; }
}
@media (max-width: 380px) {
	.biffen-cta { padding: 0.45rem 0.7rem; font-size: 0.8125rem; }
}

/* ---------- buttons ---------- */
.biffen-button {
	box-sizing: border-box;
	display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
	padding: 0.8rem 1.5rem; border-radius: 999px;
	font-size: 0.9375rem; font-weight: 700; letter-spacing: -0.005em;
	white-space: nowrap;
	text-decoration: none; border: 1.5px solid transparent;
	transition: transform 160ms var(--ease-pop), box-shadow 200ms ease, background-position 240ms ease, border-color 160ms ease, color 160ms ease;
}
.biffen-button--lg { padding: 0.95rem 1.8rem; font-size: 1.0625rem; }
.biffen-button--gradient {
	color: #fff;
	background: var(--biffen-grad);
	background-size: 160% 100%;
	box-shadow: 0 8px 22px -10px rgba(255, 75, 60, 0.6);
}
.biffen-button--gradient:hover { background-position: 100% 0; transform: translateY(-2px) scale(1.015); }
.biffen-button--ghost { color: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--neutral-15); background: transparent; }
.biffen-button--ghost:hover { border-color: var(--wp--preset--color--ink); transform: translateY(-2px); }
.biffen-button--ondark { color: #D1402A; background: #fff; }
.biffen-button--ondark:hover { transform: translateY(-2px) scale(1.015); box-shadow: 0 10px 26px -12px rgba(0,0,0,0.4); }
.biffen-button--ondark-ghost { color: #fff; border-color: rgba(255,255,255,0.55); background: transparent; }
.biffen-button--ondark-ghost:hover { border-color: #fff; background: rgba(255,255,255,0.12); transform: translateY(-2px); }

/* ---------- section frame ---------- */
.biffen-section { overflow-x: clip; }
.biffen-section--tint { background: var(--biffen-tint); }

.biffen-secthead { max-width: 660px; margin: 0 auto 3.5rem; text-align: center; }
.biffen-secthead .biffen-pill { margin-bottom: 1rem; }
.biffen-secthead__title {
	font-size: clamp(1.875rem, 3.6vw, 2.625rem); font-weight: 800;
	letter-spacing: -0.03em; line-height: 1.08; color: var(--wp--preset--color--ink); margin: 0;
}
.biffen-secthead__sub {
	font-size: 1.0625rem; line-height: 1.55; color: var(--wp--preset--color--neutral-50);
	margin: 0.875rem auto 0; max-width: 520px;
}

/* ---------- HERO ---------- */
.biffen-hero {
	overflow-x: clip;
	background:
		radial-gradient(50% 42% at 82% 8%, rgba(255, 149, 0, 0.10), transparent 72%),
		radial-gradient(46% 40% at 12% 20%, rgba(255, 45, 85, 0.07), transparent 72%),
		var(--wp--preset--color--bg);
}
.biffen-hero__grid {
	display: grid; grid-template-columns: 1.04fr 0.96fr; gap: 3.5rem; align-items: center;
	max-width: 1240px; margin: 0 auto;
}
.biffen-hero__copy { max-width: 540px; }
.biffen-hero__copy .biffen-pill { margin-bottom: 1.25rem; }
.biffen-hero__title {
	font-size: clamp(2.625rem, 5.6vw, 4rem); font-weight: 800;
	letter-spacing: -0.035em; line-height: 1.02; color: var(--wp--preset--color--ink); margin: 0;
}
.biffen-hero__sub {
	font-size: 1.1875rem; line-height: 1.55; color: var(--wp--preset--color--neutral-50);
	margin: 1.375rem 0 1.875rem;
}
.biffen-hero__actions { display: flex; gap: 0.75rem; flex-wrap: wrap; }

.biffen-founding-strip {
	margin-top: 1.5rem; display: inline-flex; align-items: center; gap: 0.5rem;
	font-size: 0.9375rem; color: var(--wp--preset--color--neutral-70);
}
.biffen-founding-strip__dot {
	width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0;
	background: var(--biffen-grad);
	box-shadow: 0 0 0 4px rgba(255, 105, 61, 0.16);
}
.biffen-founding-strip strong { color: var(--wp--preset--color--ink); }
.biffen-founding-strip a {
	background: var(--biffen-grad); -webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent; text-decoration: none; font-weight: 700;
}

/* ---------- hero brand composition ---------- */
.biffen-hero__visual { display: flex; justify-content: center; }

.biffen-herobrand {
	position: relative;
	width: 100%; max-width: 480px;
	aspect-ratio: 1 / 1;
}

@keyframes biffen-bob {
	0%, 100% { translate: 0 0; }
	50% { translate: 0 -9px; }
}

/* gradient stage */
.biffen-herobrand__stage {
	position: absolute; inset: 0; margin: auto; z-index: 1;
	width: 74%; aspect-ratio: 1;
	border-radius: 50%;
	background: var(--biffen-grad-135);
	box-shadow:
		0 34px 70px -26px rgba(255, 70, 60, 0.55),
		inset 0 3px 14px rgba(255, 255, 255, 0.30);
	animation: biffen-bob 6s ease-in-out infinite;
}

/* steak focal tile */
.biffen-herobrand__tile {
	position: absolute; inset: 0; margin: auto; z-index: 2;
	width: 42%; aspect-ratio: 1;
	display: flex; align-items: center; justify-content: center;
	background: var(--wp--preset--color--bg);
	border-radius: 30px;
	box-shadow: 0 22px 44px -16px rgba(10, 14, 26, 0.32);
	rotate: -6deg;
	animation: biffen-bob 6.6s ease-in-out infinite;
}
.biffen-herobrand__tile img { width: 70%; height: auto; display: block; }

/* floating value chips */
.biffen-herobrand__chip {
	position: absolute; z-index: 3;
	display: inline-flex; align-items: center; gap: 0.5rem;
	padding: 0.45rem 0.85rem 0.45rem 0.45rem;
	background: var(--wp--preset--color--bg);
	border-radius: 999px;
	font-size: 0.8125rem; font-weight: 700; letter-spacing: -0.01em;
	color: var(--wp--preset--color--ink);
	box-shadow: 0 14px 30px -12px rgba(10, 14, 26, 0.28);
	white-space: nowrap;
	animation: biffen-bob 5.4s ease-in-out infinite;
	animation-delay: calc(var(--cd, 0) * -1.3s);
}
.biffen-herobrand__chip--tl { top: 3%;    left: 0;  rotate: -4deg; }
.biffen-herobrand__chip--tr { top: 17%;   right: 0; rotate: 3deg; }
.biffen-herobrand__chip--bl { bottom: 21%; left: 0;  rotate: 4deg; }
.biffen-herobrand__chip--br { bottom: 2%;  right: 0; rotate: -3deg; }
.biffen-herobrand__ico {
	display: inline-flex; align-items: center; justify-content: center;
	width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0;
	background: var(--biffen-grad-135); color: #fff;
}

/* accents */
.biffen-herobrand__dot {
	position: absolute; z-index: 2;
	width: 14px; height: 14px; border-radius: 50%;
	background: var(--biffen-grad-135);
}
.biffen-herobrand__dot--1 { top: 31%; right: 7%; }
.biffen-herobrand__dot--2 { bottom: 13%; left: 18%; }
.biffen-herobrand__ring {
	position: absolute; z-index: 2;
	width: 28px; height: 28px; border-radius: 50%;
	border: 3px solid var(--wp--preset--color--neutral-15);
	top: 9%; left: 33%;
}

@media (prefers-reduced-motion: reduce) {
	.biffen-herobrand__stage,
	.biffen-herobrand__tile,
	.biffen-herobrand__chip { animation: none; }
}

/* ---------- HOW IT WORKS (open, no cards) ---------- */
.biffen-steps {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.5rem;
	max-width: 1100px; margin: 0 auto;
}
.biffen-step { display: flex; flex-direction: column; align-items: center; text-align: center; }
.biffen-step__screen {
	width: 100%; display: flex; justify-content: center;
	margin-bottom: 1.5rem;
}
.biffen-step__num {
	font-size: 2.25rem; font-weight: 800; line-height: 1; letter-spacing: -0.03em;
	background: var(--biffen-grad); -webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent;
	margin-bottom: 0.4rem;
}
.biffen-step__title {
	font-size: 1.3125rem; font-weight: 800; letter-spacing: -0.02em;
	color: var(--wp--preset--color--ink); margin: 0 0 0.4rem;
}
.biffen-step__body {
	font-size: 0.9688rem; line-height: 1.55; color: var(--wp--preset--color--neutral-50);
	margin: 0; max-width: 280px;
}
/* small iPhone mockup */
.biffen-step__device {
	position: relative; width: 152px; margin: 0;
	background: linear-gradient(145deg, #5b5b60 0%, #2a2a2c 22%, #1d1d1f 50%, #2a2a2c 78%, #5b5b60 100%);
	border-radius: 30px; padding: 3px;
	box-shadow:
		0 2px 5px rgba(10, 14, 26, 0.14),
		0 24px 44px -20px rgba(255, 80, 60, 0.34),
		inset 0 1px 1px rgba(255, 255, 255, 0.22);
	transition: transform 260ms var(--ease-pop);
}
.biffen-step:hover .biffen-step__device { transform: translateY(-6px) rotate(1.5deg); }
.biffen-step__device img {
	box-sizing: border-box; width: 100%; display: block;
	border: 6px solid #000; border-radius: 27px;
	background: var(--wp--preset--color--surface);
	aspect-ratio: 1206 / 2622; object-fit: cover;
}
.biffen-step__island {
	position: absolute; z-index: 3;
	top: 12px; left: 50%; transform: translateX(-50%);
	width: 44px; height: 13px; background: #000; border-radius: 999px;
}

/* ---------- FEATURES (open, no cards) ---------- */
.biffen-features {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.75rem 2.5rem;
	max-width: 1120px; margin: 0 auto;
}
.biffen-feature { transition: transform 220ms var(--ease-pop); }
.biffen-feature:hover { transform: translateY(-4px); }
.biffen-feature__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 50px; height: 50px; border-radius: 50%;
	background: var(--biffen-grad-135); color: #fff;
	margin-bottom: 1rem;
	box-shadow: 0 10px 22px -10px rgba(255, 80, 60, 0.6);
	transition: transform 240ms var(--ease-pop);
}
.biffen-feature:hover .biffen-feature__icon { transform: rotate(-8deg) scale(1.08); }
.biffen-feature__title {
	font-size: 1.125rem; font-weight: 800; letter-spacing: -0.018em;
	color: var(--wp--preset--color--ink); margin: 0 0 0.4rem;
}
.biffen-feature__body {
	font-size: 0.9688rem; line-height: 1.55; color: var(--wp--preset--color--neutral-50); margin: 0;
}

/* ---------- NATURALNESS / split ---------- */
.biffen-split {
	display: grid; grid-template-columns: 1fr 0.92fr; gap: 4rem; align-items: center;
	max-width: 1140px; margin: 0 auto;
}
.biffen-split__copy { max-width: 480px; }
.biffen-split__copy .biffen-pill { margin-bottom: 1.125rem; }
.biffen-split__title {
	font-size: clamp(1.75rem, 3.4vw, 2.5rem); font-weight: 800;
	letter-spacing: -0.03em; line-height: 1.08; color: var(--wp--preset--color--ink); margin: 0;
}
.biffen-split__sub {
	font-size: 1.0625rem; line-height: 1.6; color: var(--wp--preset--color--neutral-50);
	margin: 1rem 0 1.5rem;
}
.biffen-ticks { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.625rem; }
.biffen-ticks li {
	padding-left: 1.875rem; position: relative;
	font-size: 1rem; color: var(--wp--preset--color--neutral-70);
}
.biffen-ticks li::before {
	content: ""; position: absolute; left: 0; top: 1px;
	width: 20px; height: 20px; border-radius: 50%;
	background: var(--biffen-grad-135);
}
.biffen-ticks li::after {
	content: ""; position: absolute; left: 6px; top: 8px;
	width: 8px; height: 4px; border-left: 2px solid #fff; border-bottom: 2px solid #fff;
	transform: rotate(-45deg);
}
.biffen-ticks strong { color: var(--wp--preset--color--ink); font-weight: 700; }

/* comparison visual — two iPhone device shots */
.biffen-phones-duo {
	position: relative;
	display: flex; justify-content: center; align-items: center;
	min-height: 480px;
}
.biffen-deviceshot {
	width: 222px; margin: 0;
	background: linear-gradient(145deg, #5b5b60 0%, #2a2a2c 22%, #1d1d1f 50%, #2a2a2c 78%, #5b5b60 100%);
	border-radius: 42px; padding: 3px;
	box-shadow:
		0 2px 6px rgba(10, 14, 26, 0.16),
		0 38px 66px -26px rgba(10, 14, 26, 0.44),
		inset 0 1px 1px rgba(255, 255, 255, 0.22);
}
.biffen-deviceshot img {
	box-sizing: border-box;
	width: 100%; display: block;
	border: 8px solid #000;
	border-radius: 39px;
	background: var(--wp--preset--color--bg);
	aspect-ratio: 1206 / 2622;
	object-fit: cover;
}
.biffen-deviceshot__island {
	position: absolute; z-index: 3;
	top: 15px; left: 50%; transform: translateX(-50%);
	width: 62px; height: 19px; background: #000; border-radius: 999px;
}
.biffen-deviceshot__btn {
	position: absolute; z-index: 1;
	background: linear-gradient(180deg, #45454a, #232325);
}
.biffen-deviceshot__btn--vol { left: -2px; top: 92px;  width: 2.5px; height: 56px; border-radius: 3px 0 0 3px; }
.biffen-deviceshot__btn--pwr { right: -2px; top: 102px; width: 2.5px; height: 44px; border-radius: 0 3px 3px 0; }
.biffen-deviceshot--back {
	position: absolute; left: 50%;
	transform: translateX(-92%) rotate(-7deg);
	z-index: 1;
}
.biffen-deviceshot--front {
	position: relative;
	transform: translateX(14%) rotate(5deg);
	z-index: 2;
}
@media (max-width: 980px) {
	.biffen-phones-duo { min-height: 0; padding: 1rem 0; }
}
@media (max-width: 420px) {
	.biffen-deviceshot { width: 168px; }
	.biffen-deviceshot--back { transform: translateX(-86%) rotate(-7deg); }
	.biffen-deviceshot--front { transform: translateX(10%) rotate(5deg); }
}

/* ---------- FOUNDING (full gradient band) ---------- */
.biffen-founding { overflow-x: clip; background: var(--biffen-grad-135); color: #fff; }
.biffen-founding__inner { max-width: 720px; margin: 0 auto; text-align: center; }
.biffen-founding__inner .biffen-pill { margin-bottom: 1.25rem; }
.biffen-founding__title {
	font-size: clamp(1.875rem, 4vw, 2.75rem); font-weight: 800;
	letter-spacing: -0.03em; line-height: 1.06; color: #fff; margin: 0;
}
.biffen-founding__sub {
	font-size: 1.0625rem; line-height: 1.55; color: rgba(255,255,255,0.9);
	margin: 1rem auto 2rem; max-width: 540px;
}
.biffen-founding__meter {
	margin: 0 auto 1.875rem; max-width: 420px;
}
.biffen-founding__meter-row { display: flex; align-items: baseline; justify-content: center; gap: 8px; margin-bottom: 0.75rem; }
.biffen-founding__meter-now { font-size: 2.25rem; font-weight: 800; line-height: 1; letter-spacing: -0.02em; }
.biffen-founding__meter-of { font-size: 0.9375rem; color: rgba(255,255,255,0.85); font-weight: 600; }
.biffen-founding__meter-track {
	height: 8px; background: rgba(255,255,255,0.28); border-radius: 999px; overflow: hidden;
}
.biffen-founding__meter-fill {
	height: 100%; background: #fff; border-radius: 999px;
}
.biffen-founding__meter-label { margin: 0.75rem 0 0; font-size: 0.8125rem; color: rgba(255,255,255,0.9); font-weight: 600; }
.biffen-founding__cta { display: flex; gap: 0.75rem; justify-content: center; flex-wrap: wrap; }

/* ---------- FAQ ---------- */
.biffen-faq { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 0.75rem; }
.biffen-faq__item {
	background: var(--wp--preset--color--surface);
	border-radius: 18px;
	padding: 0.25rem 1.375rem;
	transition: background-color 160ms ease, box-shadow 200ms ease;
}
.biffen-faq__item[open] {
	background: var(--wp--preset--color--bg);
	box-shadow: 0 12px 32px -18px rgba(10, 14, 26, 0.22);
}
.biffen-faq__q {
	display: flex; align-items: center; justify-content: space-between; gap: 1rem;
	padding: 1.25rem 0.25rem; cursor: pointer; list-style: none;
	font-size: 1.0625rem; font-weight: 700; letter-spacing: -0.015em; color: var(--wp--preset--color--ink);
	transition: color 140ms ease;
}
.biffen-faq__q:hover { color: #D1402A; }
.biffen-faq__q::-webkit-details-marker { display: none; }
.biffen-faq__chev { width: 16px; height: 16px; position: relative; flex-shrink: 0; }
.biffen-faq__chev::before, .biffen-faq__chev::after {
	content: ""; position: absolute; top: 50%; left: 50%;
	background: currentColor; border-radius: 2px;
}
.biffen-faq__chev::before { width: 14px; height: 2px; transform: translate(-50%,-50%); }
.biffen-faq__chev::after { width: 2px; height: 14px; transform: translate(-50%,-50%); transition: transform 220ms var(--ease-pop); }
.biffen-faq__item[open] .biffen-faq__chev::after { transform: translate(-50%,-50%) scaleY(0); }
.biffen-faq__a { padding: 0 0.25rem 1.25rem; font-size: 1rem; line-height: 1.6; color: var(--wp--preset--color--neutral-50); }
.biffen-faq__a p { margin: 0 0 0.75rem; }
.biffen-faq__a ul, .biffen-faq__a ol { margin: 0 0 0.75rem; padding-left: 1.3rem; }
.biffen-faq__a li { margin: 0 0 0.35rem; }
.biffen-faq__a li::marker { color: var(--wp--preset--color--neutral-30); }
.biffen-faq__a h4 {
	font-size: 1rem; font-weight: 800; letter-spacing: -0.012em;
	color: var(--wp--preset--color--ink); margin: 1.375rem 0 0.5rem;
}
.biffen-faq__a a { color: var(--wp--preset--color--ink); font-weight: 600; }
.biffen-faq__a > *:last-child { margin-bottom: 0; }

/* ---------- help center ---------- */
.biffen-help { max-width: 800px; margin: 0 auto; }
.biffen-help__cat { margin-bottom: 2.75rem; }
.biffen-help__cat:last-child { margin-bottom: 0; }
.biffen-help__cattitle {
	display: flex; align-items: center; gap: 0.625rem;
	font-size: 1.375rem; font-weight: 800; letter-spacing: -0.022em;
	color: var(--wp--preset--color--ink); margin: 0 0 1rem;
}
.biffen-help__dot {
	width: 12px; height: 12px; border-radius: 50%;
	background: var(--biffen-grad-135); flex-shrink: 0;
}

/* ---------- FINAL CTA ---------- */
.biffen-finalcta { text-align: center; }
.biffen-finalcta .biffen-pill { margin-bottom: 1rem; }
.biffen-finalcta__title {
	font-size: clamp(2rem, 4.4vw, 3rem); font-weight: 800;
	letter-spacing: -0.032em; line-height: 1.05; color: var(--wp--preset--color--ink); margin: 0;
}
.biffen-finalcta__sub {
	font-size: 1.0625rem; line-height: 1.55; color: var(--wp--preset--color--neutral-50);
	margin: 0.875rem auto 1.75rem; max-width: 440px;
}

/* ---------- contact page ---------- */
.biffen-contact { align-items: stretch; }
.biffen-contact__aside { max-width: 320px; }
.biffen-contact__aside .biffen-eyebrow { margin-bottom: 0.875rem; }
.biffen-contact__mail {
	display: inline-block;
	font-size: clamp(1.125rem, 2vw, 1.375rem); font-weight: 800;
	letter-spacing: -0.02em; text-decoration: none;
	background: var(--biffen-grad); -webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent;
}
.biffen-contact__mail:hover { text-decoration: underline; text-underline-offset: 3px; }
.biffen-contact__note {
	font-size: 0.9375rem; line-height: 1.6; color: var(--wp--preset--color--neutral-50);
	margin: 0.625rem 0 0;
}
.biffen-contact__socials { display: flex; flex-direction: column; gap: 0.625rem; }
.biffen-contact__socials a {
	display: inline-flex; align-items: center; gap: 0.625rem;
	color: var(--wp--preset--color--neutral-70); text-decoration: none;
	font-size: 0.9375rem; font-weight: 600; width: fit-content;
	transition: color 120ms ease;
}
.biffen-contact__socials a:hover { color: var(--wp--preset--color--ink); }
.biffen-contact__ico {
	display: inline-flex; align-items: center; justify-content: center;
	width: 34px; height: 34px; border-radius: 50%;
	background: var(--biffen-grad-135); color: #fff;
	transition: transform 200ms var(--ease-pop);
}
.biffen-contact__socials a:hover .biffen-contact__ico { transform: rotate(-8deg) scale(1.08); }

/* the form panel */
.biffen-contact__formwrap {
	background: var(--wp--preset--color--bg);
	border-radius: 22px;
	padding: 2rem;
	box-shadow: 0 1px 0 rgba(10,14,26,0.02), 0 26px 60px -34px rgba(10,14,26,0.22);
}

/* Contact Form 7 — themed */
.wpcf7-form .biffen-field {
	display: block; margin: 0 0 1.25rem;
	font-size: 0.875rem; font-weight: 700; letter-spacing: -0.005em;
	color: var(--wp--preset--color--ink);
}
.biffen-field__opt {
	font-weight: 500; font-size: 0.75rem;
	color: var(--wp--preset--color--neutral-30);
	text-transform: uppercase; letter-spacing: 0.08em; margin-left: 0.3rem;
}
.wpcf7-form-control-wrap { display: block; margin-top: 0.45rem; }
.wpcf7-form input.wpcf7-text,
.wpcf7-form input.wpcf7-email,
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form select,
.wpcf7-form textarea {
	width: 100%; box-sizing: border-box;
	font: inherit; font-weight: 500;
	color: var(--wp--preset--color--ink);
	padding: 0.75rem 0.95rem;
	background: var(--wp--preset--color--surface);
	border: 1.5px solid var(--wp--preset--color--hairline);
	border-radius: 12px;
	transition: border-color 140ms ease, background-color 140ms ease, box-shadow 140ms ease;
}
.wpcf7-form textarea { min-height: 132px; resize: vertical; }
.wpcf7-form select {
	-webkit-appearance: none; appearance: none; cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.95rem center;
	padding-right: 2.5rem;
}
.wpcf7-form input[type="file"] {
	width: 100%; box-sizing: border-box;
	font: inherit; font-size: 0.875rem; font-weight: 500;
	color: var(--wp--preset--color--neutral-50);
	padding: 0.6rem 0.7rem;
	background: var(--wp--preset--color--surface);
	border: 1.5px dashed var(--wp--preset--color--neutral-15);
	border-radius: 12px;
}
.wpcf7-form input[type="file"]::file-selector-button {
	font: inherit; font-weight: 700; font-size: 0.8125rem; cursor: pointer;
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--bg);
	border: 1.5px solid var(--wp--preset--color--hairline);
	border-radius: 999px; padding: 0.4rem 0.9rem; margin-right: 0.75rem;
	transition: border-color 140ms ease;
}
.wpcf7-form input[type="file"]::file-selector-button:hover { border-color: var(--wp--preset--color--ink); }
.wpcf7-form input.wpcf7-text:focus,
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
	outline: none;
	background: var(--wp--preset--color--bg);
	border-color: #FF6A3D;
	box-shadow: 0 0 0 4px rgba(255, 106, 61, 0.14);
}
.wpcf7-form input.wpcf7-submit {
	-webkit-appearance: none; appearance: none; cursor: pointer;
	font: inherit; font-weight: 700; font-size: 1rem;
	color: #fff; background: var(--biffen-grad); background-size: 160% 100%;
	border: 0; border-radius: 999px;
	padding: 0.85rem 1.75rem;
	box-shadow: 0 8px 22px -10px rgba(255, 75, 60, 0.6);
	transition: transform 160ms var(--ease-pop), background-position 240ms ease;
}
.wpcf7-form input.wpcf7-submit:hover { background-position: 100% 0; transform: translateY(-2px) scale(1.015); }
.wpcf7-spinner { margin: 0 0 0 0.625rem; }
.wpcf7-form .wpcf7-response-output {
	margin: 1rem 0 0; padding: 0.75rem 1rem;
	border-radius: 12px; font-size: 0.9375rem;
	border: 1.5px solid var(--wp--preset--color--hairline);
}
.wpcf7-not-valid-tip { color: #D1402A; font-size: 0.8125rem; font-weight: 600; }
.wpcf7-form input.wpcf7-not-valid,
.wpcf7-form textarea.wpcf7-not-valid { border-color: #FF5757; }

@media (max-width: 781px) {
	.biffen-contact__aside { max-width: none; }
	.biffen-contact__formwrap { padding: 1.5rem; }
}

/* ---------- footer ---------- */
.biffen-eyebrow {
	font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em;
	font-size: 0.75rem; color: var(--wp--preset--color--neutral-50); margin: 0 0 1rem;
}
.is-style-no-bullets, .biffen-link-list { list-style: none; padding-left: 0; margin: 0; }
.is-style-no-bullets li, .biffen-link-list li { margin: 0; }
.biffen-link-list { display: flex; flex-direction: column; gap: 0.625rem; }
.biffen-link-list a {
	color: var(--wp--preset--color--neutral-50); text-decoration: none;
	font-size: 0.9375rem; transition: color 120ms ease;
}
.biffen-link-list a:hover { color: var(--wp--preset--color--ink); }

.biffen-footer__top {
	display: grid; grid-template-columns: 1.1fr 1.4fr; gap: 4rem;
	align-items: start;
}
.biffen-footer__brand { max-width: 360px; }
.biffen-footer__brand .biffen-logo { margin-bottom: 1.25rem; }
.biffen-footer__tagline {
	font-size: 1rem; line-height: 1.55; color: var(--wp--preset--color--neutral-50);
	margin: 0 0 1.5rem;
}
.biffen-footer__cols {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem;
}

/* gradient sub-footer */
.biffen-subfooter { background: var(--biffen-grad-135); }
.biffen-subfooter__inner {
	max-width: 1240px; margin: 0 auto;
	padding: 1.25rem var(--wp--preset--spacing--5);
	display: flex; align-items: center; justify-content: space-between;
	flex-wrap: wrap; gap: 1rem;
}
.biffen-subfooter__copy { color: #fff; font-size: 0.875rem; font-weight: 600; }
.biffen-socials { display: flex; gap: 0.625rem; }
.biffen-socials__link {
	display: inline-flex; align-items: center; justify-content: center;
	width: 38px; height: 38px; border-radius: 50%;
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
	transition: background-color 160ms ease, transform 160ms var(--ease-pop);
}
.biffen-socials__link:hover {
	background: #fff; color: #D1402A;
	transform: translateY(-2px) scale(1.06);
}

/* ---------- responsive ---------- */
@media (max-width: 980px) {
	.biffen-hero__grid { grid-template-columns: 1fr; gap: 2.5rem; }
	.biffen-hero__copy { max-width: 560px; margin: 0 auto; text-align: center; }
	.biffen-hero__actions, .biffen-founding-strip { justify-content: center; }
	.biffen-hero__copy .biffen-founding-strip { display: inline-flex; }
	.biffen-steps { grid-template-columns: 1fr; max-width: 360px; gap: 3rem; }
	.biffen-features { grid-template-columns: repeat(2, 1fr); }
	.biffen-split { grid-template-columns: 1fr; gap: 2.5rem; }
	.biffen-split__copy { max-width: 560px; margin: 0 auto; }
	.biffen-footer__top { grid-template-columns: 1fr; gap: 2.75rem; }
	.biffen-footer__brand { max-width: none; }
}
@media (max-width: 720px) {
	.biffen-nav { display: none; }
}
@media (max-width: 560px) {
	.biffen-features { grid-template-columns: 1fr; gap: 2.25rem; }
	.biffen-founding__cta { flex-direction: column; }
	.biffen-founding__cta .biffen-button { width: 100%; }
	.biffen-herobrand { max-width: 340px; }
	.biffen-herobrand__chip {
		font-size: 0.6875rem; padding: 0.35rem 0.6rem 0.35rem 0.35rem;
		max-width: 100%; gap: 0.4rem;
	}
	.biffen-herobrand__ico { width: 22px; height: 22px; }
	.biffen-herobrand__chip--tl { left: 2%; }
	.biffen-herobrand__chip--tr { right: 2%; }
	.biffen-herobrand__chip--bl { left: 2%; }
	.biffen-herobrand__chip--br { right: 2%; }
	.biffen-footer__cols { grid-template-columns: repeat(2, 1fr); gap: 1.75rem; }
	.biffen-subfooter__inner { flex-direction: column; gap: 0.875rem; text-align: center; }
}
