@theme {
	--color-primary: #8bcf00;
	--color-primary-50: #f5ffe6;
	--color-primary-100: #e8ffc2;
	--color-primary-500: #8bcf00;
	--color-primary-600: #74ad00;
	--color-primary-700: #588500;
	--color-primary-900: #253800;
	--color-secondary: #5f6a70;
	--color-secondary-50: #f7f8f8;
	--color-secondary-100: #edf0f1;
	--color-secondary-200: #d9dfe2;
	--color-secondary-300: #bdc6ca;
	--color-secondary-500: #748087;
	--color-secondary-600: #5f6a70;
	--color-secondary-700: #3d474d;
	--color-secondary-900: #172229;
	--color-neutral: #172229;
	--color-background: #ffffff;
	--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
	--font-serif: Georgia, serif;
	--font-mono: ui-monospace, monospace;
	--text-sm: .875rem; --text-base: 1rem; --text-lg: 1.125rem; --text-xl: 1.25rem; --text-2xl: 1.5rem; --text-3xl: 1.875rem; --text-4xl: 2.25rem; --text-5xl: 3rem;
}
@layer base {
	html { scroll-behavior: smooth; }
	body { margin:0; background:#fff; color:#172229; font-family:Inter, "Segoe UI", Roboto, Arial, sans-serif; font-size:16px; line-height:1.55; }
	a { color:inherit; }
	:where(a,button,input,textarea,select):focus-visible { outline:3px solid #202224; outline-offset:3px; }
	#main-content:focus { outline:none; }
	@media (prefers-reduced-motion: reduce) {
		html { scroll-behavior:auto; }
		*,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
	}
}
@layer components {
	.skip-link { position:fixed; left:16px; top:12px; z-index:100000; padding:11px 15px; background:#202224; color:#b7ff18; border:2px solid #b7ff18; border-radius:10px; font-weight:900; text-decoration:none; transform:translateY(-160%); transition:transform .15s ease; }
	.skip-link:focus { transform:translateY(0); outline:3px solid #fff; outline-offset:2px; }
	.site-header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.94); backdrop-filter:blur(12px); border-bottom:1px solid #e7ebed; }
	.header-inner { max-width:1180px; margin:auto; padding:14px 24px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
	.brand { display:flex; align-items:center; gap:12px; text-decoration:none; font-weight:900; letter-spacing:-.03em; }
	.brand img { width:48px; height:48px; object-fit:cover; border-radius:50%; }
	.brand-name { font-family:Georgia, "Times New Roman", serif; font-size:1.35rem; line-height:1; font-weight:700; letter-spacing:.03em; }
	.main-nav { display:flex; align-items:center; justify-content:center; gap:7px; margin-left:auto; }
		.main-nav a { text-decoration:none; font-size:.66rem; font-weight:900; text-transform:uppercase; letter-spacing:.055em; color:#b7ff18; background:#202224; padding:9px 9px; border:1px solid #202224; border-radius:10px; white-space:nowrap; }
		.main-nav a:hover { color:#202224; background:#b7ff18; border-color:#b7ff18; }
		.header-cta { background:#b7ff18; color:#202224; padding:12px 17px; border:2px solid #202224; border-radius:14px; text-decoration:none; font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.06em; white-space:nowrap; box-shadow:3px 3px 0 #202224; transform:translate(-1px,-1px); transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease; }
		.header-cta:hover { background:#202224; color:#b7ff18; border-color:#202224; box-shadow:1px 1px 0 #202224; transform:translate(1px,1px); }
	.hero { background:linear-gradient(135deg,#f8faf9 0%,#fff 55%,#f3ffd9 100%); border-bottom:1px solid #e7ebed; overflow:hidden; }
	.hero-inner,.section-inner { max-width:1180px; margin:auto; padding-left:24px; padding-right:24px; }
	.hero-inner { min-height:680px; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:48px; padding-top:70px; padding-bottom:70px; }
	.eyebrow { display:inline-block; font-family:Inter, "Segoe UI", Roboto, Arial, sans-serif; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; font-weight:900; margin:0 0 18px; padding:8px 12px; background:#202224; color:#b7ff18; border-radius:10px; }
	.eyebrow.lime { color:#74ad00; }
	.hero h1,.section h2 { font-family:Georgia, "Times New Roman", serif; letter-spacing:-.025em; line-height:1.04; margin:0; font-weight:700; }
	.page-title { font-family:Inter, "Segoe UI", Roboto, Arial, sans-serif !important; font-size:1rem !important; font-weight:800 !important; text-transform:uppercase !important; letter-spacing:.08em !important; line-height:1.2 !important; color:#202224 !important; margin:0 !important; }
	.hero h1 { font-size:clamp(3.7rem,7vw,6.6rem); }
	.hero h1 span { color:#86c900; }
	.hero-lead { max-width:650px; font-size:clamp(1.15rem,2vw,1.45rem); line-height:1.55; color:#566169; margin:28px 0; }
	.hero-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
	.button { display:inline-block; text-decoration:none; font-size:.78rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; padding:13px 20px; border:1px solid #202224; border-radius:10px; transition:background .15s ease,color .15s ease,border-color .15s ease; }
	.button-primary,.button-dark { background:#202224; color:#b7ff18; }
	.button-primary:hover,.button-dark:hover { background:#b7ff18; color:#202224; border-color:#b7ff18; }

		/* WooCommerce styling */
		.faff-product-page { width:100%; }
		.faff-tools-page { width:100%; }
		.faff-tools-page .prose { max-width:none; }
		.faff-tools-page .faff-tools-live { width:100%; }
		.faff-tools-page .faff-tools-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
		@media (max-width:900px) { .faff-tools-page .faff-tools-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
		@media (max-width:620px) { .faff-tools-page .faff-tools-grid { grid-template-columns:1fr; } }
		.faff-product-page > header,.faff-product-page > figure { display:none; }
		.faff-product-page .prose { max-width:none; }
		.faff-product-page .woocommerce .product { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr); gap:clamp(32px,5vw,72px); align-items:start; }
		.faff-product-page .woocommerce-product-gallery,.faff-product-page .summary { float:none !important; width:auto !important; margin:0 !important; }
		.faff-product-page .woocommerce-product-gallery { grid-column:1; }
		.faff-product-page .summary { grid-column:2; padding:clamp(24px,3vw,38px); background:#f7f8f8; border:1px solid #dfe5e7; border-radius:18px; }
		.faff-product-page .summary:before { content:'FAFF IT OFF DIGITAL TOOL'; display:inline-block; margin:0 0 16px; padding:7px 10px; border-radius:8px; background:#202224; color:#b7ff18; font-size:.68rem; line-height:1; font-weight:900; letter-spacing:.1em; }
		.faff-product-page .price { font-size:1.65rem !important; font-weight:900; color:#202224 !important; }
		.faff-product-page .price del { color:#748087; opacity:.7; margin-right:8px; }
		.faff-product-page .price ins { color:#588500; text-decoration:none; }
		.faff-product-page .cart { display:flex; align-items:stretch; gap:10px; margin-top:24px; }
		.faff-product-page .quantity .qty { width:70px; min-height:48px; border:2px solid #202224; border-radius:10px; background:#fff; }
		.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #respond input#submit.alt { background:#202224 !important; color:#b7ff18 !important; border:2px solid #202224 !important; border-radius:10px !important; padding:13px 20px !important; min-height:48px; font-size:.78rem !important; font-weight:900 !important; text-transform:uppercase; letter-spacing:.08em; box-shadow:3px 3px 0 #b7ff18; transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease; }
		.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,.woocommerce #respond input#submit.alt:hover { background:#b7ff18 !important; color:#202224 !important; border-color:#202224 !important; box-shadow:1px 1px 0 #202224; transform:translate(2px,2px); }
		.faff-product-page .woocommerce-tabs { grid-column:1 / -1; margin-top:30px; padding-top:30px; border-top:1px solid #dfe5e7; }
		.faff-product-page .product_meta { margin-top:22px; padding-top:18px; border-top:1px solid #d9dfe2; font-size:.82rem; color:#5f6a70; }
		@media (max-width:900px) { .faff-product-page .woocommerce .product { grid-template-columns:1fr; } .faff-product-page .woocommerce-product-gallery,.faff-product-page .summary,.faff-product-page .woocommerce-tabs { grid-column:1; } }
		@media (max-width:520px) { .faff-product-page { padding-top:32px; } .faff-product-page .summary { padding:22px 18px; } .faff-product-page .cart { flex-wrap:wrap; } .faff-product-page .single_add_to_cart_button { flex:1; } }
	.text-link { display:inline-block; background:#202224; color:#b7ff18; border:1px solid #202224; border-radius:10px; padding:13px 20px; text-decoration:none; font-size:.78rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
	.text-link:hover { background:#b7ff18; color:#202224; border-color:#b7ff18; }
	.trust-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .55rem;
  margin-top: 1.15rem;
}
.trust-strip span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: .65rem .75rem;
  border: 1px solid rgba(31, 31, 31, .12);
  border-radius: 10px;
  background: rgba(255, 255, 255, .82);
  color: #252525;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .045em;
  text-align: center;
  text-transform: uppercase;
}
@media (max-width: 760px) {
  .trust-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 430px) {
  .trust-strip { grid-template-columns: 1fr; }
}

.microcopy { font-size:.82rem; color:#778187; margin-top:18px; }
	.hero-logo-wrap { display:flex; justify-content:center; }
	.hero-logo { width:min(100%,520px); height:auto; filter:drop-shadow(0 20px 32px rgba(23,34,41,.10)); }
	.problem-strip { background:#172229; color:#fff; }
	.problem-grid { padding-top:19px; padding-bottom:19px; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
	.problem-grid p { margin:0; padding:11px 12px; font-size:.82rem; font-weight:900; text-align:center; border:1px solid #465157; border-radius:10px; background:#202224; }
	.problem-grid p:before { content:'✓'; color:#9be000; margin-right:8px; }
	.section { padding:100px 0; }
	.section h2 { font-family:Georgia, "Times New Roman", serif; font-size:clamp(2.5rem,4.8vw,4.5rem); font-weight:700; letter-spacing:-.02em; line-height:1.06; max-width:850px; }
	.section-intro { font-size:1.25rem; line-height:1.6; color:#647078; max-width:700px; margin:24px 0 48px; }
	.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
	.service-card { border:1px solid #dfe5e7; border-radius:18px; padding:30px; min-height:230px; background:#fff; transition:transform .2s,border-color .2s; }
	.service-card:hover { transform:translateY(-4px); border-color:#8bcf00; }
	.service-card span { display:inline-grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#eefbd4; color:#4f7900; font-weight:900; font-size:.8rem; }
	.service-card h3 { font-family:Inter, "Segoe UI", Roboto, Arial, sans-serif; font-size:.9rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; line-height:1.2; margin:28px 0 10px; }
	.service-card p { color:#667178; line-height:1.55; margin:0; }
	.service-card.wildcard { background:#f5ffe6; border-color:#cce98e; }
	.dark-section { background:#172229; color:#fff; }
	.dark-section h2 { color:#fff; }
	.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:48px 0 34px; }
	.steps > div { position:relative; padding:28px 26px; background:#f5f6f2; border:1px solid #e2e5df; border-radius:14px; overflow:hidden; }
	.steps > div:before { content:""; position:absolute; left:0; top:0; bottom:0; width:6px; background:#b7ff18; }
	.steps strong { display:inline-grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#202224; color:#b7ff18; font-size:1rem; line-height:1; }
	.steps h3 { font-size:.9rem; font-weight:900; text-transform:uppercase; letter-spacing:.07em; margin:20px 0 9px; color:#202224; }
	.steps p { color:#515b61; line-height:1.6; margin:0; }
	.price-section { background:#f6f8f8; }
	.price-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }
	.price-copy { font-size:1.15rem; line-height:1.65; color:#566169; }
	.price-copy ul { padding:0; margin:28px 0 0; list-style:none; }
	.price-copy li { border-top:1px solid #d9dfe2; padding:13px 0; font-weight:700; color:#172229; }
	.price-copy li:before { content:'✓'; color:#76b000; margin-right:10px; }
	.tools-section { padding-top:70px; padding-bottom:70px; }
	.tools-box { border:2px dashed #b9d878; border-radius:24px; padding-top:45px; padding-bottom:45px; display:flex; justify-content:space-between; align-items:center; gap:30px; background:#fbfff4; }
	.tools-box h2 { font-size:clamp(2rem,4vw,3.5rem); }
	.tools-box p:not(.eyebrow) { color:#647078; max-width:650px; font-size:1.1rem; }
	.tool-pill { white-space:nowrap; border:1px solid #9bc44c; border-radius:999px; padding:13px 18px; font-weight:900; font-size:.8rem; }
	.cta-section { padding-top:30px; }
	.cta-box { position:relative; overflow:hidden; background:linear-gradient(135deg,#f4f6f1 0%,#fff 72%); border:1px solid #dfe4dc; border-left:7px solid #b7ff18; border-radius:18px; padding-top:58px; padding-bottom:58px; text-align:left; }
	.cta-box h2 { max-width:760px; }
	.cta-box > p:not(.eyebrow):not(.microcopy) { font-size:1.2rem; margin:22px 0 28px; max-width:620px; }
	.cta-box .button { background:#202224; color:#b7ff18; }
	.cta-box .button:hover { background:#b7ff18; color:#202224; border-color:#b7ff18; }
	.dark-micro { color:#3e5900; }
	.site-footer { background:#172229; color:#fff; margin-top:80px; }
	.footer-inner { max-width:1180px; margin:auto; padding:55px 24px 40px; display:grid; grid-template-columns:1.5fr 1fr 1.25fr; gap:60px; align-items:start; }
	.footer-brand { font-weight:950; font-size:1.4rem; margin:0 0 6px; }
	.footer-tag { margin:0 0 18px; color:#aeb8bd; }
		.footer-identity a { color:#9be000; font-size:.9rem; }
		.footer-heading { color:#fff; font-weight:900; font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; margin:0 0 15px; }
		.footer-links { display:flex; flex-direction:column; gap:9px; }
		.footer-links a { color:#aeb8bd; text-decoration:none; font-size:.88rem; }
		.footer-links a:hover { color:#9be000; }
		.footer-bottom { max-width:1180px; margin:auto; padding:18px 24px 24px; border-top:1px solid #354047; color:#849097; font-size:.76rem; display:flex; justify-content:space-between; gap:20px; }
	.footer-meta { text-align:right; color:#aeb8bd; font-size:.85rem; }
	.footer-meta a { color:#9be000; }
	@media (max-width:800px) {
		.hero-inner { grid-template-columns:1fr; min-height:auto; padding-top:55px; gap:20px; }
		.hero h1 { font-size:clamp(3.6rem,18vw,5.8rem); }
		.hero-logo-wrap { order:-1; }
		.hero-logo { width:260px; }
		.problem-grid { grid-template-columns:1fr 1fr; }
		.card-grid,.steps,.price-grid { grid-template-columns:1fr; }
		.section { padding:70px 0; }
		.tools-box,.footer-inner { display:block; }
			.header-inner { flex-wrap:wrap; gap:10px 14px; }
			.main-nav { display:flex; order:3; width:100%; overflow-x:auto; justify-content:flex-start; gap:20px; padding:8px 0 3px; scrollbar-width:none; }
			.main-nav::-webkit-scrollbar { display:none; }
			.main-nav a { flex:0 0 auto; font-size:.8rem; }
			.header-cta { margin-left:auto; }
			.footer-links { margin-top:0; }
			.footer-inner { display:grid; grid-template-columns:1fr; gap:14px; padding:34px 16px 24px; }
			.footer-identity,.footer-links { padding:20px; background:#202224; border:1px solid #354047; border-radius:14px; }
			.footer-identity { border-top:4px solid #b7ff18; }
			.footer-brand { font-size:1.2rem; }
			.footer-tag { margin-bottom:14px; }
			.footer-heading { margin-bottom:12px; color:#b7ff18; }
			.footer-links { display:grid; gap:8px; }
			.footer-links a { display:block; padding:10px 0; border-bottom:1px solid #303a40; }
			.footer-links a:last-child { border-bottom:0; }
			.footer-bottom { padding:16px 18px 22px; text-align:center; }
			.footer-bottom { display:block; }
			.footer-bottom span { display:block; margin-top:5px; }
		.tool-pill { display:inline-block; margin-top:20px; }
		.footer-meta { text-align:left; margin-top:25px; }
		.brand-name { display:none; }
	}

/* Branded inner-page treatment */
.faff-page { max-width:980px; }
.faff-page > header { padding-bottom:18px; border-bottom:4px solid #b7ff18; margin-bottom:32px; }
.faff-page .prose { font-size:1.02rem; line-height:1.72; color:#3f494f; }
.faff-page .prose > .eyebrow { display:inline-block; margin:0 0 12px; padding:8px 12px; background:#202224; color:#b7ff18; border-radius:10px; font-size:.72rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.faff-page .prose > h2 { font-family:Georgia, "Times New Roman", serif; font-size:clamp(2rem,5vw,3.5rem); line-height:1.05; letter-spacing:-.025em; color:#202224; margin:0 0 18px; }
.faff-page .prose > h2 + p { font-family:Georgia, "Times New Roman", serif; font-size:1.18rem; line-height:1.55; color:#596268; max-width:760px; margin-bottom:34px; }
.faff-page .prose > h3 { position:relative; margin:16px 0 0; padding:22px 24px 7px 30px; background:#f5f6f2; border:1px solid #e2e5df; border-bottom:0; font-size:.88rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; color:#202224; }
.faff-page .prose > h3::before { content:""; position:absolute; left:0; top:0; bottom:-1px; width:6px; background:#b7ff18; }
.faff-page .prose > h3 + p { margin:0 0 14px; padding:5px 24px 22px 30px; background:#f5f6f2; border:1px solid #e2e5df; border-top:0; color:#515b61; }
.faff-page .prose > p:last-child { position:relative; overflow:hidden; margin-top:42px; padding:34px 28px; background:linear-gradient(135deg,#f4f6f1 0%,#fff 72%); border:1px solid #dfe4dc; border-left:7px solid #b7ff18; border-radius:14px; color:#202224; text-align:left; }
.faff-page .prose > p:last-child::before { content:"READY TO LOSE THE FAFF?"; display:block; margin-bottom:13px; font-family:Georgia, "Times New Roman", serif; font-size:clamp(1.25rem,3vw,1.75rem); font-weight:700; line-height:1.1; letter-spacing:-.02em; }
.faff-page .prose > p:last-child a,.faff-page .prose > p:last-child a:link,.faff-page .prose > p:last-child a:visited { display:inline-block; background:#202224 !important; color:#b7ff18 !important; padding:12px 18px; border:1px solid #202224; border-radius:10px; text-decoration:none !important; font-size:.76rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.faff-page .prose > p:last-child a:hover,.faff-page .prose > p:last-child a:focus { background:#b7ff18 !important; color:#202224 !important; border-color:#b7ff18; }
.faff-page .prose ul,.faff-page .prose ol { background:#f5f6f2; border-left:6px solid #b7ff18; padding:20px 24px 20px 48px; }
.faff-page .prose blockquote { margin:28px 0; padding:22px 26px; border-left:6px solid #b7ff18; background:#202224; color:#fff; font-family:Georgia, "Times New Roman", serif; font-size:1.2rem; }
@media(max-width:640px){
  .faff-page > header { margin-bottom:24px; }
  .faff-page .prose > h3 { padding:18px 18px 6px 24px; }
  .faff-page .prose > h3 + p { padding:5px 18px 18px 24px; }
}

/* FAFF IT OFF forms */
.faff-forminator { position:relative; margin:36px 0 24px; padding:38px; background:linear-gradient(145deg,#f6f8f3 0%,#fff 72%); border:1px solid #dfe4dc; border-top:5px solid #b7ff18; border-radius:20px; box-shadow:0 18px 48px rgba(32,34,36,.08); overflow:hidden; }
.faff-forminator:before { content:""; position:absolute; right:-55px; top:-55px; width:150px; height:150px; border-radius:50%; background:rgba(183,255,24,.13); pointer-events:none; }
.faff-forminator .forminator-ui { position:relative; z-index:1; margin:0 !important; font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif !important; }
.faff-forminator .forminator-row { margin-bottom:20px !important; }
.faff-forminator .forminator-field { position:relative; }
.faff-forminator .forminator-label { display:block !important; margin:0 0 8px !important; color:#202224 !important; font-size:.76rem !important; font-weight:900 !important; letter-spacing:.07em !important; text-transform:uppercase !important; }
.faff-forminator .forminator-required { color:#6f9e00 !important; }
.faff-forminator .forminator-description,.faff-forminator .forminator-field-description { color:#687177 !important; font-size:.84rem !important; line-height:1.5 !important; margin-top:7px !important; }
.faff-forminator input.forminator-input,.faff-forminator textarea.forminator-textarea,.faff-forminator select.forminator-select2 + .forminator-select { width:100% !important; box-sizing:border-box !important; background:#fff !important; color:#202224 !important; border:1px solid #cbd1c8 !important; border-radius:12px !important; padding:14px 15px !important; font:inherit !important; box-shadow:0 2px 5px rgba(32,34,36,.035) !important; transition:border-color .16s ease,box-shadow .16s ease,background .16s ease !important; }
.faff-forminator textarea.forminator-textarea { min-height:142px !important; resize:vertical !important; line-height:1.55 !important; }
.faff-forminator input.forminator-input:hover,.faff-forminator textarea.forminator-textarea:hover { border-color:#9ca59b !important; background:#fff !important; }
.faff-forminator input.forminator-input:focus,.faff-forminator textarea.forminator-textarea:focus { border-color:#202224 !important; outline:none !important; box-shadow:0 0 0 4px rgba(183,255,24,.30),0 3px 9px rgba(32,34,36,.06) !important; }
.faff-forminator .forminator-button,.faff-forminator button.forminator-button { min-height:50px !important; background:#202224 !important; color:#b7ff18 !important; border:2px solid #202224 !important; border-radius:12px !important; padding:13px 24px !important; font-size:.78rem !important; font-weight:900 !important; letter-spacing:.08em !important; text-transform:uppercase !important; box-shadow:3px 3px 0 #b7ff18 !important; cursor:pointer !important; transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease !important; }
.faff-forminator .forminator-button:hover,.faff-forminator button.forminator-button:hover { background:#b7ff18 !important; color:#202224 !important; transform:translate(2px,2px) !important; box-shadow:1px 1px 0 #202224 !important; }
.faff-forminator .forminator-button:focus-visible { outline:4px solid rgba(183,255,24,.55) !important; outline-offset:3px !important; }
.faff-forminator .forminator-checkbox { color:#3f494f !important; line-height:1.6 !important; }
.faff-forminator .forminator-checkbox-box { border-radius:6px !important; border:2px solid #9ca59b !important; background:#fff !important; }
.faff-forminator .forminator-checkbox input:checked + .forminator-checkbox-box { background:#202224 !important; border-color:#202224 !important; }
.faff-forminator .forminator-consent { margin-top:5px !important; padding:17px 18px !important; background:#fff !important; border:1px solid #dfe4dc !important; border-radius:12px !important; }
.faff-forminator .forminator-consent a { color:#202224 !important; font-weight:800 !important; text-decoration-color:#86c900 !important; text-decoration-thickness:2px !important; text-underline-offset:3px !important; }
.faff-forminator .forminator-file-upload,.faff-forminator .forminator-multi-upload { padding:20px !important; background:#fff !important; border:2px dashed #aeb6ad !important; border-radius:13px !important; transition:border-color .15s ease,background .15s ease !important; }
.faff-forminator .forminator-file-upload:hover,.faff-forminator .forminator-multi-upload:hover { border-color:#86c900 !important; background:#fbfff4 !important; }
.faff-forminator .forminator-file-upload .forminator-button { box-shadow:none !important; min-height:42px !important; padding:9px 16px !important; }
.faff-forminator .forminator-error-message { margin-top:7px !important; padding:7px 9px !important; border-radius:7px !important; font-size:.83rem !important; font-weight:700 !important; }
.faff-forminator .forminator-response-message { border-radius:13px !important; padding:18px 20px !important; border-left-width:5px !important; }
.faff-forminator .forminator-pagination-footer { margin-top:8px !important; }
.faff-form-note { margin:20px 0 !important; padding:16px 18px !important; background:#f5f6f2 !important; border:1px solid #dfe4dc !important; border-left:5px solid #b7ff18 !important; border-radius:11px !important; font-size:.91rem !important; line-height:1.6 !important; color:#596268 !important; }
.faff-contact-form { max-width:760px; }
.faff-quote-form { max-width:900px; }
@media(max-width:640px){ .faff-forminator { margin:26px 0 18px; padding:24px 18px; border-radius:16px; } .faff-forminator .forminator-button,.faff-forminator button.forminator-button { width:100% !important; } .faff-forminator textarea.forminator-textarea { min-height:125px !important; } }

.faff-back-to-top { position:fixed; right:22px; bottom:22px; z-index:9999; width:88px; height:88px; padding:0; border:0; border-radius:50%; background:transparent; cursor:pointer; opacity:0; visibility:hidden; transform:translateY(14px) scale(.9); transition:opacity .2s ease,transform .2s ease,visibility .2s ease; filter:drop-shadow(0 7px 12px rgba(0,0,0,.24)); }
.faff-back-to-top.is-visible { opacity:1; visibility:visible; transform:translateY(0) scale(1); }
.faff-back-to-top img { display:block; width:100%; height:100%; object-fit:cover; border-radius:50%; }
.faff-back-to-top:hover { transform:translateY(-4px) scale(1.06); }
.faff-back-to-top:focus-visible { outline:4px solid #b7ff18; outline-offset:4px; }
@media(max-width:640px){ .faff-back-to-top { width:70px; height:70px; right:14px; bottom:14px; } }

/* FAFF RECEIVED */
.faff-received-card { position:relative; max-width:760px; margin:18px auto 10px; padding:46px 44px 42px; background:linear-gradient(145deg,#f5f7f2 0%,#fff 74%); border:1px solid #dde3da; border-top:7px solid #b7ff18; border-radius:22px; box-shadow:0 18px 46px rgba(32,34,36,.08); }
.faff-received-card:after { content:'✓'; position:absolute; top:28px; right:32px; width:52px; height:52px; display:grid; place-items:center; border-radius:50%; background:#202224; color:#b7ff18; font-size:1.35rem; font-weight:900; }
.faff-received-card .eyebrow { margin-bottom:16px; }
.faff-received-card h2 { max-width:620px; margin:0 0 20px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.4rem,6vw,4.4rem); line-height:1.03; letter-spacing:-.03em; color:#202224; }
.faff-received-card > p:not(.eyebrow):not(.faff-received-kicker) { max-width:640px; color:#505a60; font-size:1.08rem; line-height:1.7; }
.faff-received-kicker { margin:28px 0 26px; padding:16px 18px; background:#202224; color:#b7ff18; border-radius:12px; font-weight:900; }
.faff-received-card .wp-block-buttons { margin-top:4px; }
.faff-received-card .wp-block-button.button { padding:0; border:0; background:transparent; }
.faff-received-card .wp-block-button__link { background:#202224 !important; color:#b7ff18 !important; border:1px solid #202224; border-radius:10px; padding:13px 20px; font-size:.78rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; text-decoration:none; }
.faff-received-card .wp-block-button__link:hover { background:#b7ff18 !important; color:#202224 !important; }
@media(max-width:640px){ .faff-received-card { padding:34px 22px 30px; border-radius:17px; } .faff-received-card:after { position:static; margin:0 0 20px; width:44px; height:44px; } }

/* Form finishing touches */
.faff-forminator .forminator-row:last-of-type { margin-bottom:8px !important; }
.faff-forminator .forminator-input::placeholder,.faff-forminator .forminator-textarea::placeholder { color:#7a8480 !important; opacity:1 !important; }
.faff-forminator .forminator-error-message { background:#fff4f2 !important; color:#8b2418 !important; border-left:4px solid #c63d2f !important; }
.faff-forminator .forminator-response-message.forminator-success { background:#f6ffe6 !important; color:#294000 !important; border-color:#86c900 !important; }
.faff-forminator a:focus-visible,.faff-forminator input:focus-visible,.faff-forminator textarea:focus-visible,.faff-forminator button:focus-visible { outline:3px solid #202224 !important; outline-offset:3px !important; }
.faff-contact-form { margin-left:auto; margin-right:auto; }
.faff-quote-form { margin-left:auto; margin-right:auto; }

/* Confirmation pages */
.faff-received-card { overflow:hidden; }
.faff-received-card:before { content:""; position:absolute; width:190px; height:190px; right:-75px; bottom:-85px; border-radius:50%; background:rgba(183,255,24,.13); pointer-events:none; }
.faff-received-card > * { position:relative; z-index:1; }
.faff-received-card .wp-block-buttons { display:flex; gap:10px; flex-wrap:wrap; }
@media(max-width:640px){ .faff-received-card .wp-block-button,.faff-received-card .wp-block-button__link { width:100%; box-sizing:border-box; text-align:center; } }

/* Legal and policy pages */
:is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) main { background:linear-gradient(180deg,#f7f9f5 0%,#fff 420px); }
:is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) .faff-page { max-width:920px; padding-top:54px; }
:is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) .faff-page > header { margin-bottom:22px; padding-bottom:16px; border-bottom:0; }
:is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) .page-title { font-family:Georgia,"Times New Roman",serif !important; font-size:clamp(2.5rem,6vw,4.4rem) !important; font-weight:700 !important; text-transform:none !important; letter-spacing:-.035em !important; line-height:1.02 !important; }
:is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) .prose { position:relative; padding:42px 44px 46px; background:#fff; border:1px solid #dfe4dc; border-top:6px solid #b7ff18; border-radius:20px; box-shadow:0 18px 46px rgba(32,34,36,.07); color:#424b50; font-size:1rem; line-height:1.75; }
:is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) .prose:before { content:"THE IMPORTANT STUFF"; display:inline-block; margin:0 0 22px; padding:7px 11px; background:#202224; color:#b7ff18; border-radius:9px; font-size:.68rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
:is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) .prose > h1:first-child { display:none; }
:is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) .prose > h1:first-child + p { display:inline-block; margin:0 0 22px; padding:8px 12px; background:#f1f4ee; border:1px solid #dce2d8; border-radius:999px; color:#5a6469; font-size:.8rem; line-height:1.4; }
:is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) .prose > h1:first-child + p + p { margin:0 0 34px; max-width:760px; padding:0 0 28px; border-bottom:1px solid #e3e7e0; font-family:Georgia,"Times New Roman",serif; font-size:1.18rem; line-height:1.6; color:#4b555a; }
:is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) .prose > h2 { position:relative; margin:34px 0 12px; padding:0 0 11px 18px; border-bottom:1px solid #e1e5df; font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif; font-size:.9rem; font-weight:900; letter-spacing:.07em; line-height:1.35; text-transform:uppercase; color:#202224; }
:is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) .prose > h2:before { content:""; position:absolute; left:0; top:.12em; bottom:11px; width:5px; border-radius:999px; background:#b7ff18; }
:is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) .prose > h2 + p { margin:0 0 14px; max-width:none; font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif; font-size:1rem; line-height:1.75; color:#515b60; }
:is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) .prose > p { color:#515b60; }
:is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) .prose a { color:#202224; font-weight:800; text-decoration-color:#86c900; text-decoration-thickness:2px; text-underline-offset:3px; }
:is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) .prose a:hover { text-decoration-color:#202224; }
:is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) .prose > p:last-child { margin:16px 0 0; padding:0; background:transparent; border:0; border-radius:0; color:#515b60; text-align:left; overflow:visible; }
:is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) .prose > p:last-child:before { content:none; }
:is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) .prose > p:last-child a,:is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) .prose > p:last-child a:link,:is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) .prose > p:last-child a:visited { display:inline; padding:0; background:transparent !important; color:#202224 !important; border:0; border-radius:0; font-size:inherit; font-weight:800; letter-spacing:normal; text-transform:none; text-decoration:underline !important; text-decoration-color:#86c900 !important; }
@media(max-width:640px){
  :is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) .faff-page { padding-top:36px; }
  :is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) .prose { padding:28px 20px 32px; border-radius:16px; }
  :is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) .prose > h1:first-child + p + p { font-size:1.08rem; }
  :is(.page-id-14,.page-id-15,.page-id-16,.page-id-17,.page-id-18) .prose > h2 { margin-top:28px; padding-left:15px; }
}

/* Mobile navigation */
.menu-toggle { display:none; }
@media(max-width:1180px){
  .header-inner { flex-wrap:wrap; gap:10px 12px; }
  .menu-toggle { display:inline-flex; margin-left:auto; width:44px; height:44px; align-items:center; justify-content:center; flex-direction:column; gap:5px; padding:0; border:2px solid #202224; border-radius:12px; background:#fff; cursor:pointer; }
  .menu-toggle span { display:block; width:20px; height:2px; background:#202224; transition:transform .16s ease,opacity .16s ease; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .main-nav { display:none; order:4; width:100%; overflow:visible; flex-direction:column; gap:8px; padding:8px 0 2px; }
  .main-nav.is-open { display:flex; }
  .main-nav a { width:100%; box-sizing:border-box; flex:none; text-align:center; font-size:.8rem; padding:12px 14px; }
  .header-cta { margin-left:0; }
  .brand { margin-right:auto; }
}
}
