/*
 * GFD 2026: www skin for service landing pages (Recife + Fakt on cream bands).
 *
 * The page files under gfd/pages/services/ use the .gfd-lp class contract from gfd-one's
 * marketing/site/build.mjs. GFD ONE keeps its own look; on www, gfd/tracked-services.php drops
 * each file's own <style> and font links and this sheet styles the same markup instead.
 * Loaded only on tracked service pages (gfd/lp/lp.php).
 *
 * Rhythm: cream page, forest hero card, white hairline cards, mint proof band,
 * coral closing band. Fakt Pro for text, Recife Display only on H1 and H2.
 *
 * Depth and motion follow GFD ONE's design language (gfd-one docs/design/gfd-design-language.md):
 * 1px hairlines, soft layered shadows tinted to the brand (never grey, never hard), a 2px lift
 * on hover, 150 to 250ms transitions, and one 500ms rise as sections enter. Without JS, or under
 * reduced motion, every section renders in its final state.
 */
.gfd-lp {
	--lp-page: #f9f9f5;
	--lp-surface: #ffffff;
	--lp-ink: #242e35;
	--lp-body: #3a464e;
	--lp-copy: #55626a;
	--lp-forest: #113524;
	--lp-mint: #d5fce9;
	--lp-coral: #f59386;
	--lp-line: rgba(17, 53, 36, .12);
	--lp-line-strong: rgba(17, 53, 36, .22);
	/* Depth: GFD ONE's three-layer shadows, tinted forest instead of warm brown. */
	--lp-shadow-card: 0 1px 1px rgba(17, 40, 28, .04), 0 2px 6px -2px rgba(17, 40, 28, .06), 0 12px 28px -18px rgba(17, 40, 28, .18);
	--lp-shadow-lift: 0 1px 1px rgba(17, 40, 28, .05), 0 6px 14px -6px rgba(17, 40, 28, .10), 0 22px 44px -22px rgba(17, 40, 28, .26);
	--lp-shadow-float: 0 1px 0 rgba(255, 255, 255, .5) inset, 0 2px 8px -2px rgba(17, 40, 28, .08), 0 28px 64px -28px rgba(17, 40, 28, .30);
	--lp-shadow-hero: 0 1px 0 rgba(255, 255, 255, .08) inset, 0 30px 80px -24px rgba(12, 30, 20, .45), 0 12px 28px -14px rgba(12, 30, 20, .30);
	--lp-r-sm: 8px;
	--lp-r-card: 12px;
	--lp-r-hero: 18px;
	--lp-ease: cubic-bezier(.2, .7, .2, 1);
	--lp-fast: 180ms;
	--lp-text: "Fakt Pro Normal", "Fakt Pro Medium", system-ui, -apple-system, "Segoe UI", sans-serif;
	--lp-strong: "Fakt Pro Semi Bold", "Fakt Pro Medium", system-ui, -apple-system, "Segoe UI", sans-serif;
	--lp-display: "Recife Display Black", Georgia, "Times New Roman", serif;
	background: var(--lp-page);
	color: var(--lp-body);
	font-family: var(--lp-text);
	font-size: 18px;
	line-height: 1.6;
	padding: 112px 16px 0;
	margin: 0;
	text-align: left;
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}
.gfd-lp *, .gfd-lp *::before, .gfd-lp *::after { box-sizing: border-box; }
.gfd-lp .lp-wrap { max-width: 1080px; margin: 0 auto; }
.gfd-lp strong { font-family: var(--lp-strong); font-weight: 600; color: var(--lp-ink); }

/* Breadcrumbs */
.gfd-lp .lp-crumbs ol { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-wrap: wrap; font-size: 14px; color: var(--lp-copy); }
.gfd-lp .lp-crumbs li { margin: 0; }
.gfd-lp .lp-crumbs li + li::before { content: "/"; margin: 0 10px; opacity: .6; }
.gfd-lp .lp-crumbs a { color: var(--lp-copy); text-decoration: none; display: inline-block; padding: 4px 0; transition: color var(--lp-fast) ease; }
.gfd-lp .lp-crumbs a:hover { color: var(--lp-forest); }
.gfd-lp .lp-crumbs [aria-current] { color: var(--lp-ink); }

