.lftc {
	--lf-ink: #17251f;
	--lf-ink-soft: #46534d;
	--lf-cream: #f7f3ed;
	--lf-paper: #fffdf9;
	--lf-sand: #e7ddd0;
	--lf-accent: #d87d4a;
	--lf-accent-dark: #b75e32;
	--lf-green-soft: #dfe7e1;
	--lf-white: #fff;
	--lf-border: rgba(23, 37, 31, 0.14);
	--lf-shadow: 0 24px 70px rgba(23, 37, 31, 0.12);
	width: min(1180px, calc(100% - 32px));
	margin: clamp(42px, 7vw, 92px) auto;
	color: var(--lf-ink-soft);
	font-family: "Inter", "Roboto", system-ui, sans-serif;
	font-size: 16px;
	line-height: 1.62;
}

/* Calculator directory */
.lfch {
	--lfch-ink: #17251f;
	--lfch-copy: #4d5a54;
	--lfch-paper: #fffdf9;
	--lfch-cream: #f7f3ed;
	--lfch-sand: #e7ddd0;
	--lfch-accent: #b75e32;
	--lfch-green: #dfe7e1;
	--lfch-border: rgba(23, 37, 31, 0.14);
	width: min(1180px, calc(100% - 32px));
	margin: 32px auto clamp(64px, 9vw, 120px);
	color: var(--lfch-copy);
	font-family: "Inter", "Roboto", system-ui, sans-serif;
	font-size: 16px;
	line-height: 1.62;
}

.lfch *,
.lfch *::before,
.lfch *::after { box-sizing: border-box; }

.lfch :is(h2, h3, p) { margin-top: 0; }

.lfch :is(h2, h3) {
	color: var(--lfch-ink);
	font-family: "Jost", "Inter", sans-serif;
	letter-spacing: -0.035em;
}

.lfch-eyebrow {
	margin-bottom: 12px;
	color: var(--lfch-accent);
	font-size: 0.71rem;
	font-weight: 800;
	letter-spacing: 0.17em;
	line-height: 1.3;
	text-transform: uppercase;
}

.lfch-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(290px, 0.6fr);
	gap: clamp(32px, 6vw, 80px);
	align-items: center;
	padding: clamp(34px, 7vw, 84px);
	border: 1px solid var(--lfch-border);
	border-radius: 30px;
	background:
		radial-gradient(circle at 90% 10%, rgba(216, 125, 74, 0.16), transparent 28%),
		linear-gradient(135deg, var(--lfch-paper), var(--lfch-cream));
	box-shadow: 0 24px 70px rgba(23, 37, 31, 0.1);
}

.lfch-hero h2 {
	max-width: 720px;
	margin-bottom: 22px;
	font-size: clamp(2.55rem, 5.7vw, 5rem);
	font-weight: 500;
	line-height: 0.98;
	text-wrap: balance;
}

.lfch-lead {
	max-width: 690px;
	margin-bottom: 30px;
	font-size: clamp(1rem, 1.5vw, 1.14rem);
}

.lfch-jump {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.lfch-jump a,
.lfch-guidance a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 11px 18px;
	border: 1px solid var(--lfch-ink);
	border-radius: 999px;
	color: var(--lfch-ink);
	font-size: 0.79rem;
	font-weight: 750;
	line-height: 1.25;
	text-decoration: none;
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.lfch-jump a:first-child,
.lfch-jump a:hover,
.lfch-jump a:focus-visible,
.lfch-guidance a:hover,
.lfch-guidance a:focus-visible {
	background: var(--lfch-ink);
	color: #fff;
}

.lfch-jump a:hover,
.lfch-guidance a:hover { transform: translateY(-2px); }

.lfch-hero-panel {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border: 1px solid var(--lfch-border);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.68);
	overflow: hidden;
}

.lfch-hero-panel > div {
	min-height: 126px;
	padding: 22px;
	border-right: 1px solid var(--lfch-border);
	border-bottom: 1px solid var(--lfch-border);
}

.lfch-hero-panel > div:nth-child(2n) { border-right: 0; }
.lfch-hero-panel > div:nth-last-child(-n + 2) { border-bottom: 0; }

.lfch-hero-panel strong,
.lfch-hero-panel span { display: block; }