/* Hero: the forest card, floated like GFD ONE's product window */
.gfd-lp .lp-hero {
	position: relative;
	background: var(--lp-forest);
	color: #f9f9f5;
	border-radius: var(--lp-r-hero);
	box-shadow: var(--lp-shadow-hero);
	padding: clamp(36px, 6vw, 72px) clamp(22px, 5vw, 64px);
	margin: 0 0 24px;
	overflow: hidden;
}
/* A soft mint glow in the corner gives the forest depth without a gradient wash. */
.gfd-lp .lp-hero::before {
	content: "";
	position: absolute;
	right: -160px;
	top: -200px;
	width: 520px;
	height: 520px;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(213, 252, 233, .14), rgba(213, 252, 233, 0));
	pointer-events: none;
}
.gfd-lp .lp-hero > * { position: relative; }
.gfd-lp .lp-eyebrow { font-family: var(--lp-strong); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--lp-mint); margin: 0 0 18px; }
.gfd-lp .lp-h1 {
	font-family: var(--lp-display);
	font-weight: 800;
	font-size: clamp(2.3rem, 5.6vw, 4.4rem);
	line-height: 1.02;
	letter-spacing: -.01em;
	color: #f9f9f5;
	margin: 0 0 22px;
	max-width: 14em;
	text-wrap: balance;
	text-transform: none;
}
.gfd-lp .lp-hero .lp-p { color: rgba(249, 249, 245, .88); }
.gfd-lp .lp-hero .lp-lead, .gfd-lp .lp-hero strong { color: #ffffff; }
.gfd-lp .lp-intro .lp-p { font-size: clamp(1.08rem, 1.7vw, 1.25rem); max-width: 36em; }
.gfd-lp .lp-hero .lp-cta-note { color: rgba(249, 249, 245, .72); }

/* Text */
.gfd-lp .lp-p { font-size: 1rem; line-height: 1.65; color: var(--lp-body); margin: 0 0 14px; max-width: 44em; }
.gfd-lp .lp-lead { font-family: var(--lp-strong); color: var(--lp-ink); }
.gfd-lp .lp-k, .gfd-lp .lp-when { font-family: var(--lp-strong); font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--lp-copy); margin: 18px 0 10px; }
.gfd-lp .lp-h2 {
	font-family: var(--lp-display);
	font-weight: 800;
	font-size: clamp(1.7rem, 3.2vw, 2.5rem);
	line-height: 1.08;
	color: var(--lp-forest);
	margin: 0 0 20px;
	text-wrap: balance;
	text-transform: none;
}
.gfd-lp .lp-h3 { font-family: var(--lp-strong); font-size: 1.08rem; line-height: 1.35; color: var(--lp-ink); margin: 22px 0 6px; text-transform: none; letter-spacing: 0; }
.gfd-lp .lp-link { color: var(--lp-forest); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; transition: color var(--lp-fast) ease, text-decoration-thickness var(--lp-fast) ease; }
.gfd-lp .lp-link:hover { color: var(--lp-ink); text-decoration-thickness: 2px; }

/* Summary: the answer-first box AI engines quote */
.gfd-lp .lp-summary { background: var(--lp-mint); border: 1px solid rgba(17, 53, 36, .08); border-radius: var(--lp-r-card); box-shadow: var(--lp-shadow-card); padding: 22px clamp(18px, 3vw, 30px) 10px; margin: 0 0 24px; }
.gfd-lp .lp-summary-k { font-family: var(--lp-strong); font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--lp-forest); margin: 0 0 8px; }
.gfd-lp .lp-summary .lp-p { color: var(--lp-ink); font-size: 1.08rem; max-width: 52em; }

/* Section cards: hairline, soft shadow, one job each */
.gfd-lp .lp-card { background: var(--lp-surface); border: 1px solid var(--lp-line); border-radius: var(--lp-r-card); box-shadow: var(--lp-shadow-card); padding: clamp(28px, 4vw, 48px) clamp(20px, 4.5vw, 52px); margin: 24px 0 0; }
.gfd-lp .lp-band { background: var(--lp-mint); border-color: transparent; }

/* Proof: full-bleed mint band with floating white cards */
.gfd-lp .lp-m-proof {
	background: var(--lp-mint);
	border: 0;
	border-radius: 0;
	box-shadow: 0 0 0 100vmax var(--lp-mint);
	clip-path: inset(0 -100vmax);
	margin-top: 48px;
	padding-block: 60px;
	padding-inline: 0;
}
.gfd-lp .lp-m-proof + .lp-card { margin-top: 48px; }

/* Lists */
.gfd-lp .lp-list { margin: 0 0 14px; padding: 0 0 0 1.2em; max-width: 46em; }
.gfd-lp .lp-list li { margin: 0 0 8px; line-height: 1.55; }
.gfd-lp .lp-checks { list-style: none; margin: 4px 0 14px; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 12px 28px; }
.gfd-lp .lp-checks li { position: relative; padding: 14px 0 0 32px; border-top: 1px solid var(--lp-line); margin: 0; line-height: 1.5; }
.gfd-lp .lp-checks li::before { content: ""; position: absolute; left: 0; top: 16px; width: 22px; height: 22px; border-radius: 50%; background: var(--lp-mint); box-shadow: 0 0 0 1px rgba(17, 53, 36, .08); }
.gfd-lp .lp-checks li::after { content: ""; position: absolute; left: 7px; top: 22px; width: 8px; height: 5px; border-left: 2px solid var(--lp-forest); border-bottom: 2px solid var(--lp-forest); transform: rotate(-45deg); }
.gfd-lp .lp-num, .gfd-lp .lp-steps { list-style: none; counter-reset: lpn; margin: 4px 0 14px; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; }
.gfd-lp .lp-num li, .gfd-lp .lp-step { counter-increment: lpn; background: var(--lp-page); border: 1px solid var(--lp-line); border-radius: var(--lp-r-sm); padding: 18px 18px 16px; margin: 0; line-height: 1.5; }
.gfd-lp .lp-num li::before { content: counter(lpn, decimal-leading-zero); display: block; font-family: var(--lp-display); font-weight: 800; font-size: 1.6rem; line-height: 1; color: var(--lp-coral); margin: 0 0 10px; }
.gfd-lp .lp-step .lp-h3 { margin-top: 6px; }
.gfd-lp .lp-m-method .lp-h3 { border-top: 1px solid var(--lp-line); padding-top: 12px; }

/* Proof cards float on the mint band */
.gfd-lp .lp-proof { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin: 6px 0 20px; }
.gfd-lp .lp-proof-card { margin: 0; background: var(--lp-surface); border: 1px solid rgba(17, 53, 36, .08); border-radius: var(--lp-r-card); box-shadow: var(--lp-shadow-card); padding: 24px 24px 22px; text-align: left; }
.gfd-lp .lp-proof-card figcaption { text-align: left; } /* the legacy theme centers figcaptions */
.gfd-lp .lp-stat { font-family: var(--lp-display); font-weight: 800; font-size: clamp(2.4rem, 4vw, 3.2rem); line-height: 1; color: var(--lp-forest); margin: 0 0 12px; }
.gfd-lp .lp-proof-label { display: block; font-family: var(--lp-strong); color: var(--lp-ink); line-height: 1.4; margin: 0 0 6px; }
.gfd-lp .lp-proof-detail { display: block; font-size: .94rem; color: var(--lp-copy); line-height: 1.5; }

/* Tables sit in their own hairline frame */
.gfd-lp .lp-table-wrap { overflow-x: auto; margin: 4px 0 16px; border: 1px solid var(--lp-line); border-radius: var(--lp-r-sm); }
.gfd-lp .lp-table { width: 100%; border-collapse: collapse; font-size: .96rem; min-width: 520px; }
.gfd-lp .lp-table th, .gfd-lp .lp-table td { border-top: 1px solid var(--lp-line); padding: 14px 18px; text-align: left; vertical-align: top; color: var(--lp-body); background: none; }
.gfd-lp .lp-table thead th { font-family: var(--lp-strong); font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--lp-copy); border-top: 0; background: var(--lp-page); }
.gfd-lp .lp-table tbody th { font-family: var(--lp-strong); color: var(--lp-ink); }

/* FAQ */
.gfd-lp .lp-faq .lp-h3 { margin-top: 0; padding-top: 18px; border-top: 1px solid var(--lp-line); }
.gfd-lp .lp-faq .lp-h3:first-of-type { border-top: 0; padding-top: 0; }