.lfch-hero-panel strong {
	margin-bottom: 7px;
	color: var(--lfch-ink);
	font-family: "Jost", sans-serif;
	font-size: clamp(1.25rem, 2.4vw, 1.75rem);
	font-weight: 600;
	letter-spacing: -0.025em;
	line-height: 1.08;
}

.lfch-hero-panel span {
	font-size: 0.72rem;
	line-height: 1.4;
}

.lfch-principles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 22px 0 clamp(72px, 10vw, 126px);
	border-top: 1px solid var(--lfch-border);
	border-bottom: 1px solid var(--lfch-border);
}

.lfch-principles > div {
	display: grid;
	grid-template-columns: 34px 1fr;
	gap: 12px;
	padding: 25px 28px;
	border-right: 1px solid var(--lfch-border);
}

.lfch-principles > div:last-child { border-right: 0; }

.lfch-principles span {
	color: var(--lfch-accent);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.lfch-principles p { margin-bottom: 0; font-size: 0.85rem; }
.lfch-principles strong { display: block; color: var(--lfch-ink); font-size: 0.9rem; }

.lfch-collection {
	margin-bottom: clamp(74px, 10vw, 124px);
	scroll-margin-top: 32px;
}

.lfch-collection-header {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(300px, 1.2fr);
	gap: clamp(28px, 7vw, 100px);
	align-items: end;
	margin-bottom: 34px;
}

.lfch-collection-header h2,
.lfch-process h2,
.lfch-guidance h2 {
	margin-bottom: 0;
	font-size: clamp(2rem, 4vw, 3.5rem);
	font-weight: 500;
	line-height: 1.02;
	text-wrap: balance;
}

.lfch-collection-header > p { max-width: 650px; margin-bottom: 0; }

.lfch-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.lfch-card {
	display: flex;
	min-height: 330px;
	flex-direction: column;
	padding: clamp(25px, 4vw, 38px);
	border: 1px solid var(--lfch-border);
	border-radius: 20px;
	background: var(--lfch-paper);
	box-shadow: 0 14px 38px rgba(23, 37, 31, 0.055);
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.lfch-card:hover {
	border-color: rgba(183, 94, 50, 0.45);
	box-shadow: 0 22px 50px rgba(23, 37, 31, 0.1);
	transform: translateY(-4px);
}

.lfch-card-topline {
	display: flex;
	gap: 16px;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 36px;
	padding-bottom: 15px;
	border-bottom: 1px solid var(--lfch-border);
}

.lfch-card-topline span {
	color: var(--lfch-accent);
	font-size: 0.73rem;
	font-weight: 800;
	letter-spacing: 0.1em;
}

.lfch-card-topline small {
	color: #6c7771;
	font-size: 0.69rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-align: right;
}

.lfch-card h3 {
	margin-bottom: 14px;
	font-size: clamp(1.45rem, 2.5vw, 2rem);
	font-weight: 600;
	line-height: 1.1;
}

.lfch-card p { max-width: 570px; margin-bottom: 30px; }

.lfch-card > a {
	display: flex;
	gap: 18px;
	align-items: center;
	justify-content: space-between;
	margin-top: auto;
	padding-top: 17px;
	border-top: 1px solid var(--lfch-border);
	color: var(--lfch-ink);
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-decoration: none;
}

.lfch-card > a span:last-child {
	font-size: 1.25rem;
	transition: transform 160ms ease;
}

.lfch-card > a:hover span:last-child,
.lfch-card > a:focus-visible span:last-child { transform: translateX(5px); }

.lfch-process {
	display: grid;
	grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
	gap: clamp(40px, 8vw, 110px);
	margin-bottom: 24px;
	padding: clamp(34px, 7vw, 76px);
	border-radius: 28px;
	background: var(--lfch-ink);
	color: rgba(255, 255, 255, 0.72);
}

.lfch-process h2,
.lfch-process h3 { color: #fff; }
.lfch-process header > p:last-child { margin: 24px 0 0; }

.lfch-process ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.lfch-process li {
	display: grid;
	grid-template-columns: 46px 1fr;
	gap: 18px;
	padding: 24px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.lfch-process li:first-child { padding-top: 0; }
.lfch-process li:last-child { padding-bottom: 0; border-bottom: 0; }

.lfch-process li > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 50%;
	color: #fff;
	font-size: 0.75rem;
	font-weight: 800;
}

.lfch-process h3 { margin-bottom: 6px; font-size: 1.14rem; font-weight: 600; }
.lfch-process li p { margin-bottom: 0; font-size: 0.86rem; }

.lfch-guidance {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border: 1px solid var(--lfch-border);
	border-radius: 24px;
	background: var(--lfch-cream);
	overflow: hidden;
}

.lfch-guidance > div { padding: clamp(30px, 5vw, 58px); }
.lfch-guidance > div + div { border-left: 1px solid var(--lfch-border); background: var(--lfch-paper); }
.lfch-guidance h2 { margin-bottom: 24px; font-size: clamp(1.7rem, 3vw, 2.65rem); }

.lfch-guidance ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.lfch-guidance li {
	position: relative;
	margin-bottom: 13px;
	padding-left: 22px;
}

.lfch-guidance li::before {
	position: absolute;
	top: 0.7em;
	left: 0;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--lfch-accent);
	content: "";
}

.lfch-guidance p:not(.lfch-eyebrow) { margin-bottom: 28px; }

.lfch :is(a, button):focus-visible {
	outline: 3px solid rgba(216, 125, 74, 0.48);
	outline-offset: 4px;
}

@media (max-width: 880px) {
	.lfch-hero,
	.lfch-process { grid-template-columns: 1fr; }
	.lfch-collection-header { grid-template-columns: 1fr; gap: 18px; }
	.lfch-principles { grid-template-columns: 1fr; }
	.lfch-principles > div { border-right: 0; border-bottom: 1px solid var(--lfch-border); }
	.lfch-principles > div:last-child { border-bottom: 0; }
}

@media (max-width: 680px) {
	.lfch { width: min(100% - 22px, 1180px); }
	.lfch-hero { padding: 28px 22px; border-radius: 22px; }
	.lfch-hero h2 { font-size: clamp(2.25rem, 13vw, 3.6rem); }
	.lfch-hero-panel { grid-template-columns: 1fr; }
	.lfch-hero-panel > div,
	.lfch-hero-panel > div:nth-child(2n),
	.lfch-hero-panel > div:nth-last-child(-n + 2) { min-height: auto; border-right: 0; border-bottom: 1px solid var(--lfch-border); }
	.lfch-hero-panel > div:last-child { border-bottom: 0; }
	.lfch-jump { flex-direction: column; align-items: stretch; }
	.lfch-grid,
	.lfch-guidance { grid-template-columns: 1fr; }
	.lfch-card { min-height: 300px; }
	.lfch-card-topline { align-items: flex-start; flex-direction: column; gap: 7px; }
	.lfch-card-topline small { text-align: left; }
	.lfch-process { padding: 34px 24px; border-radius: 22px; }
	.lfch-guidance > div + div { border-top: 1px solid var(--lfch-border); border-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.lfch *,
	.lfch *::before,
	.lfch *::after { scroll-behavior: auto !important; transition: none !important; }
}

.lftc *,
.lftc *::before,
.lftc *::after { box-sizing: border-box; }

.lftc [hidden] { display: none !important; }

.lftc h2,
.lftc h3,
.lftc p { margin-top: 0; }

.lftc h2,
.lftc h3 {
	color: var(--lf-ink);
	font-family: "Jost", "Inter", sans-serif;
	font-weight: 500;
	letter-spacing: -0.035em;
}

.lftc-eyebrow {
	margin-bottom: 13px;
	color: var(--lf-accent-dark);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.17em;
	line-height: 1.3;
	text-transform: uppercase;
}

.lftc-tool-header {
	max-width: 850px;
	margin: 0 auto clamp(38px, 6vw, 64px);
	text-align: center;
}

.lftc-tool-header h2 {
	margin-bottom: 20px;
	font-size: clamp(2.55rem, 6vw, 5.2rem);
	line-height: 1;
	text-wrap: balance;
}

.lftc-tool-header > p:last-child {
	max-width: 700px;
	margin: 0 auto;
	font-size: clamp(1rem, 1.7vw, 1.14rem);
}

.lftc-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(350px, 0.88fr);
	align-items: stretch;
	border: 1px solid var(--lf-border);
	border-radius: 28px;
	background: var(--lf-white);
	box-shadow: var(--lf-shadow);
	overflow: hidden;
}

.lftc-form { padding: clamp(30px, 5vw, 62px); }

.lftc-form-title {
	display: grid;
	grid-template-columns: 46px 1fr;
	gap: 15px;
	align-items: start;
	margin-bottom: 34px;
}

.lftc-form-title > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--lf-green-soft);
	color: var(--lf-ink);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.lftc-form-title h3,
.lftc-results > h3 {
	margin-bottom: 5px;
	font-size: clamp(1.65rem, 3vw, 2.25rem);
	line-height: 1.08;
}

.lftc-form-title p {
	margin-bottom: 0;
	font-size: 0.86rem;
}

.lftc-fieldset {
	min-width: 0;
	margin: 0 0 28px;
	padding: 0;
	border: 0;
}

.lftc-fieldset legend,
.lftc-field > label {
	display: block;
	margin-bottom: 9px;
	color: var(--lf-ink);
	font-size: 0.9rem;
	font-weight: 750;
	letter-spacing: -0.01em;
}

.lftc-field > label small {
	color: #78817c;
	font-size: 0.7rem;
	font-weight: 500;
}

.lftc-segmented {
	display: inline-grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: 4px;
	border: 1px solid var(--lf-border);
	border-radius: 999px;
	background: var(--lf-cream);
}

.lftc-segmented label,
.lftc-fullness label,
.lftc-card-choices label {
	position: relative;
	margin: 0;
	cursor: pointer;
}

.lftc-segmented input,
.lftc-fullness input,
.lftc-card-choices input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.lftc-segmented span {
	display: block;
	min-width: 124px;
	padding: 9px 18px;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 700;
	text-align: center;
	transition: background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.lftc-segmented input:checked + span {
	background: var(--lf-ink);
	box-shadow: 0 5px 14px rgba(23, 37, 31, 0.14);
	color: var(--lf-white);
}

.lftc :is(input, select, summary, button):focus-visible,
.lftc label:has(input:focus-visible) > span {
	outline: 3px solid rgba(216, 125, 74, 0.42);
	outline-offset: 3px;
}

.lftc-fields-two {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-bottom: 28px;
}

.lftc-field { margin-bottom: 28px; }
.lftc-fields-two .lftc-field { margin-bottom: 0; }

.lftc-input,
.lftc-select {
	display: flex;
	align-items: center;
	min-height: 56px;
	border: 1px solid var(--lf-border);
	border-radius: 13px;
	background: var(--lf-paper);
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

.lftc-input:focus-within,
.lftc-select:focus-within {
	border-color: var(--lf-accent-dark);
	box-shadow: 0 0 0 4px rgba(216, 125, 74, 0.11);
}

.lftc-input input,
.lftc-select select {
	width: 100%;
	min-width: 0;
	height: 54px;
	padding: 0 9px 0 16px;
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--lf-ink);
	font: inherit;
	font-size: 0.95rem;
	font-weight: 700;
}

.lftc-select {
	position: relative;
}

.lftc-select::after {
	position: absolute;
	right: 18px;
	width: 9px;
	height: 9px;
	border-right: 2px solid var(--lf-accent-dark);
	border-bottom: 2px solid var(--lf-accent-dark);
	content: "";
	pointer-events: none;
	transform: translateY(-3px) rotate(45deg);
}

.lftc-select select {
	padding-right: 48px;
	appearance: none;
}

.lftc-input span {
	min-width: 46px;
	padding: 0 14px 0 7px;
	color: #6d7772;
	font-size: 0.8rem;
	font-weight: 700;
	text-align: right;
}

.lftc-help {
	margin: 7px 0 0;
	color: #6d7772;
	font-size: 0.77rem;
	line-height: 1.48;
}

.lftc-fullness {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 9px;
}

.lftc-fullness span,
.lftc-card-choices span {
	display: flex;
	height: 100%;
	flex-direction: column;
	border: 1px solid var(--lf-border);
	background: var(--lf-white);
	transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.lftc-fullness span {
	align-items: center;
	padding: 16px 7px 14px;
	border-radius: 13px;
	text-align: center;
}

.lftc-fullness strong {
	color: var(--lf-ink);
	font-family: "Jost", sans-serif;
	font-size: 1.17rem;
}

.lftc-fullness small,
.lftc-card-choices small {
	color: #707a75;
	font-size: 0.7rem;
}

.lftc-fullness input:checked + span,
.lftc-card-choices input:checked + span {
	border-color: var(--lf-accent-dark);
	background: rgba(216, 125, 74, 0.08);
	box-shadow: inset 0 0 0 1px var(--lf-accent-dark);
}

.lftc-card-choices {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 11px;
}

.lftc-card-choices span {
	position: relative;
	padding: 17px 17px 16px 46px;
	border-radius: 13px;
}

.lftc-card-choices span::before {
	position: absolute;
	top: 19px;
	left: 17px;
	width: 17px;
	height: 17px;
	border: 2px solid #9da59f;
	border-radius: 50%;
	content: "";
}

.lftc-card-choices input:checked + span::before { border: 5px solid var(--lf-accent-dark); }

.lftc-card-choices strong {
	margin-bottom: 1px;
	color: var(--lf-ink);
	font-size: 0.84rem;
}

.lftc-mode-choices { margin-bottom: 4px; }
.lftc-segmented-small span { min-width: 96px; }

.lftc-comparison-heading {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin: 6px 0 10px;
	color: var(--lf-accent-dark);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.lftc-test-tip {
	margin: 6px 0 25px;
	padding: 17px 18px;
	border: 1px solid var(--lf-border);
	border-radius: 12px;
	background: var(--lf-cream);
}

.lftc-test-tip strong {
	display: block;
	margin-bottom: 3px;
	color: var(--lf-ink);
	font-size: 0.8rem;
}

.lftc-test-tip p {
	margin-bottom: 0;
	font-size: 0.76rem;
}

.lftc-fields-measure-unit { grid-template-columns: minmax(0, 1.15fr) minmax(150px, 0.85fr); }

.lftc-advanced {
	margin: 30px 0 24px;
	border-top: 1px solid var(--lf-border);
	border-bottom: 1px solid var(--lf-border);
}

.lftc-advanced summary {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 20px 44px 20px 0;
	color: var(--lf-ink);
	cursor: pointer;
	font-size: 0.88rem;
	font-weight: 750;
	list-style: none;
}

.lftc-advanced summary::-webkit-details-marker { display: none; }

.lftc-advanced summary::after {
	position: absolute;
	top: 50%;
	right: 8px;
	width: 10px;
	height: 10px;
	border-right: 2px solid var(--lf-accent-dark);
	border-bottom: 2px solid var(--lf-accent-dark);
	content: "";
	transform: translateY(-70%) rotate(45deg);
	transition: transform 180ms ease;
}

.lftc-advanced[open] summary::after { transform: translateY(-30%) rotate(225deg); }

.lftc-advanced summary small {
	color: #727c77;
	font-size: 0.74rem;
	font-weight: 400;
}

.lftc-advanced-fields {
	padding: 5px 0 26px;
	margin-bottom: 0;
}

.lftc-error {
	margin: 20px 0;
	padding: 13px 15px;
	border: 1px solid #c97162;
	border-radius: 10px;
	background: #fff2ef;
	color: #7e3026;
	font-size: 0.82rem;
}

.lftc-reset {
	padding: 7px 0;
	border: 0;
	border-bottom: 1px solid currentColor;
	background: transparent;
	color: var(--lf-accent-dark);
	cursor: pointer;
	font: inherit;
	font-size: 0.78rem;
	font-weight: 750;
}

.lftc-results {
	min-width: 0;
	padding: clamp(30px, 5vw, 58px);
	background:
		radial-gradient(circle at 90% 5%, rgba(216, 125, 74, 0.19), transparent 17rem),
		var(--lf-ink);
	color: rgba(255, 255, 255, 0.76);
}

.lftc-results > h3 { color: var(--lf-white); }

.lftc-results.is-invalid > :not(.lftc-eyebrow, h3) {
	opacity: 0.28;
	pointer-events: none;
}

.lftc-primary {
	margin: 12px 0 2px;
	color: var(--lf-white);
	font-family: "Jost", sans-serif;
	font-size: clamp(2.45rem, 5vw, 4rem);
	font-weight: 500;
	letter-spacing: -0.05em;
	line-height: 1;
}

.lftc-primary-caption {
	min-height: 1.5em;
	margin-bottom: 28px;
	font-size: 0.78rem;
}

.lftc-gsm-visual {
	display: grid;
	grid-template-columns: 1fr 0.78fr;
	align-items: center;
	gap: 28px;
	min-height: 150px;
	margin: 28px 0;
	padding: 26px;
	border-radius: 17px;
	background: linear-gradient(145deg, #eef2ef, #d8e2dd);
	color: var(--lf-ink);
}

.lftc-gsm-visual > div:last-child {
	display: flex;
	flex-direction: column;
}

.lftc-gsm-visual strong {
	font-family: "Jost", sans-serif;
	font-size: 2.2rem;
	font-weight: 600;
	letter-spacing: -0.04em;
	line-height: 1;
}

.lftc-gsm-visual small {
	margin-top: 6px;
	font-size: 0.68rem;
	line-height: 1.35;
}

.lftc-fabric-stack {
	position: relative;
	height: 90px;
}

.lftc-fabric-stack span {
	position: absolute;
	left: 4%;
	width: 88%;
	height: 54px;
	border-radius: 8px;
	background: repeating-linear-gradient(135deg, #c66a3d 0, #e39a72 8px, #ca7044 16px);
	box-shadow: 0 8px 15px rgba(74, 43, 28, 0.14);
	transform: skewX(-7deg);
}

.lftc-fabric-stack span:nth-child(1) { top: 32px; left: 13%; }
.lftc-fabric-stack span:nth-child(2) { top: 22px; left: 10%; }
.lftc-fabric-stack span:nth-child(3) { top: 12px; left: 7%; }
.lftc-fabric-stack span:nth-child(4) { top: 2px; }

.lftc-shrink-visual {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center;
	gap: 24px;
	height: 175px;
	margin: 28px 0;
	padding: 20px;
	border: 9px solid rgba(255, 255, 255, 0.08);
	border-radius: 17px;
	background: linear-gradient(145deg, #e9efeb, #d7e1dc);
}

.lftc-before-sample,
.lftc-after-sample {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 110px;
	border: 1px dashed rgba(23, 37, 31, 0.35);
	background: repeating-linear-gradient(45deg, #d78153 0, #e9aa85 9px, #ce7447 18px);
	box-shadow: 0 10px 20px rgba(72, 43, 29, 0.14);
	color: #fff;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.lftc-roll-visual {
	position: relative;
	height: 168px;
	margin: 28px 0;
	border: 9px solid rgba(255, 255, 255, 0.08);
	border-radius: 17px;
	background: linear-gradient(145deg, #e7eeea, #ccd9d2);
	overflow: hidden;
}

.lftc-roll-body {
	position: absolute;
	top: 37px;
	right: 18%;
	left: 23%;
	height: 88px;
	border-radius: 8px 45px 45px 8px;
	background: repeating-linear-gradient(0deg, #c66a3d 0, #e39a72 6px, #c96d41 12px);
	box-shadow: 0 16px 25px rgba(66, 38, 25, 0.2);
}

.lftc-roll-end {
	position: absolute;
	z-index: 2;
	top: 37px;
	left: 16%;
	width: 88px;
	height: 88px;
	border-radius: 50%;
	background: radial-gradient(circle, #765343 0 12%, #e5a17b 13% 27%, #b85e35 28% 48%, #df8c61 49% 70%, #b75d35 71%);
	box-shadow: -6px 13px 20px rgba(66, 38, 25, 0.18);
}

.lftc-roll-core {
	position: absolute;
	z-index: 3;
	top: 72px;
	left: calc(16% + 35px);
	width: 78%;
	height: 18px;
	border-radius: 99px;
	background: linear-gradient(#876c5e, #5f493f);
	box-shadow: 0 5px 8px rgba(39, 25, 18, 0.2);
}

.lftc-length-cost-visual {
	position: relative;
	height: 156px;
	margin: 28px 0;
	border: 9px solid rgba(255, 255, 255, 0.08);
	border-radius: 17px;
	background: linear-gradient(145deg, #e8efeb, #d3dfd8);
	overflow: hidden;
}

.lftc-cost-fabric {
	position: absolute;
	right: 8%;
	top: 28px;
	width: 72%;
	height: 86px;
	border-radius: 8px;
	background:
		linear-gradient(90deg, transparent 49%, rgba(255, 255, 255, 0.18) 50%, transparent 51%),
		repeating-linear-gradient(135deg, #c66a3d 0, #e49a71 10px, #c2693e 20px);
	box-shadow: 0 15px 25px rgba(67, 39, 25, 0.2);
	transform: perspective(380px) rotateY(-9deg);
}

.lftc-ruler {
	position: absolute;
	z-index: 2;
	right: 5%;
	bottom: 16px;
	left: 7%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 24px;
	padding: 0 8px;
	border-radius: 3px;
	background: repeating-linear-gradient(90deg, #e5c65a 0, #e5c65a 9px, #806f2f 10px, #e5c65a 11px);
	box-shadow: 0 5px 10px rgba(54, 47, 19, 0.2);
	color: #463e1b;
	font-size: 0.64rem;
	font-weight: 800;
}

.lftc-after-sample {
	width: 100%;
	height: 110px;
	justify-self: center;
	background: repeating-linear-gradient(45deg, #ad5b35 0, #da8a60 9px, #b9633b 18px);
	transform: scale(var(--after-width), var(--after-height));
}

.lftc-window {
	position: relative;
	height: 150px;
	margin: 28px 0;
	border: 9px solid rgba(255, 255, 255, 0.08);
	border-radius: 17px;
	background: linear-gradient(#e9f0ed, #d4ded9);
	overflow: hidden;
}

.lftc-window::after {
	position: absolute;
	inset: 45% 0 auto;
	height: 5px;
	background: rgba(255, 255, 255, 0.55);
	content: "";
}

.lftc-window-rod {
	position: absolute;
	z-index: 3;
	top: 7px;
	left: 6%;
	width: 88%;
	height: 5px;
	border-radius: 99px;
	background: #65564d;
}

.lftc-window-rod::before,
.lftc-window-rod::after {
	position: absolute;
	top: -4px;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: inherit;
	content: "";
}

.lftc-window-rod::before { left: -5px; }
.lftc-window-rod::after { right: -5px; }

.lftc-window-panels {
	position: absolute;
	z-index: 2;
	inset: 11px 5% 0;
	display: flex;
	justify-content: space-between;
	gap: 3px;
}

.lftc-window-panels span {
	width: 50%;
	background: repeating-linear-gradient(90deg, #c66a3d 0, #e49a71 10%, #c2663a 20%, #e7a57f 31%);
	box-shadow: inset -8px 0 16px rgba(84, 40, 22, 0.13);
	clip-path: polygon(2% 0, 98% 0, 100% 100%, 0 100%);
}

.lftc-window-panels.is-single span:first-child { width: 100%; }
.lftc-window-panels.is-single span:last-child { display: none; }

.lftc-window-panels[data-fullness="1.5"] span { background-size: 48px 100%; }
.lftc-window-panels[data-fullness="2.5"] span { background-size: 33px 100%; }
.lftc-window-panels[data-fullness="3"] span { background-size: 27px 100%; }

.lftc-result-list {
	margin: 26px 0;
}

.lftc-result-list > div {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 18px;
	padding: 11px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.lftc-result-list dt { font-size: 0.77rem; }

.lftc-result-list dd {
	margin: 0;
	color: var(--lf-white);
	font-size: 0.87rem;
	font-weight: 750;
	text-align: right;
}

.lftc-note {
	padding: 14px 15px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.07);
	font-size: 0.77rem;
	line-height: 1.52;
}

.lftc-note strong { color: var(--lf-white); }

.lftc-note + .lftc-note { margin-top: 10px; }

.lftc-actions button:disabled {
	border-color: rgba(255, 255, 255, 0.16);
	background: transparent;
	color: rgba(255, 255, 255, 0.42);
	cursor: not-allowed;
}

.lftc-actions button:disabled:hover {
	border-color: rgba(255, 255, 255, 0.16);
	background: transparent;
}

.lftc-actions { margin-top: 18px; }

.lftc-actions button {
	width: 100%;
	min-height: 48px;
	padding: 11px 18px;
	border: 1px solid rgba(255, 255, 255, 0.36);
	border-radius: 999px;
	background: transparent;
	color: var(--lf-white);
	cursor: pointer;
	font: inherit;
	font-size: 0.8rem;
	font-weight: 750;
	transition: background-color 160ms ease, border-color 160ms ease;
}

.lftc-actions button:hover {
	border-color: var(--lf-accent);
	background: var(--lf-accent);
}

.lftc-copy-status {
	min-height: 1.4em;
	margin: 7px 0 0;
	font-size: 0.7rem;
	text-align: center;
}

.lftc-length-visual {
	position: relative;
	height: 238px;
	margin: 28px 0;
	border: 9px solid rgba(255, 255, 255, 0.08);
	border-radius: 17px;
	background: #e9efeb;
	overflow: hidden;
}

.lftc-length-window {
	position: absolute;
	top: 22px;
	left: 20%;
	width: 60%;
	height: 118px;
	border: 7px solid #f8f3ec;
	background: linear-gradient(145deg, #d1e0e0, #edf2ef);
	box-shadow: 0 0 0 1px rgba(23, 37, 31, 0.12);
}

.lftc-length-window::before,
.lftc-length-window::after {
	position: absolute;
	background: rgba(255, 255, 255, 0.7);
	content: "";
}

.lftc-length-window::before { inset: 48% 0 auto; height: 5px; }
.lftc-length-window::after { inset: 0 auto 0 48%; width: 5px; }

.lftc-length-curtain {
	position: absolute;
	z-index: 2;
	top: 12px;
	right: 13%;
	bottom: 19px;
	left: 13%;
	display: flex;
	gap: 18%;
}

.lftc-length-curtain span {
	width: 41%;
	background: repeating-linear-gradient(90deg, #c66a3d 0, #e49a71 12%, #c2663a 24%, #e7a57f 36%);
	box-shadow: 0 9px 18px rgba(76, 39, 22, 0.18);
}

.lftc-length-floor {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 20px;
	background: repeating-linear-gradient(90deg, #b79e83 0, #d6c3ad 55px, #aa9179 56px, #aa9179 58px);
}

.lftc-length-visual[data-finish="breaking"] .lftc-length-curtain { bottom: 13px; }
.lftc-length-visual[data-finish="breaking"] .lftc-length-curtain span { border-radius: 0 0 13px 13px; }
.lftc-length-visual[data-finish="puddling"] .lftc-length-curtain { bottom: 7px; }
.lftc-length-visual[data-finish="puddling"] .lftc-length-curtain span { border-radius: 0 0 24px 24px; transform: scaleX(1.12); transform-origin: bottom; }
.lftc-length-visual[data-finish="sill"] .lftc-length-curtain,
.lftc-length-visual[data-finish="below-sill"] .lftc-length-curtain { bottom: 92px; }
.lftc-length-visual[data-finish="below-sill"] .lftc-length-curtain { bottom: 65px; }

.lftc-disclaimer {
	max-width: 910px;
	margin: 24px auto 0;
	color: #68736d;
	font-size: 0.75rem;
	line-height: 1.55;
	text-align: center;
}

.lftc-admin-notice {
	padding: 12px 15px;
	border-left: 4px solid #d87d4a;
	background: #fff8f2;
}

@media (max-width: 920px) {
	.lftc-layout { grid-template-columns: 1fr; }
	.lftc-results { min-height: auto; }
}

@media (max-width: 620px) {
	.lftc {
		width: min(100% - 20px, 1180px);
		margin-block: 34px 54px;
	}

	.lftc-tool-header h2 { font-size: clamp(2.35rem, 12vw, 3.6rem); }

	.lftc-layout { border-radius: 20px; }
	.lftc-form,
	.lftc-results { padding: 28px 20px; }

	.lftc-fields-two,
	.lftc-card-choices { grid-template-columns: 1fr; }

	.lftc-comparison-heading { display: none; }

	.lftc-fullness { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	.lftc-segmented {
		display: grid;
		width: 100%;
	}

	.lftc-segmented span { min-width: 0; padding-inline: 10px; }
	.lftc-result-list > div { align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
	.lftc *,
	.lftc *::before,
	.lftc *::after { transition-duration: 0.01ms !important; }
}

@media print {
	.lftc-tool-header,
	.lftc-form,
	.lftc-actions,
	.lftc-copy-status,
	.lftc-disclaimer { display: none !important; }

	.lftc,
	.lftc-layout { width: 100%; margin: 0; border: 0; box-shadow: none; }
	.lftc-layout { display: block; }
	.lftc-results { background: #fff; color: #222; }
	.lftc-results > h3,
	.lftc-primary,
	.lftc-result-list dd,
	.lftc-note strong { color: #111; }
	.lftc-note { border: 1px solid #ddd; }
}