/* Tiles: the one place cards move, with GFD ONE's 2px lift */
.gfd-lp .lp-tiles { list-style: none; margin: 4px 0 6px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
.gfd-lp .lp-tile { margin: 0; }
.gfd-lp .lp-tile-a {
	display: flex;
	flex-direction: column;
	gap: 6px;
	height: 100%;
	border: 1px solid var(--lp-line);
	border-radius: var(--lp-r-card);
	padding: 18px 20px;
	text-decoration: none;
	background: var(--lp-surface);
	box-shadow: var(--lp-shadow-card);
	transition: transform 220ms var(--lp-ease), box-shadow 220ms var(--lp-ease), border-color var(--lp-fast) ease;
}
.gfd-lp .lp-tile-a:hover { transform: translateY(-2px); box-shadow: var(--lp-shadow-lift); border-color: var(--lp-line-strong); }
.gfd-lp .lp-tile-t { font-family: var(--lp-strong); color: var(--lp-ink); line-height: 1.3; }
.gfd-lp .lp-tile-t::after { content: " \2192"; color: var(--lp-forest); display: inline-block; transition: transform 220ms var(--lp-ease); }
.gfd-lp .lp-tile-a:hover .lp-tile-t::after { transform: translateX(3px); }
.gfd-lp .lp-tile-d { color: var(--lp-copy); font-size: .94rem; line-height: 1.45; }
.gfd-lp .lp-hub-link { margin: 0 0 14px; }
.gfd-lp .lp-related { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.gfd-lp .lp-related li { margin: 0; }
.gfd-lp .lp-related .lp-link { display: inline-block; border: 1px solid var(--lp-line); border-radius: 999px; padding: 9px 16px; text-decoration: none; color: var(--lp-ink); font-size: .94rem; background: var(--lp-surface); min-height: 40px; transition: border-color var(--lp-fast) ease, box-shadow var(--lp-fast) ease; }
.gfd-lp .lp-related .lp-link:hover { border-color: var(--lp-line-strong); box-shadow: var(--lp-shadow-card); }
.gfd-lp .lp-strip { margin: 20px 0 0; padding: 18px 0 0; border-top: 1px solid var(--lp-line); }
.gfd-lp .lp-strip .lp-k { margin-top: 0; }

/* Who you work with */
.gfd-lp .lp-who { margin: 24px 0 0; padding: 28px clamp(20px, 4.5vw, 52px); border: 1px solid var(--lp-line); border-radius: var(--lp-r-card); background: var(--lp-surface); box-shadow: var(--lp-shadow-card); }
.gfd-lp .lp-who .lp-k { margin-top: 0; }
.gfd-lp .lp-who-n { font-family: var(--lp-display); font-weight: 800; font-size: 1.5rem; color: var(--lp-forest); margin: 0 0 2px; }
.gfd-lp .lp-who-r { font-family: var(--lp-strong); color: var(--lp-copy); margin: 0 0 12px; }

/* Buttons: one filled primary, one outlined secondary beside it */
.gfd-lp .lp-cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin: 28px 0 0; }
.gfd-lp a.lp-btn {
	display: inline-flex;
	align-items: center;
	background: var(--lp-forest);
	color: #f9f9f5;
	text-decoration: none;
	border: 1px solid var(--lp-forest);
	border-radius: 10px;
	padding: 14px 24px;
	font-family: var(--lp-strong);
	font-size: 16px;
	line-height: 1.2;
	min-height: 48px;
	box-shadow: 0 1px 0 rgba(255, 255, 255, .12) inset, 0 6px 16px -8px rgba(17, 40, 28, .45);
	transition: transform var(--lp-fast) var(--lp-ease), box-shadow var(--lp-fast) var(--lp-ease), background var(--lp-fast) ease;
}
.gfd-lp a.lp-btn:hover { background: #0c2a1c; transform: translateY(-1px); box-shadow: 0 1px 0 rgba(255, 255, 255, .12) inset, 0 12px 24px -10px rgba(17, 40, 28, .5); }
.gfd-lp a.lp-btn:active { transform: translateY(1px); box-shadow: 0 2px 6px -4px rgba(17, 40, 28, .4); }
.gfd-lp .lp-cta-row .lp-link { display: inline-flex; align-items: center; min-height: 48px; padding: 13px 20px; border: 1px solid var(--lp-line-strong); border-radius: 10px; text-decoration: none; transition: background var(--lp-fast) ease, border-color var(--lp-fast) ease; }
.gfd-lp .lp-cta-row .lp-link:hover { background: rgba(17, 53, 36, .05); border-color: var(--lp-forest); }
.gfd-lp a.lp-btn:focus-visible, .gfd-lp a:focus-visible { outline: 3px solid var(--lp-coral); outline-offset: 3px; }
.gfd-lp .lp-cta-note { font-size: 14px; color: var(--lp-copy); max-width: 44em; margin: 0; }
/* On the forest hero: mint primary, glassy outlined secondary */
.gfd-lp .lp-hero a.lp-btn { background: var(--lp-mint); border-color: var(--lp-mint); color: var(--lp-forest); box-shadow: 0 8px 24px -10px rgba(0, 0, 0, .45); }
.gfd-lp .lp-hero a.lp-btn:hover { background: #ffffff; border-color: #ffffff; color: var(--lp-forest); }
.gfd-lp .lp-hero .lp-cta-row .lp-link { color: #f9f9f5; border-color: rgba(249, 249, 245, .28); background: rgba(255, 255, 255, .06); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.gfd-lp .lp-hero .lp-cta-row .lp-link:hover { background: rgba(255, 255, 255, .12); border-color: rgba(249, 249, 245, .5); }

/* Closing CTA: full-bleed coral band */
.gfd-lp .lp-cta-band {
	background: var(--lp-coral);
	border: 0;
	border-radius: 0;
	box-shadow: 0 0 0 100vmax var(--lp-coral);
	clip-path: inset(0 -100vmax);
	margin-top: 56px;
	padding-block: 68px;
	padding-inline: 0;
}
.gfd-lp .lp-cta-band .lp-h2 { color: var(--lp-forest); font-size: clamp(2rem, 4vw, 3rem); }
.gfd-lp .lp-cta-band .lp-p, .gfd-lp .lp-cta-band .lp-cta-note { color: var(--lp-forest); }

/* Shared module: client logo strip (wordmarks until real logo files are in) */
.gfd-lp .lp-logos { margin: 8px 0 8px; padding: 22px 4px 6px; text-align: center; }
.gfd-lp .lp-logos .lp-k { margin: 0 0 14px; }
.gfd-lp .lp-logo-row { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 36px; }
.gfd-lp .lp-logo { margin: 0; font-family: var(--lp-strong); font-size: 1.12rem; letter-spacing: -.01em; color: rgba(36, 46, 53, .5); transition: color var(--lp-fast) ease; }
.gfd-lp .lp-logo:hover { color: var(--lp-forest); }

/* Shared module: case study strip */
.gfd-lp .lp-case-row { list-style: none; margin: 4px 0 8px; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.gfd-lp .lp-case { margin: 0; }
.gfd-lp .lp-case-a {
	display: flex; flex-direction: column; gap: 6px; height: 100%;
	text-decoration: none; background: var(--lp-page);
	border: 1px solid var(--lp-line); border-radius: var(--lp-r-card); overflow: hidden;
	padding: 0 0 18px; box-shadow: var(--lp-shadow-card);
	transition: transform 220ms var(--lp-ease), box-shadow 220ms var(--lp-ease), border-color var(--lp-fast) ease;
}
.gfd-lp .lp-case-a:hover { transform: translateY(-2px); box-shadow: var(--lp-shadow-lift); border-color: var(--lp-line-strong); }
.gfd-lp .lp-case-frame { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #ecede8; margin: 0 0 10px; }
.gfd-lp .lp-case-img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 420ms var(--lp-ease); }
.gfd-lp .lp-case-a:hover .lp-case-img { transform: scale(1.03); }
.gfd-lp .lp-case-stat { padding: 0 20px; font-family: var(--lp-display); font-weight: 800; font-size: 2rem; line-height: 1; color: var(--lp-forest); }
.gfd-lp .lp-case-label { padding: 0 20px; color: var(--lp-ink); line-height: 1.4; }
.gfd-lp .lp-case-more { padding: 4px 20px 0; font-family: var(--lp-strong); font-size: .94rem; color: var(--lp-forest); }
.gfd-lp .lp-case-more::after { content: " \2192"; }

/* Client roster (/clients/) */
.gfd-lp .lp-tree { scroll-margin-top: 90px; }
.gfd-lp .lp-ind { margin: 30px 0 12px; padding-top: 18px; border-top: 1px solid var(--lp-line); scroll-margin-top: 90px; }
.gfd-lp .lp-clients { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.gfd-lp .lp-client { margin: 0; padding: 16px 18px; background: var(--lp-page); border: 1px solid var(--lp-line); border-radius: var(--lp-r-card); }
.gfd-lp .lp-client-n { margin: 0 0 4px; font-family: var(--lp-strong); color: var(--lp-ink); }
.gfd-lp .lp-client-y { font-family: var(--lp-text); font-size: .86rem; color: var(--lp-copy); margin-left: 6px; }
.gfd-lp .lp-client-s { margin: 0 0 6px; font-size: .95rem; line-height: 1.5; color: var(--lp-body); }
.gfd-lp .lp-client .lp-link { font-size: .92rem; }

/* Placeholders the build marks for Joe to fill */
.gfd-lp .lp-stub { background: #fff3c4; color: #5a4300; padding: 0 4px; border-radius: 3px; }

/* Entrance: one 500ms rise per section as it scrolls in (gfd/lp/lp.js adds .lp-js).
 * No JS or reduced motion: everything stays in its final state. */
@media (prefers-reduced-motion: no-preference) {
	.gfd-lp.lp-js .lp-rise { opacity: 0; transform: translateY(8px); transition: opacity 500ms var(--lp-ease), transform 500ms var(--lp-ease); }
	.gfd-lp.lp-js .lp-rise.is-in { opacity: 1; transform: none; }
	.gfd-lp.lp-js .lp-proof-card.lp-rise:nth-child(2), .gfd-lp.lp-js .lp-tile.lp-rise:nth-child(2) { transition-delay: 40ms; }
	.gfd-lp.lp-js .lp-proof-card.lp-rise:nth-child(3), .gfd-lp.lp-js .lp-tile.lp-rise:nth-child(3) { transition-delay: 80ms; }
	.gfd-lp.lp-js .lp-tile.lp-rise:nth-child(4) { transition-delay: 120ms; }
}

/* Phones: tables stack into label/value rows instead of squeezing columns */
@media (max-width: 600px) {
	.gfd-lp { font-size: 16px; padding-top: 80px; }
	.gfd-lp .lp-crumbs ol { margin-bottom: 10px; }
	/* The hero button has to clear the first phone screen. */
	.gfd-lp .lp-hero { border-radius: 16px; padding: 26px 20px 28px; }
	.gfd-lp .lp-eyebrow { margin-bottom: 12px; }
	.gfd-lp .lp-h1 { font-size: 2.05rem; margin-bottom: 14px; }
	.gfd-lp .lp-intro .lp-p { font-size: 1rem; }
	.gfd-lp .lp-intro .lp-p + .lp-p { display: none; }
	.gfd-lp .lp-hero .lp-cta-row { margin-top: 18px; }
	.gfd-lp .lp-hero::before { right: -240px; top: -260px; }
	.gfd-lp .lp-table { min-width: 0; }
	.gfd-lp .lp-table thead { display: none; }
	.gfd-lp .lp-table, .gfd-lp .lp-table tbody, .gfd-lp .lp-table tr, .gfd-lp .lp-table th, .gfd-lp .lp-table td { display: block; width: 100%; }
	.gfd-lp .lp-table tr { border-top: 1px solid var(--lp-line); padding: 12px 16px 10px; }
	.gfd-lp .lp-table tr:first-child { border-top: 0; }
	.gfd-lp .lp-table th, .gfd-lp .lp-table td { border: 0; padding: 2px 0; }
	.gfd-lp .lp-m-fit .lp-table td:first-child::before { content: "Good fit: "; font-family: var(--lp-strong); color: var(--lp-forest); }
	.gfd-lp .lp-m-fit .lp-table td:last-child::before { content: "Not a fit: "; font-family: var(--lp-strong); color: var(--lp-copy); }
	.gfd-lp .lp-cta-row .lp-link, .gfd-lp a.lp-btn { width: 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
	.gfd-lp *, .gfd-lp *::after { transition: none !important; }
	.gfd-lp .lp-tile-a:hover, .gfd-lp a.lp-btn:hover { transform: none; }
}
