@charset "UTF-8";

/*
 * Kumamoto infidelity-compensation LP / v1.5.16 visual override
 * Loaded after lp.css. This file intentionally leaves the existing stylesheet intact.
 */

body.kilp-page {
	--kilp-navy-deep: #001b44;
	--kilp-navy: #062852;
	--kilp-green: #0d7471;
	--kilp-green-light: #e7f3f0;
	--kilp-terracotta: #ed4b0b;
	--kilp-terracotta-dark: #bd3500;
	--kilp-ivory: #fbf8f1;
	--kilp-sand: #efe7d8;
	--kilp-yellow: #ffd400;
	--kilp-ink: #10233f;
	--kilp-muted: #5b6675;
	--kilp-line: #d7dde4;
	--kilp-white: #fff;
	--kilp-shadow: 0 18px 48px rgba(0, 27, 68, .11);
	--kilp-shadow-soft: 0 8px 28px rgba(0, 27, 68, .08);
	--kilp-radius: 14px;
	background: var(--kilp-ivory);
	color: var(--kilp-ink);
	font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}

body.kilp-page .kilp-site {
	background: var(--kilp-white);
}

body.kilp-page .kilp-root {
	background: var(--kilp-white);
	padding-bottom: 0;
}

body.kilp-page .kilp-root .alignwide {
	margin-left: auto;
	margin-right: auto;
	max-width: 1180px;
	width: 100%;
}

body.kilp-page .kilp-root h1,
body.kilp-page .kilp-root h2,
body.kilp-page .kilp-root h3 {
	font-family: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
}

body.kilp-page .kilp-root small {
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.65 !important;
}

/* Header */
body.kilp-page .kilp-root .kilp-topbar {
	background: var(--kilp-navy-deep);
	color: var(--kilp-white);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	padding: 7px 20px;
}

body.kilp-page .kilp-root .kilp-header {
	align-items: center;
	backdrop-filter: blur(14px);
	background: rgba(255, 255, 255, .96);
	border-bottom: 1px solid rgba(0, 27, 68, .1);
	box-shadow: 0 5px 24px rgba(0, 27, 68, .07);
	display: flex;
	gap: 24px;
	justify-content: space-between;
	min-height: 82px;
	padding: 11px max(28px, calc((100vw - 1240px) / 2));
	position: sticky;
	top: 0;
	z-index: 100;
}

body.kilp-page.admin-bar .kilp-root .kilp-header {
	top: 32px;
}

body.kilp-page .kilp-root .kilp-brand {
	color: var(--kilp-navy-deep);
	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: 22px;
	font-weight: 900;
	letter-spacing: .01em;
	line-height: 1.18;
}

body.kilp-page .kilp-root .kilp-brand small {
	color: var(--kilp-navy);
	display: inline-block;
	font-family: -apple-system, BlinkMacSystemFont, "Yu Gothic", Meiryo, sans-serif;
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: .04em;
	margin-top: 5px;
}

body.kilp-page .kilp-root .kilp-header-actions {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	gap: 10px;
}

body.kilp-page .kilp-root .kilp-header-actions .wp-block-buttons,
body.kilp-page .kilp-root .kilp-header-actions .wp-block-button,
body.kilp-page .kilp-root .kilp-header-actions .wp-block-button__link {
	display: block;
	width: auto;
}

body.kilp-page .kilp-root .kilp-header-button .wp-block-button__link {
	background: linear-gradient(180deg, #f25a17, var(--kilp-terracotta));
	border: 1px solid #db4107;
	border-bottom: 4px solid var(--kilp-terracotta-dark);
	border-radius: 9px;
	box-shadow: 0 7px 16px rgba(189, 53, 0, .18);
	color: var(--kilp-white);
	font-size: 14px;
	font-weight: 900;
	min-height: 48px;
	padding: 13px 20px;
}

body.kilp-page .kilp-root .kilp-header-actions .kilp-line-button.is-header {
	border: 2px solid #18a85a;
	border-radius: 9px;
	color: #138246;
	font-size: 13px;
	min-height: 48px;
	padding: 7px 15px;
	width: auto;
}

body.kilp-page .kilp-root .kilp-header-actions .kilp-line-button.is-header b {
	color: #138246;
	white-space: nowrap;
}

/* Buttons and interaction */
body.kilp-page .kilp-root .kilp-primary-button .wp-block-button__link,
body.kilp-page .kilp-root .kilp-submit {
	background: linear-gradient(180deg, #f45a15 0%, var(--kilp-terracotta) 100%);
	border: 1px solid #d93d05;
	border-bottom: 5px solid var(--kilp-terracotta-dark);
	border-radius: 10px;
	box-shadow: 0 12px 25px rgba(189, 53, 0, .24);
	color: var(--kilp-white);
	font-family: inherit;
	font-size: max(var(--kilp-cta-size, 15px), 16px);
	font-weight: 900;
	min-height: 68px;
	padding: 13px 20px;
	transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.kilp-page .kilp-root .kilp-line-button {
	background: var(--kilp-white);
	border: 2px solid #18a85a;
	border-radius: 10px;
	box-shadow: 0 8px 20px rgba(13, 116, 113, .08);
	color: #138246;
	font-size: 16px;
	font-weight: 900;
	min-height: 62px;
	padding: 10px 18px;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

body.kilp-page .kilp-root .kilp-line-button > span {
	background: #20b65a;
	font-size: 9px;
	font-weight: 900;
	height: 32px;
	width: 32px;
}

body.kilp-page .kilp-root .kilp-line-button b {
	color: inherit;
}

body.kilp-page .kilp-root a:focus-visible,
body.kilp-page .kilp-root button:focus-visible,
body.kilp-page .kilp-root summary:focus-visible,
body.kilp-page .kilp-root input:focus-visible,
body.kilp-page .kilp-root textarea:focus-visible {
	outline: 4px solid var(--kilp-yellow);
	outline-offset: 3px;
}

/* Hero */
body.kilp-page .kilp-root .kilp-hero {
	background:
		radial-gradient(circle at 83% 19%, rgba(255, 212, 0, .18), transparent 23%),
		linear-gradient(126deg, #fffdf9 0%, var(--kilp-ivory) 56%, #f0eadf 100%);
	border-bottom: 1px solid #e8dfd1;
	isolation: isolate;
	overflow: hidden;
	padding: 38px 32px 34px;
	position: relative;
}

body.kilp-page .kilp-root .kilp-hero::before {
	background: linear-gradient(135deg, transparent 0 48%, rgba(0, 27, 68, .045) 48% 49%, transparent 49% 100%);
	background-size: 34px 34px;
	content: "";
	inset: 0;
	opacity: .35;
	pointer-events: none;
	position: absolute;
}

body.kilp-page .kilp-root .kilp-hero::after {
	background: var(--kilp-yellow);
	border: 0;
	border-radius: 50%;
	content: "";
	height: 320px;
	opacity: .12;
	position: absolute;
	right: -95px;
	top: 70px;
	width: 320px;
	z-index: -1;
}

body.kilp-page .kilp-root .kilp-hero-inner {
	align-items: stretch;
	display: grid !important;
	gap: 28px;
	grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
	margin: 0 auto;
	max-width: 1240px;
	min-height: 690px;
	position: relative;
	z-index: 2;
}

body.kilp-page .kilp-root .kilp-hero-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: 12px 0;
	position: relative;
	z-index: 3;
}

body.kilp-page .kilp-root .kilp-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-bottom: 17px;
}

body.kilp-page .kilp-root .kilp-badges p,
body.kilp-page .kilp-root .kilp-badges p + p {
	background: var(--kilp-navy-deep);
	border: 1px solid var(--kilp-navy-deep);
	border-radius: 7px;
	box-shadow: 0 5px 12px rgba(0, 27, 68, .12);
	color: var(--kilp-white);
	font-size: 14px;
	font-weight: 900;
	letter-spacing: .05em;
	padding: 9px 14px;
}

body.kilp-page .kilp-root .kilp-badges p + p {
	background: var(--kilp-navy);
}

body.kilp-page .kilp-root .kilp-eyebrow {
	color: var(--kilp-navy);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.65;
	margin-bottom: 7px;
}

body.kilp-page .kilp-root .kilp-hero-title {
	color: var(--kilp-navy-deep);
	font-size: clamp(50px, 5.15vw, 68px);
	font-weight: 900;
	letter-spacing: -.055em;
	line-height: 1.08;
	text-wrap: balance;
}

body.kilp-page .kilp-root .kilp-hero-title > mark {
	background: transparent;
	color: var(--kilp-navy-deep);
	display: block;
	font-size: .84em;
	font-weight: 900;
	letter-spacing: -.04em;
	margin: 0 0 7px;
	padding: 0;
}

body.kilp-page .kilp-root .kilp-hero-title strong {
	background: linear-gradient(transparent 67%, var(--kilp-yellow) 67% 89%, transparent 89%);
	box-decoration-break: clone;
	display: inline;
	-webkit-box-decoration-break: clone;
}

body.kilp-page .kilp-root .kilp-hero-title strong br {
	display: inline !important;
}

body.kilp-page .kilp-root .kilp-hero-lead {
	color: var(--kilp-navy);
	font-size: 17px;
	font-weight: 800;
	line-height: 1.75;
	margin-top: 17px;
}

body.kilp-page .kilp-root .kilp-hero-fee {
	background: var(--kilp-navy-deep);
	border: 2px solid rgba(255, 255, 255, .35);
	border-radius: 15px;
	box-shadow: 0 18px 38px rgba(0, 27, 68, .25), inset 0 0 0 3px rgba(255, 255, 255, .08);
	color: var(--kilp-white);
	margin-top: 20px;
	max-width: 620px;
	overflow: hidden;
}

body.kilp-page .kilp-root .kilp-hero-fee-head {
	align-items: center;
	background: transparent;
	border-bottom: 1px solid rgba(255, 255, 255, .17);
	color: var(--kilp-white);
	display: flex;
	gap: 14px;
	min-height: 50px;
	padding: 8px 17px;
}

body.kilp-page .kilp-root .kilp-hero-fee-head span {
	background: transparent;
	border: 2px solid var(--kilp-yellow);
	border-radius: 5px;
	color: var(--kilp-yellow);
	font: 900 14px Georgia, serif;
	letter-spacing: .1em;
	padding: 7px 11px;
}

body.kilp-page .kilp-root .kilp-hero-fee-head b {
	font-size: 16px !important;
	font-weight: 900;
	padding: 0;
}

body.kilp-page .kilp-root .kilp-hero-fee-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
}

body.kilp-page .kilp-root .kilp-hero-zero,
body.kilp-page .kilp-root .kilp-hero-success {
	background: transparent;
	color: var(--kilp-white);
	min-height: 180px;
	padding: 14px 16px;
}

body.kilp-page .kilp-root .kilp-hero-zero {
	border-right: 1px solid rgba(255, 255, 255, .18);
}

body.kilp-page .kilp-root .kilp-hero-zero > span {
	background: transparent;
	color: var(--kilp-white);
	font-size: 18px;
	letter-spacing: .08em;
	padding: 0;
}

body.kilp-page .kilp-root .kilp-hero-zero p strong {
	color: var(--kilp-yellow);
	font-family: Georgia, "Yu Mincho", serif;
	font-size: 124px !important;
	font-weight: 900;
	letter-spacing: -.09em;
	line-height: .82;
}

body.kilp-page .kilp-root .kilp-hero-zero p b {
	color: var(--kilp-yellow);
	font-size: 29px;
}

body.kilp-page .kilp-root .kilp-hero-zero small {
	color: rgba(255, 255, 255, .76);
	font-size: 11px !important;
}

body.kilp-page .kilp-root .kilp-hero-success {
	align-content: center;
	display: grid;
	grid-template-columns: 1fr;
	text-align: center;
}

body.kilp-page .kilp-root .kilp-hero-success > span {
	color: rgba(255, 255, 255, .76);
	font-size: 14px;
	font-weight: 900;
}

body.kilp-page .kilp-root .kilp-hero-success p {
	justify-content: center;
	margin-top: 10px;
}

body.kilp-page .kilp-root .kilp-hero-success p b {
	color: var(--kilp-white);
	font-size: 15px !important;
	line-height: 1.45;
	white-space: normal;
}

body.kilp-page .kilp-root .kilp-hero-success p i {
	color: var(--kilp-yellow);
	font-size: 24px !important;
}

body.kilp-page .kilp-root .kilp-action-call {
	color: var(--kilp-navy-deep);
	font-size: 14px;
	margin: 14px 0 8px;
}

body.kilp-page .kilp-root .kilp-action-call::before,
body.kilp-page .kilp-root .kilp-action-call::after {
	background: var(--kilp-terracotta);
	width: 28px;
}

body.kilp-page .kilp-root .kilp-hero .kilp-primary-button .wp-block-button__link,
body.kilp-page .kilp-root .kilp-hero-line-action > .kilp-line-button.is-hero {
	font-size: 17px;
	min-height: 72px;
}

body.kilp-page .kilp-root .kilp-hero-line-action {
	margin-top: 9px;
}

body.kilp-page .kilp-root .kilp-cta-note {
	color: var(--kilp-muted);
	font-size: 12px !important;
	font-weight: 700;
	margin-top: 9px;
}

body.kilp-page .kilp-root .kilp-service-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	justify-content: center;
	margin-top: 14px;
}

body.kilp-page .kilp-root .kilp-service-chips p {
	background: var(--kilp-green-light);
	border: 1px solid #c8e2dc;
	border-radius: 999px;
	color: var(--kilp-green);
	font-size: 12px;
	font-weight: 900;
	padding: 6px 11px;
}

/*
 * The supplied Meta square contains the real lawyer photo and baked-in copy.
 * A tight right/lower crop keeps only the head-to-chest portrait visible.
 * The second image is a safe fallback if the new asset is temporarily absent.
 */
body.kilp-page .kilp-root .kilp-hero-visual {
	align-self: stretch;
	background-image:
		linear-gradient(90deg, rgba(251, 248, 241, .95) 0%, rgba(251, 248, 241, .38) 13%, rgba(251, 248, 241, 0) 29%),
		url("../images/lawyer-sugamoto-hero.png"),
		url("../images/hero-consultation-neutral.webp");
	background-position: center, right 72%, center;
	background-repeat: no-repeat;
	background-size: 100% 100%, auto 178%, contain;
	border-radius: 24px 24px 8px 8px;
	min-height: 690px;
	overflow: hidden;
	position: relative;
}

body.kilp-page #top .kilp-root .kilp-hero-visual > figure.wp-block-image {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
}

body.kilp-page .kilp-root .kilp-hero-visual .kilp-hero-person {
	display: block !important;
	height: 178% !important;
	max-width: none !important;
	object-fit: unset !important;
	position: absolute;
	right: 0;
	top: 72%;
	transform: translateY(-72%);
	transform-origin: 100% 72%;
	width: auto !important;
	z-index: 1;
}

body.kilp-page #top .kilp-root .kilp-hero-visual > figure.kilp-hero-person {
	display: block !important;
	height: 100% !important;
	inset: 0;
	margin: 0 !important;
	min-height: 100% !important;
	overflow: hidden;
	padding: 0 !important;
	position: absolute;
	transform: none;
	width: 100% !important;
	z-index: 1;
}

body.kilp-page #top .kilp-root .kilp-hero-visual > figure.kilp-hero-person img {
	height: 178% !important;
	max-width: none !important;
	object-fit: unset !important;
	position: absolute;
	right: 0;
	top: 72%;
	transform: translateY(-72%);
	width: auto !important;
}

body.kilp-page .kilp-root .kilp-calm-card {
	background: rgba(255, 255, 255, .94);
	border: 1px solid rgba(0, 27, 68, .12);
	border-left: 6px solid var(--kilp-green);
	border-radius: 9px;
	bottom: 22px;
	box-shadow: 0 15px 35px rgba(0, 27, 68, .16);
	left: 20px;
	margin: 0;
	padding: 13px 15px;
	position: absolute;
	right: 20px;
	z-index: 4;
}

body.kilp-page .kilp-root .kilp-calm-card small {
	color: var(--kilp-green);
	font-size: 11px !important;
}

body.kilp-page .kilp-root .kilp-calm-card strong {
	color: var(--kilp-navy-deep);
	font-size: 14px;
}

/* Hero support bands */
body.kilp-page .kilp-root .kilp-quick-benefits {
	background: var(--kilp-white);
	border-bottom: 1px solid #e4e7eb;
	box-shadow: 0 9px 26px rgba(0, 27, 68, .06);
	color: var(--kilp-navy-deep);
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 auto;
	padding: 0 max(28px, calc((100vw - 1180px) / 2));
}

body.kilp-page .kilp-root .kilp-quick-benefits > .wp-block-column {
	border-bottom: 0;
	border-right: 1px solid #d8dee4;
	padding: 20px 24px;
}

body.kilp-page .kilp-root .kilp-quick-benefits > .wp-block-column:last-child {
	border-right: 0;
}

body.kilp-page .kilp-root .kilp-quick-benefits p {
	display: grid;
	gap: 2px 12px;
	grid-template-columns: 48px 1fr;
	line-height: 1.42;
}

body.kilp-page .kilp-root .kilp-quick-benefits span {
	align-items: center;
	background: var(--kilp-green);
	border-radius: 50%;
	color: var(--kilp-white);
	display: flex;
	font: 900 13px Georgia, serif;
	grid-row: 1 / span 2;
	height: 44px;
	justify-content: center;
	padding: 0;
	width: 44px;
}

body.kilp-page .kilp-root .kilp-quick-benefits strong {
	font-size: 17px;
	font-weight: 900;
}

body.kilp-page .kilp-root .kilp-quick-benefits small {
	color: var(--kilp-muted);
	font-size: 12px !important;
}

body.kilp-page .kilp-root .kilp-kumamoto-band {
	background: var(--kilp-green-light);
	border-bottom: 1px solid #cce2dc;
	color: var(--kilp-navy-deep);
	gap: 14px;
	padding: 17px 22px;
}

body.kilp-page .kilp-root .kilp-kumamoto-band span {
	background: var(--kilp-navy-deep);
	border-radius: 5px;
	font-size: 10px;
	padding: 7px 9px;
}

body.kilp-page .kilp-root .kilp-kumamoto-band strong {
	font-size: 16px;
}

body.kilp-page .kilp-root .kilp-kumamoto-band small {
	color: #47645f;
	font-size: 12px !important;
}

/* Shared section rhythm */
body.kilp-page .kilp-root .kilp-section {
	padding: 82px 32px;
}

body.kilp-page .kilp-root .kilp-section-heading {
	margin: 0 auto 34px;
	max-width: 900px;
}

body.kilp-page .kilp-root .kilp-kicker {
	background: transparent;
	border: 0;
	color: var(--kilp-green);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .13em;
	margin-bottom: 10px;
	padding: 0;
	position: relative;
}

body.kilp-page .kilp-root .kilp-kicker::before,
body.kilp-page .kilp-root .kilp-kicker::after {
	background: currentColor;
	content: "";
	display: inline-block;
	height: 1px;
	margin: 0 10px 4px;
	width: 28px;
}

body.kilp-page .kilp-root .kilp-section-heading h2,
body.kilp-page .kilp-root .kilp-final-cta h2,
body.kilp-page .kilp-root .kilp-lawyer-card h2 {
	color: var(--kilp-navy-deep);
	font-size: clamp(34px, 3.4vw, 46px);
	font-weight: 900;
	letter-spacing: -.035em;
	line-height: 1.34;
	text-wrap: balance;
}

body.kilp-page .kilp-root .kilp-section-heading > p:last-child:not(.kilp-kicker) {
	color: var(--kilp-muted);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.8;
	margin-top: 12px;
}

/* Fit / concern cards */
body.kilp-page .kilp-root .kilp-fit-section {
	background: var(--kilp-white);
}

body.kilp-page .kilp-root .kilp-check-grid {
	display: grid;
	gap: 13px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 1100px;
}

body.kilp-page .kilp-root .kilp-check-card {
	background: var(--kilp-white);
	border: 1px solid #dfe4e9;
	border-left: 0;
	border-radius: 10px;
	box-shadow: var(--kilp-shadow-soft);
	min-height: 105px;
	overflow: hidden;
	padding: 22px 18px 18px 68px;
	position: relative;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.kilp-page .kilp-root .kilp-check-card::before {
	background: var(--kilp-green-light);
	border: 1px solid #c4ddd7;
	color: var(--kilp-green);
	font-size: 21px;
	height: 38px;
	left: 18px;
	top: 21px;
	width: 38px;
}

body.kilp-page .kilp-root .kilp-check-card::after {
	background: var(--kilp-yellow);
	content: "";
	height: 5px;
	inset: auto 0 0;
	position: absolute;
}

body.kilp-page .kilp-root .kilp-check-card h3 {
	color: var(--kilp-navy-deep);
	font-family: inherit;
	font-size: 17px;
	font-weight: 900;
	line-height: 1.45;
}

body.kilp-page .kilp-root .kilp-check-card p {
	color: var(--kilp-muted);
	font-size: 14px !important;
	font-weight: 600;
	line-height: 1.65 !important;
	margin-top: 5px;
}

body.kilp-page .kilp-root .kilp-concerns-section {
	background: var(--kilp-ivory);
}

body.kilp-page .kilp-root .kilp-visual-grid,
body.kilp-page .kilp-root .kilp-service-grid,
body.kilp-page .kilp-root .kilp-flow-visual-grid {
	display: grid !important;
	gap: 20px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 1120px;
}

body.kilp-page .kilp-root .kilp-visual-card {
	background: var(--kilp-white);
	border: 1px solid #e1e3e6;
	border-radius: var(--kilp-radius);
	border-top: 0;
	box-shadow: var(--kilp-shadow);
	overflow: hidden;
	padding: 0 0 24px;
	text-align: center;
	transition: box-shadow .2s ease, transform .2s ease;
}

body.kilp-page .kilp-root .kilp-visual-card .wp-block-image {
	background: #e9efed;
	height: 220px;
	overflow: hidden;
}

body.kilp-page .kilp-root .kilp-visual-card img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

body.kilp-page .kilp-root .kilp-visual-card h3 {
	color: var(--kilp-navy-deep);
	font-size: 23px;
	font-weight: 900;
	margin: 19px 16px 0;
}

body.kilp-page .kilp-root .kilp-visual-card p {
	color: var(--kilp-muted);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.65;
	margin: 6px 16px 0;
}

body.kilp-page .kilp-root .kilp-inline-cta {
	align-items: center;
	background: var(--kilp-navy-deep);
	border: 0;
	border-radius: 14px;
	box-shadow: 0 17px 38px rgba(0, 27, 68, .17);
	display: grid;
	gap: 5px 28px;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 390px);
	margin: 32px auto 0;
	max-width: 1040px;
	padding: 24px 28px;
	text-align: left;
}

body.kilp-page .kilp-root .kilp-inline-cta > p {
	color: #9dd7d0;
	font-size: 12px;
	font-weight: 900;
	grid-column: 1;
}

body.kilp-page .kilp-root .kilp-inline-cta h3 {
	color: var(--kilp-white);
	font-size: 23px;
	grid-column: 1;
	line-height: 1.45;
	margin: 0;
}

body.kilp-page .kilp-root .kilp-inline-cta > .wp-block-buttons {
	align-self: center;
	grid-column: 2;
	grid-row: 1 / span 2;
}

/* Repeated zero-yen conversion panel */
body.kilp-page .kilp-root .kilp-zero-conversion {
	background: var(--kilp-navy-deep);
	border: 0;
	border-radius: 14px;
	box-shadow: 0 18px 42px rgba(0, 27, 68, .18);
	color: var(--kilp-white);
	margin: 30px auto 0;
	max-width: 1040px;
	padding: 22px;
}

body.kilp-page .kilp-root .kilp-zero-eyebrow {
	color: #a9d9d3;
	font-size: 13px;
	letter-spacing: .05em;
	margin-bottom: 12px;
}

body.kilp-page .kilp-root .kilp-zero-fee {
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr);
}

body.kilp-page .kilp-root .kilp-zero-fee-offer {
	background: rgba(255, 255, 255, .07);
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 9px;
	color: var(--kilp-white);
	min-height: 118px;
}

body.kilp-page .kilp-root .kilp-zero-fee-offer > span {
	background: transparent;
	border: 1px solid var(--kilp-yellow);
	border-radius: 4px;
	color: var(--kilp-yellow);
	font-size: 14px;
}

body.kilp-page .kilp-root .kilp-zero-fee-offer > strong {
	color: var(--kilp-yellow);
	font-size: 88px;
	line-height: .9;
}

body.kilp-page .kilp-root .kilp-zero-fee-offer > b {
	color: var(--kilp-yellow);
	font-size: 24px;
}

body.kilp-page .kilp-root .kilp-zero-fee-offer > small {
	color: var(--kilp-white);
	font-size: 12px !important;
}

body.kilp-page .kilp-root .kilp-zero-fee > p {
	align-items: center;
	background: rgba(255, 255, 255, .94);
	border-radius: 9px;
	color: var(--kilp-navy-deep);
	font-size: 14px;
	line-height: 1.6;
	padding: 15px 18px;
}

body.kilp-page .kilp-root .kilp-zero-conversion > .wp-block-buttons {
	margin-top: 12px;
}

body.kilp-page .kilp-root .kilp-zero-note {
	color: rgba(255, 255, 255, .72);
	font-size: 11px !important;
	font-weight: 600 !important;
	margin-top: 10px;
}

/* Services */
body.kilp-page .kilp-root .kilp-dark-section.kilp-services-section {
	background:
		radial-gradient(circle at 15% 0%, rgba(13, 116, 113, .35), transparent 30%),
		linear-gradient(145deg, #001b44 0%, #061e3f 100%);
	color: var(--kilp-white);
}

body.kilp-page .kilp-root .kilp-dark-section .kilp-kicker {
	background: transparent;
	color: #91d0c8;
}

body.kilp-page .kilp-root .kilp-dark-section .kilp-section-heading h2,
body.kilp-page .kilp-root .kilp-dark-section .kilp-section-heading h3 {
	color: var(--kilp-white);
}

body.kilp-page .kilp-root .kilp-dark-section .kilp-section-heading > p:last-child:not(.kilp-kicker) {
	color: rgba(255, 255, 255, .72);
}

body.kilp-page .kilp-root .kilp-service-card {
	background: var(--kilp-white);
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 12px;
	border-top: 5px solid var(--kilp-yellow);
	box-shadow: 0 16px 36px rgba(0, 0, 0, .17);
	color: var(--kilp-ink);
	min-height: 235px;
	padding: 24px 22px;
	position: relative;
	transition: transform .2s ease;
}

body.kilp-page .kilp-root .kilp-service-card > p:first-child span {
	background: var(--kilp-navy-deep);
	border: 2px solid var(--kilp-yellow);
	color: var(--kilp-yellow);
	font-size: 13px;
	height: 48px;
	width: 48px;
}

body.kilp-page .kilp-root .kilp-service-card h3 {
	color: var(--kilp-navy-deep);
	font-size: 25px;
	margin: 14px 0 13px;
}

body.kilp-page .kilp-root .kilp-service-card ul {
	gap: 7px;
}

body.kilp-page .kilp-root .kilp-service-card li {
	background: var(--kilp-green-light);
	border-radius: 5px;
	color: var(--kilp-green);
	font-size: 15px !important;
	font-weight: 900;
	line-height: 1.55;
	padding: 9px 11px !important;
}

body.kilp-page .kilp-root .kilp-service-handoff {
	background: var(--kilp-white);
	border-radius: 14px;
	box-shadow: 0 18px 44px rgba(0, 0, 0, .21);
	color: var(--kilp-navy-deep);
	display: grid !important;
	gap: 0;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
	margin: 28px auto 0;
	max-width: 1040px;
	overflow: hidden;
}

body.kilp-page .kilp-root .kilp-service-handoff-visual {
	background: var(--kilp-ivory);
	height: 340px;
	min-height: 340px;
	overflow: hidden;
	padding: 0;
}

body.kilp-page .kilp-root .kilp-service-handoff-visual .wp-block-image,
body.kilp-page .kilp-root .kilp-service-handoff-visual img {
	display: block !important;
	height: 100% !important;
	margin: 0;
	min-height: 100% !important;
	object-fit: cover;
	opacity: 1 !important;
	width: 100%;
}

body.kilp-page .kilp-root .kilp-service-handoff-copy {
	border-left: 7px solid var(--kilp-yellow);
	border-top: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 36px 32px;
}

body.kilp-page .kilp-root .kilp-service-handoff-copy > p:first-child,
body.kilp-page .kilp-root .kilp-service-handoff-copy > p:first-child strong {
	color: var(--kilp-green);
	font-family: inherit;
	font-size: 15px !important;
	font-weight: 900 !important;
}

body.kilp-page .kilp-root .kilp-service-handoff-copy h3 {
	color: var(--kilp-navy-deep);
	font-size: 29px;
	line-height: 1.45;
	margin: 8px 0 16px;
}

body.kilp-page .kilp-root .kilp-service-handoff-copy ul {
	gap: 8px;
}

body.kilp-page .kilp-root .kilp-service-handoff-copy li {
	background: #f1f6f4;
	border-radius: 5px;
	color: #294752;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.55;
	padding: 9px 11px;
}

body.kilp-page .kilp-root .kilp-service-handoff-copy li::before {
	color: var(--kilp-terracotta);
}

/* Pricing */
body.kilp-page .kilp-root .kilp-pricing-section {
	background: var(--kilp-ivory);
}

body.kilp-page .kilp-root .kilp-pricing-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 1060px;
}

body.kilp-page .kilp-root .kilp-price-card {
	background: var(--kilp-white);
	border: 1px solid #cad5df;
	border-radius: 14px;
	box-shadow: var(--kilp-shadow);
	overflow: hidden;
}

body.kilp-page .kilp-root .kilp-price-card.is-featured {
	border: 3px solid var(--kilp-navy-deep);
}

body.kilp-page .kilp-root .kilp-recommend {
	background: var(--kilp-yellow);
	color: var(--kilp-navy-deep);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .04em;
	padding: 7px;
}

body.kilp-page .kilp-root .kilp-price-card .kilp-plan-head {
	background: var(--kilp-green);
	border: 0;
	color: var(--kilp-white);
	gap: 13px;
	min-height: 55px;
	padding: 13px 18px !important;
}

body.kilp-page .kilp-root .kilp-price-card.is-featured .kilp-plan-head {
	background: var(--kilp-navy-deep);
}

body.kilp-page .kilp-root .kilp-plan-head span {
	border: 1px solid currentColor;
	border-radius: 4px;
	font-size: 13px;
	padding: 5px 8px;
}

body.kilp-page .kilp-root .kilp-plan-head strong {
	font-size: 16px;
}

body.kilp-page .kilp-root .kilp-price-card .kilp-fee-row {
	min-height: 132px;
	padding: 22px 22px 16px !important;
}

body.kilp-page .kilp-root .kilp-fee-row > span,
body.kilp-page .kilp-root .kilp-success-row > span {
	color: var(--kilp-navy);
	font-size: 15px;
	font-weight: 900;
}

body.kilp-page .kilp-root .kilp-fee-row p strong {
	color: var(--kilp-terracotta);
	font-size: 82px !important;
	font-weight: 900;
}

body.kilp-page .kilp-root .kilp-price-card.is-featured .kilp-fee-row p strong {
	color: var(--kilp-yellow);
}

body.kilp-page .kilp-root .kilp-price-card.is-featured .kilp-fee-row {
	background: var(--kilp-navy-deep);
	border-top: 1px solid rgba(255, 255, 255, .15);
}

body.kilp-page .kilp-root .kilp-price-card.is-featured .kilp-fee-row > span {
	color: var(--kilp-white);
}

body.kilp-page .kilp-root .kilp-price-card.is-featured .kilp-fee-row p,
body.kilp-page .kilp-root .kilp-price-card.is-featured .kilp-fee-row p b {
	color: var(--kilp-yellow);
}

body.kilp-page .kilp-root .kilp-fee-row p b {
	font-size: 18px !important;
}

body.kilp-page .kilp-root .kilp-price-card .kilp-success-row {
	align-items: flex-start;
	border-top: 1px dashed #c8d1d9;
	flex-direction: column;
	gap: 8px;
	margin: 0 22px !important;
	padding: 16px 0 !important;
}

body.kilp-page .kilp-root .kilp-success-row p {
	color: var(--kilp-navy-deep);
	font-size: 16px;
	font-weight: 800;
	line-height: 1.55;
}

body.kilp-page .kilp-root .kilp-success-row p i {
	color: var(--kilp-terracotta);
	font-size: 21px;
	font-weight: 900;
}

body.kilp-page .kilp-root .kilp-price-card .kilp-plan-caption {
	color: var(--kilp-muted);
	font-size: 14px !important;
	font-weight: 600;
	line-height: 1.75 !important;
	padding: 0 22px 22px !important;
}

body.kilp-page .kilp-root .kilp-fee-legal-note,
body.kilp-page .kilp-root .kilp-fee-note {
	color: var(--kilp-muted);
	font-size: 12px !important;
	font-weight: 600;
	line-height: 1.75 !important;
	margin-top: 14px;
}

body.kilp-page .kilp-root .kilp-pricing-section > .kilp-actions {
	display: grid;
	gap: 10px;
	grid-template-columns: minmax(0, 1.3fr) minmax(230px, .7fr);
	margin: 24px auto 0;
	max-width: 820px;
}

body.kilp-page .kilp-root .kilp-pricing-section > .kilp-actions > * {
	width: 100%;
}

/* Results: four long-form case studies */
body.kilp-page .kilp-root .kilp-dark-section.kilp-results-section {
	background: #f4eee4;
	color: var(--kilp-ink);
}

body.kilp-page .kilp-root .kilp-results-section .kilp-kicker {
	color: var(--kilp-green);
}

body.kilp-page .kilp-root .kilp-results-section .kilp-section-heading h2 {
	color: var(--kilp-navy-deep);
}

body.kilp-page .kilp-root .kilp-results-section .kilp-section-heading > p:last-child:not(.kilp-kicker) {
	color: var(--kilp-muted);
}

body.kilp-page .kilp-root .kilp-results-section .kilp-case-grid {
	display: grid !important;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	max-width: 1120px;
}

body.kilp-page .kilp-root .kilp-case-card {
	background: var(--kilp-white);
	border: 1px solid #e1d9cf;
	border-radius: 12px;
	border-top: 0;
	box-shadow: var(--kilp-shadow-soft);
	color: var(--kilp-ink);
	overflow: hidden;
	padding: 24px 24px 25px;
	position: relative;
}

body.kilp-page .kilp-root .kilp-case-card::before {
	background: linear-gradient(90deg, var(--kilp-navy-deep), var(--kilp-green));
	content: "";
	height: 6px;
	inset: 0 0 auto;
	position: absolute;
}

body.kilp-page .kilp-root .kilp-case-card > p:first-child {
	align-items: center;
	display: flex;
	gap: 10px;
	justify-content: flex-start;
	margin-top: 4px;
}

body.kilp-page .kilp-root .kilp-case-card > p:first-child span {
	background: var(--kilp-navy-deep);
	border-radius: 5px;
	color: var(--kilp-white);
	font-family: Georgia, serif;
	font-size: 13px !important;
	font-weight: 900 !important;
	letter-spacing: .08em;
	padding: 7px 10px;
}

body.kilp-page .kilp-root .kilp-case-card > p:first-child b {
	background: var(--kilp-green-light);
	border-radius: 5px;
	color: var(--kilp-green);
	font-size: 13px !important;
	font-weight: 900 !important;
	padding: 6px 9px;
}

body.kilp-page .kilp-root .kilp-case-card h3 {
	color: var(--kilp-navy-deep);
	font-size: 25px;
	font-weight: 900;
	line-height: 1.45;
	margin: 17px 0 14px;
}

body.kilp-page .kilp-root .kilp-case-card p {
	color: #425064;
	font-size: 15px !important;
	font-weight: 600;
	line-height: 1.85 !important;
	margin-top: 0;
}

body.kilp-page .kilp-root .kilp-case-card p + p {
	border-top: 1px solid #e6e8eb;
	margin-top: 11px;
	padding-top: 11px;
}

body.kilp-page .kilp-root .kilp-case-card p:has(> strong) {
	display: grid;
	gap: 10px;
	grid-template-columns: 96px minmax(0, 1fr);
}

body.kilp-page .kilp-root .kilp-case-card p strong {
	background: #f1f4f7;
	border-radius: 4px;
	color: var(--kilp-navy-deep);
	display: inline-block;
	font-weight: 900;
	padding: 3px 7px;
	text-align: center;
}

body.kilp-page .kilp-root .kilp-case-card .kilp-case-image {
	border-radius: 7px;
	height: 210px;
	margin-top: 16px;
}

body.kilp-page .kilp-root .kilp-case-card .kilp-case-image img {
	height: 100%;
	object-fit: cover;
}

body.kilp-page .kilp-root .kilp-results-section .kilp-zero-conversion {
	background: var(--kilp-navy-deep);
	border: 0;
	margin-top: 34px;
}

/* Flow */
body.kilp-page .kilp-root .kilp-flow-section {
	background: var(--kilp-white);
}

body.kilp-page .kilp-root .kilp-flow-visual-grid {
	gap: 20px;
}

body.kilp-page .kilp-root .kilp-flow-visual-card {
	background: var(--kilp-white);
	border: 1px solid #dce2e7;
	border-radius: 12px;
	box-shadow: var(--kilp-shadow-soft);
	overflow: hidden;
}

body.kilp-page .kilp-root .kilp-flow-visual-image {
	background: #eaf0ee;
	height: 250px;
	overflow: hidden;
	position: relative;
}

body.kilp-page .kilp-root .kilp-flow-visual-image .wp-block-image,
body.kilp-page .kilp-root .kilp-flow-visual-image img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

body.kilp-page .kilp-root .kilp-flow-visual-image > p {
	background: var(--kilp-navy-deep);
	border-top: 3px solid var(--kilp-yellow);
	color: var(--kilp-white);
	font-size: 12px;
	padding: 9px 13px;
}

body.kilp-page .kilp-root .kilp-flow-visual-copy {
	padding: 22px 20px 24px;
}

body.kilp-page .kilp-root .kilp-flow-visual-copy h3 {
	color: var(--kilp-navy-deep);
	font-size: 23px;
	line-height: 1.45;
	margin-bottom: 8px;
}

body.kilp-page .kilp-root .kilp-flow-visual-copy p {
	color: var(--kilp-muted);
	font-size: 15px !important;
	font-weight: 600;
	line-height: 1.75 !important;
}

/* Optional lawyer section */
body.kilp-page .kilp-root .kilp-lawyer-section {
	background: var(--kilp-navy-deep);
}

body.kilp-page .kilp-root .kilp-lawyer-card {
	background: var(--kilp-white);
	border-radius: 14px;
	box-shadow: 0 18px 45px rgba(0, 0, 0, .22);
	display: grid !important;
	grid-template-columns: minmax(310px, .8fr) minmax(0, 1.2fr);
	overflow: hidden;
	padding: 0;
}

body.kilp-page .kilp-root .kilp-lawyer-card > .wp-block-column:first-child {
	background-image:
		linear-gradient(180deg, rgba(0, 27, 68, 0) 48%, rgba(0, 27, 68, .78) 100%),
		url("../images/lawyer-sugamoto-hero.png"),
		linear-gradient(145deg, var(--kilp-ivory), #eae1d1);
	background-position: center, right 72%, center;
	background-repeat: no-repeat;
	background-size: 100% 100%, auto 178%, cover;
	min-height: 440px;
	position: relative;
}

body.kilp-page .kilp-root .kilp-lawyer-card > .wp-block-column:last-child {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 44px 40px;
}

body.kilp-page .kilp-root .kilp-lawyer-card .kilp-lawyer-profile {
	background: rgba(255, 255, 255, .92);
	border-radius: 8px;
	bottom: 20px;
	display: block;
	left: 20px;
	padding: 14px 16px !important;
	position: absolute;
	right: 20px;
}

body.kilp-page .kilp-root .kilp-lawyer-card .kilp-lawyer-data h3 {
	color: var(--kilp-navy-deep);
	font-size: 16px;
	font-weight: 900;
}

body.kilp-page .kilp-root .kilp-lawyer-card .kilp-lawyer-data p {
	color: var(--kilp-muted);
	font-size: 12px !important;
}

body.kilp-page .kilp-root .kilp-lawyer-card h2 {
	font-size: 36px;
	margin: 10px 0 15px;
}

body.kilp-page .kilp-root .kilp-lawyer-card .wp-block-column > p:not(.kilp-kicker) {
	color: var(--kilp-muted);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.85;
}

body.kilp-page .kilp-root .kilp-value-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
}

body.kilp-page .kilp-root .kilp-value-chips p {
	background: var(--kilp-green-light);
	border-radius: 999px;
	color: var(--kilp-green);
	font-size: 12px;
	font-weight: 900;
	padding: 7px 11px;
}

/* FAQ and compact fee reminder */
body.kilp-page .kilp-root .kilp-faq-section {
	background: var(--kilp-ivory);
}

body.kilp-page .kilp-root .kilp-faq-list {
	gap: 10px;
	max-width: 980px;
}

body.kilp-page .kilp-root .kilp-faq-item {
	background: var(--kilp-white);
	border: 1px solid #dbe1e6;
	border-radius: 9px;
	box-shadow: 0 5px 16px rgba(0, 27, 68, .045);
	overflow: hidden;
}

body.kilp-page .kilp-root .kilp-faq-item summary {
	color: var(--kilp-navy-deep);
	font-size: 16px;
	font-weight: 900;
	line-height: 1.55;
	min-height: 70px;
	padding: 21px 54px 18px 62px;
}

body.kilp-page .kilp-root .kilp-faq-item summary::before {
	background: var(--kilp-navy-deep);
	border: 2px solid var(--kilp-yellow);
	font-size: 14px;
	height: 34px;
	left: 16px;
	top: 17px;
	width: 34px;
}

body.kilp-page .kilp-root .kilp-faq-item summary::after {
	color: var(--kilp-green);
	font-size: 28px;
	right: 19px;
	top: 13px;
}

body.kilp-page .kilp-root .kilp-faq-item[open] {
	border-color: #b9d7d1;
	box-shadow: 0 10px 25px rgba(13, 116, 113, .09);
}

body.kilp-page .kilp-root .kilp-faq-item[open] summary {
	background: #f3f8f7;
}

body.kilp-page .kilp-root .kilp-faq-item > p {
	border-top: 1px solid #dfe5e9;
	color: #48576a;
	font-size: 15px !important;
	font-weight: 600;
	line-height: 1.85 !important;
	padding: 19px 22px 21px 62px;
}

body.kilp-page .kilp-root .kilp-fee-reminder {
	background: linear-gradient(145deg, var(--kilp-navy-deep), #062b51);
	border: 0;
	border-radius: 14px;
	box-shadow: 0 17px 38px rgba(0, 27, 68, .17);
	margin: 34px auto 0;
	max-width: 1040px;
	padding: 28px;
}

body.kilp-page .kilp-root .kilp-fee-reminder > p:first-child {
	color: #a6d8d2;
	font-size: 13px;
	letter-spacing: .04em;
}

body.kilp-page .kilp-root .kilp-fee-reminder > h3 {
	color: var(--kilp-white);
	font-size: 28px;
	margin: 6px 0 18px;
}

body.kilp-page .kilp-root .kilp-fee-compact-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.kilp-page .kilp-root .kilp-fee-compact-grid > div {
	background: var(--kilp-white);
	border: 2px solid transparent;
	border-radius: 9px;
	padding: 16px 14px;
}

body.kilp-page .kilp-root .kilp-fee-compact-grid > div.is-featured {
	border-color: var(--kilp-yellow);
}

body.kilp-page .kilp-root .kilp-fee-compact-grid span,
body.kilp-page .kilp-root .kilp-fee-compact-grid .is-featured span {
	background: var(--kilp-navy-deep);
	border-radius: 4px;
	color: var(--kilp-white);
	font-size: 11px;
	padding: 5px 8px;
}

body.kilp-page .kilp-root .kilp-fee-compact-grid .is-featured span {
	background: var(--kilp-terracotta);
}

body.kilp-page .kilp-root .kilp-fee-compact-grid b {
	font-size: 14px;
}

body.kilp-page .kilp-root .kilp-fee-compact-grid p {
	font-size: 14px;
	margin: 9px 0 5px;
}

body.kilp-page .kilp-root .kilp-fee-compact-grid p strong {
	color: var(--kilp-terracotta);
	font-size: 48px;
}

body.kilp-page .kilp-root .kilp-fee-compact-grid small {
	color: var(--kilp-muted);
	font-size: 11px !important;
}

body.kilp-page .kilp-root .kilp-fee-tax-note {
	font-style: normal;
}

@media (max-width: 519px) {
	body.kilp-page .kilp-root .kilp-fee-compact-grid {
		grid-template-columns: 1fr;
	}

	body.kilp-page .kilp-root .kilp-fee-compact-grid .kilp-fee-tax-note {
		display: block;
		line-height: 1.35;
		margin-top: 1px;
	}
}

body.kilp-page .kilp-root .kilp-fee-reminder .kilp-fee-note {
	color: rgba(255, 255, 255, .67);
}

body.kilp-page .kilp-root .kilp-fee-reminder > .wp-block-buttons {
	margin-top: 16px;
}

/* Final CTA */
body.kilp-page .kilp-root .kilp-final-cta {
	background:
		radial-gradient(circle at 12% 15%, rgba(13, 116, 113, .42), transparent 31%),
		linear-gradient(145deg, var(--kilp-navy-deep), #06274d);
	color: var(--kilp-white);
	padding: 70px 28px 74px;
	text-align: center;
}

body.kilp-page .kilp-root .kilp-final-cta > p:first-child {
	color: #9fd4cd;
	font-size: 13px;
	letter-spacing: .09em;
}

body.kilp-page .kilp-root .kilp-final-cta h2 {
	color: var(--kilp-white);
	font-size: clamp(34px, 3.4vw, 46px);
	margin: 10px 0 24px;
}

body.kilp-page .kilp-root .kilp-final-cta > .wp-block-buttons,
body.kilp-page .kilp-root .kilp-final-cta > .wp-block-shortcode,
body.kilp-page .kilp-root .kilp-final-cta .kilp-line-button.is-final {
	margin: 10px auto 0;
	max-width: 680px;
	width: 100%;
}

body.kilp-page .kilp-root .kilp-final-cta .kilp-line-button.is-final {
	font-size: 16px;
	min-height: 66px;
}

body.kilp-page .kilp-root .kilp-final-cta .kilp-line-button.is-final b {
	color: #138246 !important;
}

/* Contact form */
body.kilp-page .kilp-root .kilp-contact-section {
	background: var(--kilp-ivory);
	padding-bottom: 96px;
}

body.kilp-page .kilp-root .kilp-form-shell {
	background: var(--kilp-white);
	border: 1px solid #dde2e7;
	border-radius: 16px;
	border-top: 8px solid var(--kilp-green);
	box-shadow: 0 22px 55px rgba(0, 27, 68, .12);
	max-width: 940px;
	padding: 38px;
}

body.kilp-page .kilp-root .kilp-contact-form {
	gap: 22px;
}

body.kilp-page .kilp-root .kilp-field-row {
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.kilp-page .kilp-root .kilp-field {
	gap: 8px;
}

body.kilp-page .kilp-root .kilp-field > span,
body.kilp-page .kilp-root .kilp-checkbox-field legend {
	color: var(--kilp-navy-deep);
	font-size: 15px;
	font-weight: 900;
}

body.kilp-page .kilp-root .kilp-field > span b,
body.kilp-page .kilp-root .kilp-field > span .is-either {
	background: #b83a2b;
	border-radius: 4px;
	font-size: 10px;
	padding: 4px 6px;
}

body.kilp-page .kilp-root .kilp-field > span .is-either {
	background: var(--kilp-terracotta);
}

body.kilp-page .kilp-root .kilp-field input,
body.kilp-page .kilp-root .kilp-field textarea {
	background: #fff;
	border: 1px solid #aeb8c3;
	border-radius: 7px;
	color: var(--kilp-ink);
	font-size: 16px;
	min-height: 54px;
	padding: 13px 14px;
	transition: border-color .18s ease, box-shadow .18s ease;
}

body.kilp-page .kilp-root .kilp-field textarea {
	min-height: 170px;
	resize: vertical;
}

body.kilp-page .kilp-root .kilp-field input:focus,
body.kilp-page .kilp-root .kilp-field textarea:focus {
	border-color: var(--kilp-green);
	box-shadow: 0 0 0 4px rgba(13, 116, 113, .13);
	outline: 0;
}

body.kilp-page .kilp-root .kilp-contact-help {
	background: var(--kilp-green-light);
	border-left: 4px solid var(--kilp-green);
	border-radius: 4px;
	color: #345b58;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.65;
	margin-top: -13px;
	padding: 9px 11px;
}

body.kilp-page .kilp-root .kilp-checkbox-field {
	border: 1px solid #cfd7df;
	border-radius: 9px;
	padding: 18px 16px 16px;
}

body.kilp-page .kilp-root .kilp-checkbox-field legend {
	padding: 0 8px;
}

body.kilp-page .kilp-root .kilp-checkbox-field legend small {
	color: var(--kilp-green);
	font-size: 11px !important;
}

body.kilp-page .kilp-root .kilp-checkbox-grid {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.kilp-page .kilp-root .kilp-checkbox-grid.is-compact {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.kilp-page .kilp-root .kilp-checkbox-grid label {
	background: #f6f8f9;
	border: 1px solid #e0e5e9;
	border-radius: 6px;
	color: #35465a;
	font-size: 13px;
	font-weight: 700;
	gap: 9px;
	line-height: 1.5;
	min-height: 49px;
	padding: 9px 11px;
	transition: background-color .18s ease, border-color .18s ease;
}

body.kilp-page .kilp-root .kilp-checkbox-grid input,
body.kilp-page .kilp-root .kilp-privacy-check input {
	accent-color: var(--kilp-green);
	flex-basis: 20px;
	height: 20px;
	width: 20px;
}

body.kilp-page .kilp-root .kilp-count {
	color: var(--kilp-muted);
	font-size: 11px;
}

body.kilp-page .kilp-root .kilp-privacy-check {
	background: #f1f5f4;
	border: 1px solid #d9e2df;
	border-radius: 7px;
	font-size: 13px;
	font-weight: 700;
	gap: 10px;
	padding: 14px;
}

body.kilp-page .kilp-root .kilp-privacy-open {
	color: var(--kilp-green);
	font-weight: 900;
	text-underline-offset: 3px;
}

body.kilp-page .kilp-root .kilp-form-status,
body.kilp-page .kilp-root .kilp-form-error {
	border-radius: 6px;
	font-size: 14px;
	line-height: 1.7;
	padding: 12px 14px;
}

body.kilp-page .kilp-root .kilp-submit {
	font-size: 17px;
	min-height: 74px;
}

/* Privacy modal */
body.kilp-page .kilp-root .kilp-modal {
	padding: 20px;
}

body.kilp-page .kilp-root .kilp-modal-backdrop {
	background: rgba(0, 16, 39, .82);
}

body.kilp-page .kilp-root .kilp-modal-card {
	border-radius: 12px;
	box-shadow: 0 26px 80px rgba(0, 0, 0, .36);
	max-height: min(88vh, 780px);
	padding: 34px 30px;
}

body.kilp-page .kilp-root .kilp-modal-card h2 {
	color: var(--kilp-navy-deep);
	font-size: 26px;
}

body.kilp-page .kilp-root .kilp-modal-content {
	color: #49586b;
	font-size: 14px;
	line-height: 1.9;
}

body.kilp-page .kilp-root .kilp-modal-close {
	background: var(--kilp-navy-deep);
	height: 38px;
	right: 15px;
	top: 15px;
	width: 38px;
}

body.kilp-page .kilp-root .kilp-modal-consent {
	border-top-color: #d8e0e6;
}

body.kilp-page .kilp-root .kilp-modal-consent-check {
	background: #f2f6f5;
	border-radius: 6px;
	color: var(--kilp-navy-deep);
}

body.kilp-page .kilp-root .kilp-modal-consent-button {
	background: var(--kilp-green);
	border-radius: 7px;
	min-height: 58px;
}

/* Footer */
body.kilp-page .kilp-root .kilp-footer {
	background: #00152f;
	color: #d4dce6;
	padding: 44px 24px 48px;
}

body.kilp-page .kilp-root .kilp-footer > h3 {
	color: var(--kilp-white);
	font-size: 22px;
}

body.kilp-page .kilp-root .kilp-footer > p {
	font-size: 12px;
	line-height: 1.75;
	margin-top: 9px;
}

body.kilp-page .kilp-root .kilp-footer .kilp-lawyer-profile {
	border-bottom-color: rgba(255, 255, 255, .14);
	border-top-color: rgba(255, 255, 255, .14);
	display: block !important;
	margin: 20px auto 15px;
	max-width: 680px;
	opacity: .92;
	padding: 17px 0 !important;
	text-align: center !important;
}

body.kilp-page .kilp-root .kilp-footer .kilp-lawyer-data {
	text-align: center !important;
}

body.kilp-page .kilp-root .kilp-footer .kilp-lawyer-data h3 {
	color: var(--kilp-white);
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.65;
}

body.kilp-page .kilp-root .kilp-footer .kilp-lawyer-data p,
body.kilp-page .kilp-root .kilp-footer .kilp-lawyer-data p strong {
	color: #cbd5df;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.65;
}

body.kilp-page .kilp-root .kilp-footer .kilp-bengo4-link {
	font-size: 12px !important;
	opacity: .86;
}

body.kilp-page .kilp-root .kilp-footer .kilp-bengo4-link a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Mobile conversion bar is enabled in mobile media queries below. */
body.kilp-page .kilp-root .kilp-mobile-sticky {
	display: none;
}

/* v1.5.16 markup refinements */
body.kilp-page .kilp-root .kilp-brand-v1516 {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 5px 11px;
}

body.kilp-page .kilp-root .kilp-brand-office {
	flex: 0 0 auto;
}

body.kilp-page .kilp-root .kilp-brand-service,
body.kilp-page .kilp-root .kilp-brand-area {
	background: #f1f5f4;
	border-radius: 999px;
	color: var(--kilp-green);
	margin: 0;
	padding: 4px 8px;
}

body.kilp-page .kilp-root .kilp-brand-area {
	background: var(--kilp-navy-deep);
	color: var(--kilp-white);
}

body.kilp-page .kilp-root .kilp-hero-message {
	position: relative;
	z-index: 3;
}

body.kilp-page .kilp-root .kilp-hero-offer {
	margin-top: 0;
	max-width: 540px;
	width: 100%;
}

body.kilp-page .kilp-root .kilp-hero-cta-stack {
	display: grid;
	gap: 9px;
	margin-top: 13px;
}

/* The FV is deliberately concise; complete fee figures remain in #pricing. */
body.kilp-page .kilp-root .kilp-hero-fee-head {
	justify-content: center;
}

body.kilp-page .kilp-root .kilp-hero-fee-head b,
body.kilp-page .kilp-root .kilp-hero-zero small,
body.kilp-page .kilp-root .kilp-hero-success > span,
body.kilp-page .kilp-root .kilp-hero-success > p {
	display: none !important;
}

body.kilp-page .kilp-root .kilp-hero-fee-grid {
	grid-template-columns: 1fr;
}

body.kilp-page .kilp-root .kilp-hero-zero {
	border: 0;
	min-height: 180px;
}

body.kilp-page .kilp-root .kilp-hero-success {
	align-items: center;
	border-top: 1px solid rgba(255, 255, 255, .18);
	display: flex;
	justify-content: center;
	min-height: 54px;
	padding: 10px 14px;
}

body.kilp-page .kilp-root .kilp-hero-success::before {
	color: var(--kilp-white);
	content: "成功報酬制";
	font-size: 18px;
	font-weight: 900;
	letter-spacing: .05em;
}

body.kilp-page .kilp-root .kilp-post-services-cta {
	background: var(--kilp-ivory);
	padding: 38px 24px;
}

body.kilp-page .kilp-root .kilp-post-services-cta .kilp-inline-cta {
	margin-top: 0;
}

body.kilp-page .kilp-root .kilp-quick-benefits > .wp-block-column {
	align-items: center;
	display: flex;
	gap: 13px;
}

body.kilp-page .kilp-root .kilp-quick-benefit-icon {
	align-items: center;
	background: var(--kilp-green);
	border-radius: 50%;
	color: var(--kilp-white);
	display: flex;
	flex: 0 0 44px;
	height: 44px;
	justify-content: center;
	padding: 0;
	width: 44px;
}

body.kilp-page .kilp-root .kilp-quick-benefit-icon::before {
	content: "✓";
	font-size: 19px;
	font-weight: 900;
}

body.kilp-page .kilp-root .kilp-quick-benefits > .wp-block-column:nth-child(1) .kilp-quick-benefit-icon::before {
	content: "☎";
}

body.kilp-page .kilp-root .kilp-quick-benefits > .wp-block-column:nth-child(2) .kilp-quick-benefit-icon::before {
	content: "▤";
}

body.kilp-page .kilp-root .kilp-quick-benefits p {
	display: grid;
	flex: 1 1 auto;
	gap: 2px;
	grid-template-columns: 1fr;
}

body.kilp-page .kilp-root .kilp-quick-benefits p > span {
	display: none;
}

/* Pointer hover is limited to devices that actually support hover. */
@media (hover: hover) and (pointer: fine) {
	body.kilp-page .kilp-root .kilp-primary-button .wp-block-button__link:hover,
	body.kilp-page .kilp-root .kilp-header-button .wp-block-button__link:hover,
	body.kilp-page .kilp-root .kilp-submit:hover {
		background: linear-gradient(180deg, #e84908 0%, #da3e05 100%);
		box-shadow: 0 15px 30px rgba(189, 53, 0, .3);
		transform: translateY(-2px);
	}

	body.kilp-page .kilp-root .kilp-line-button:hover {
		background: #eaf8ee;
		border-color: #128d48;
		color: #0f713b;
		transform: translateY(-2px);
	}

	body.kilp-page .kilp-root .kilp-check-card:hover,
	body.kilp-page .kilp-root .kilp-visual-card:hover {
		box-shadow: 0 18px 42px rgba(0, 27, 68, .14);
		transform: translateY(-3px);
	}

	body.kilp-page .kilp-root .kilp-service-card:hover {
		transform: translateY(-3px);
	}

	body.kilp-page .kilp-root .kilp-checkbox-grid label:hover {
		background: #eef6f4;
		border-color: #b7d6cf;
	}

	body.kilp-page .kilp-root .kilp-privacy-open:hover,
	body.kilp-page .kilp-root .kilp-footer a:hover {
		text-decoration-thickness: 2px;
	}
}

/* Large desktop: 1200px and above */
@media (min-width: 1200px) {
	body.kilp-page .kilp-root .kilp-header {
		min-height: 86px;
	}

	body.kilp-page .kilp-root .kilp-brand {
		font-size: 24px;
	}

	body.kilp-page .kilp-root .kilp-hero {
		padding: 44px 36px 38px;
	}

	body.kilp-page .kilp-root .kilp-hero-inner {
		gap: 42px;
		grid-template-columns: minmax(0, 1.06fr) minmax(470px, .94fr);
		max-width: 1280px;
		min-height: 735px;
	}

	body.kilp-page .kilp-root .kilp-hero-visual {
		min-height: 735px;
	}

	body.kilp-page .kilp-root .kilp-hero-title {
		font-size: clamp(62px, 4.8vw, 72px);
	}

	body.kilp-page .kilp-root .kilp-hero-zero p strong {
		font-size: 136px !important;
	}

	body.kilp-page .kilp-root .kilp-section {
		padding-bottom: 94px;
		padding-top: 94px;
	}

	body.kilp-page .kilp-root .kilp-visual-card .wp-block-image {
		height: 240px;
	}

	body.kilp-page .kilp-root .kilp-flow-visual-image {
		height: 280px;
	}
}

/* Compact desktop: 1025px-1199px (base layout refinements). */
@media (min-width: 1025px) and (max-width: 1199px) {
	body.kilp-page .kilp-root .kilp-header {
		padding-left: 26px;
		padding-right: 26px;
	}

	body.kilp-page .kilp-root .kilp-brand {
		font-size: 20px;
	}

	body.kilp-page .kilp-root .kilp-hero-inner {
		grid-template-columns: minmax(0, 1.12fr) minmax(370px, .88fr);
	}

	body.kilp-page .kilp-root .kilp-hero-title {
		font-size: 54px;
	}

	body.kilp-page .kilp-root .kilp-hero-zero p strong {
		font-size: 112px !important;
	}
}

/* Tablet: 769px-1024px */
@media (min-width: 769px) and (max-width: 1024px) {
	body.kilp-page .kilp-root small {
		font-size: 12px !important;
	}

	body.kilp-page .kilp-root .kilp-header {
		gap: 13px;
		min-height: 74px;
		padding: 9px 20px;
	}

	body.kilp-page .kilp-root .kilp-brand {
		font-size: 17px;
	}

	body.kilp-page .kilp-root .kilp-brand small {
		font-size: 9px !important;
	}

	body.kilp-page .kilp-root .kilp-header-button .wp-block-button__link {
		font-size: 12px;
		min-height: 44px;
		padding: 11px 13px;
	}

	body.kilp-page .kilp-root .kilp-header-actions .kilp-line-button.is-header {
		font-size: 11px;
		min-height: 44px;
		padding: 6px 10px;
	}

	body.kilp-page .kilp-root .kilp-header-actions .kilp-line-button.is-header > span {
		height: 27px;
		width: 27px;
	}

	body.kilp-page .kilp-root .kilp-hero {
		padding: 31px 22px 30px;
	}

	body.kilp-page .kilp-root .kilp-hero-inner {
		gap: 20px;
		grid-template-columns: minmax(0, 1.13fr) minmax(300px, .87fr);
		min-height: 625px;
	}

	body.kilp-page .kilp-root .kilp-hero-copy {
		padding: 5px 0;
	}

	body.kilp-page .kilp-root .kilp-badges {
		gap: 6px;
		margin-bottom: 12px;
	}

	body.kilp-page .kilp-root .kilp-badges p,
	body.kilp-page .kilp-root .kilp-badges p + p {
		font-size: 12px;
		padding: 7px 10px;
	}

	body.kilp-page .kilp-root .kilp-eyebrow {
		font-size: 12px;
	}

	body.kilp-page .kilp-root .kilp-hero-title {
		font-size: clamp(42px, 5.55vw, 52px);
	}

	body.kilp-page .kilp-root .kilp-hero-lead {
		font-size: 15px;
		line-height: 1.65;
		margin-top: 12px;
	}

	body.kilp-page .kilp-root .kilp-hero-fee {
		margin-top: 15px;
	}

	body.kilp-page .kilp-root .kilp-hero-fee-head {
		min-height: 45px;
		padding: 7px 12px;
	}

	body.kilp-page .kilp-root .kilp-hero-fee-head span {
		font-size: 11px;
		padding: 5px 7px;
	}

	body.kilp-page .kilp-root .kilp-hero-fee-head b {
		font-size: 13px !important;
	}

	body.kilp-page .kilp-root .kilp-hero-zero,
	body.kilp-page .kilp-root .kilp-hero-success {
		min-height: 148px;
		padding: 10px 8px;
	}

	body.kilp-page .kilp-root .kilp-hero-zero > span {
		font-size: 14px;
	}

	body.kilp-page .kilp-root .kilp-hero-zero p strong {
		font-size: 96px !important;
	}

	body.kilp-page .kilp-root .kilp-hero-zero p b {
		font-size: 22px;
	}

	body.kilp-page .kilp-root .kilp-hero-success p b {
		font-size: 12px !important;
	}

	body.kilp-page .kilp-root .kilp-action-call {
		font-size: 12px;
		margin-top: 10px;
	}

	body.kilp-page .kilp-root .kilp-hero .kilp-primary-button .wp-block-button__link,
	body.kilp-page .kilp-root .kilp-hero-line-action > .kilp-line-button.is-hero {
		font-size: 15px;
		min-height: 62px;
	}

	body.kilp-page .kilp-root .kilp-hero-visual {
		background-size: 100% 100%, auto 180%, contain;
		min-height: 625px;
	}

	body.kilp-page .kilp-root .kilp-calm-card {
		bottom: 14px;
		left: 12px;
		right: 12px;
	}

	body.kilp-page .kilp-root .kilp-quick-benefits {
		padding: 0 16px;
	}

	body.kilp-page .kilp-root .kilp-quick-benefits > .wp-block-column {
		padding: 16px 13px;
	}

	body.kilp-page .kilp-root .kilp-quick-benefits p {
		gap: 2px 8px;
		grid-template-columns: 39px 1fr;
	}

	body.kilp-page .kilp-root .kilp-quick-benefits span {
		height: 36px;
		width: 36px;
	}

	body.kilp-page .kilp-root .kilp-quick-benefits strong {
		font-size: 15px;
	}

	body.kilp-page .kilp-root .kilp-section {
		padding: 68px 22px;
	}

	body.kilp-page .kilp-root .kilp-section-heading h2,
	body.kilp-page .kilp-root .kilp-final-cta h2 {
		font-size: 38px;
	}

	body.kilp-page .kilp-root .kilp-check-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.kilp-page .kilp-root .kilp-visual-grid,
	body.kilp-page .kilp-root .kilp-service-grid,
	body.kilp-page .kilp-root .kilp-flow-visual-grid {
		gap: 13px;
	}

	body.kilp-page .kilp-root .kilp-visual-card .wp-block-image {
		height: 175px;
	}

	body.kilp-page .kilp-root .kilp-visual-card h3,
	body.kilp-page .kilp-root .kilp-flow-visual-copy h3 {
		font-size: 19px;
	}

	body.kilp-page .kilp-root .kilp-inline-cta {
		grid-template-columns: minmax(0, 1fr) 300px;
		padding: 21px 22px;
	}

	body.kilp-page .kilp-root .kilp-service-card {
		min-height: 215px;
		padding: 20px 17px;
	}

	body.kilp-page .kilp-root .kilp-service-card h3 {
		font-size: 22px;
	}

	body.kilp-page .kilp-root .kilp-service-card li {
		font-size: 13px !important;
	}

	body.kilp-page .kilp-root .kilp-service-handoff-visual {
		height: 300px;
		min-height: 300px;
	}

	body.kilp-page .kilp-root .kilp-service-handoff-copy {
		padding: 27px 24px;
	}

	body.kilp-page .kilp-root .kilp-service-handoff-copy h3 {
		font-size: 25px;
	}

	body.kilp-page .kilp-root .kilp-fee-row p strong {
		font-size: 66px !important;
	}

	body.kilp-page .kilp-root .kilp-price-card .kilp-fee-row {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	body.kilp-page .kilp-root .kilp-price-card .kilp-success-row {
		margin-left: 16px !important;
		margin-right: 16px !important;
	}

	body.kilp-page .kilp-root .kilp-price-card .kilp-plan-caption {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	body.kilp-page .kilp-root .kilp-results-section .kilp-case-grid {
		gap: 14px;
	}

	body.kilp-page .kilp-root .kilp-case-card {
		padding: 21px 18px 22px;
	}

	body.kilp-page .kilp-root .kilp-case-card h3 {
		font-size: 21px;
	}

	body.kilp-page .kilp-root .kilp-case-card p {
		font-size: 14px !important;
	}

	body.kilp-page .kilp-root .kilp-flow-visual-image {
		height: 205px;
	}

	body.kilp-page .kilp-root .kilp-flow-visual-copy {
		padding: 17px 15px 19px;
	}

	body.kilp-page .kilp-root .kilp-lawyer-card {
		grid-template-columns: minmax(270px, .82fr) minmax(0, 1.18fr);
	}

	body.kilp-page .kilp-root .kilp-lawyer-card > .wp-block-column:last-child {
		padding: 35px 28px;
	}

	body.kilp-page .kilp-root .kilp-lawyer-card h2 {
		font-size: 31px;
	}

	body.kilp-page .kilp-root .kilp-form-shell {
		padding: 30px;
	}
}

/* Smartphone: 768px and below */
@media (max-width: 768px) {
	body.kilp-page .kilp-root {
		padding-bottom: calc(82px + env(safe-area-inset-bottom));
	}

	body.kilp-page .kilp-root small {
		font-size: 12px !important;
	}

	body.kilp-page .kilp-root .kilp-topbar {
		font-size: 10px;
		padding: 6px 10px;
	}

	body.kilp-page .kilp-root .kilp-header {
		min-height: 65px;
		padding: 9px 15px;
	}

	body.kilp-page.admin-bar .kilp-root .kilp-header {
		top: 46px;
	}

	body.kilp-page .kilp-root .kilp-brand {
		font-size: 17px;
		line-height: 1.16;
	}

	body.kilp-page .kilp-root .kilp-brand small {
		font-size: 8px !important;
		margin-top: 3px;
	}

	body.kilp-page .kilp-root .kilp-header-actions {
		display: none;
	}

	body.kilp-page .kilp-root .kilp-hero {
		padding: 26px 14px 28px;
	}

	body.kilp-page .kilp-root .kilp-hero::after {
		height: 220px;
		right: -110px;
		top: 170px;
		width: 220px;
	}

	body.kilp-page .kilp-root .kilp-hero-inner {
		display: grid !important;
		gap: 0;
		grid-template-columns: minmax(0, 53%) minmax(0, 47%);
		grid-template-rows: auto auto auto auto minmax(clamp(390px, 112vw, 500px), auto) auto auto auto auto auto;
		min-height: 0;
	}

	body.kilp-page .kilp-root .kilp-hero-copy {
		display: contents;
	}

	body.kilp-page .kilp-root .kilp-badges {
		grid-column: 1 / -1;
		grid-row: 1;
		gap: 7px;
		margin-bottom: 15px;
	}

	body.kilp-page .kilp-root .kilp-badges p,
	body.kilp-page .kilp-root .kilp-badges p + p {
		font-size: 12px;
		padding: 8px 10px;
	}

	body.kilp-page .kilp-root .kilp-eyebrow {
		font-size: 12px;
		grid-column: 1 / -1;
		grid-row: 2;
		line-height: 1.6;
		margin-bottom: 7px;
	}

	body.kilp-page .kilp-root .kilp-hero-title {
		font-size: clamp(38px, 10.7vw, 56px);
		grid-column: 1 / -1;
		grid-row: 3;
		line-height: 1.13;
		position: relative;
		z-index: 4;
	}

	body.kilp-page .kilp-root .kilp-hero-title > mark {
		font-size: .86em;
		margin-bottom: 5px;
	}

	body.kilp-page .kilp-root .kilp-hero-lead {
		font-size: 15px;
		grid-column: 1 / -1;
		grid-row: 4;
		line-height: 1.68;
		margin: 14px 0 9px;
		position: relative;
		z-index: 4;
	}

	body.kilp-page .kilp-root .kilp-hero-fee {
		align-self: end;
		grid-column: 1;
		grid-row: 5;
		margin: 0 0 16px;
		position: relative;
		width: calc(100% + 18px);
		z-index: 5;
	}

	body.kilp-page .kilp-root .kilp-hero-fee-head {
		align-items: center;
		flex-wrap: wrap;
		gap: 5px 8px;
		justify-content: center;
		min-height: 64px;
		padding: 8px 7px;
		text-align: center;
	}

	body.kilp-page .kilp-root .kilp-hero-fee-head span {
		font-size: 12px;
		padding: 6px 8px;
	}

	body.kilp-page .kilp-root .kilp-hero-fee-head b {
		flex: 1 1 100%;
		font-size: 11px !important;
		justify-content: center;
	}

	body.kilp-page .kilp-root .kilp-hero-fee-grid {
		grid-template-columns: 1fr;
	}

	body.kilp-page .kilp-root .kilp-hero-zero,
	body.kilp-page .kilp-root .kilp-hero-success {
		border: 0;
		min-height: 0;
		padding: 11px 7px;
	}

	body.kilp-page .kilp-root .kilp-hero-zero {
		border-bottom: 1px solid rgba(255, 255, 255, .18);
	}

	body.kilp-page .kilp-root .kilp-hero-zero > span {
		font-size: 15px;
	}

	body.kilp-page .kilp-root .kilp-hero-zero p strong {
		font-size: clamp(88px, 26vw, 116px) !important;
	}

	body.kilp-page .kilp-root .kilp-hero-zero p b {
		font-size: 22px;
		margin-left: 4px;
	}

	body.kilp-page .kilp-root .kilp-hero-zero small {
		font-size: 9px !important;
		line-height: 1.45 !important;
		margin-top: 6px;
	}

	body.kilp-page .kilp-root .kilp-hero-success > span {
		font-size: 11px;
	}

	body.kilp-page .kilp-root .kilp-hero-success p {
		gap: 2px;
		margin-top: 4px;
	}

	body.kilp-page .kilp-root .kilp-hero-success p b {
		font-size: 10px !important;
		line-height: 1.45;
		white-space: normal !important;
	}

	body.kilp-page .kilp-root .kilp-hero-success p i {
		font-size: 17px !important;
	}

	body.kilp-page .kilp-root .kilp-hero-visual {
		background-image:
			linear-gradient(90deg, var(--kilp-ivory) 0%, rgba(251, 248, 241, .96) 39%, rgba(251, 248, 241, .64) 52%, rgba(251, 248, 241, 0) 72%),
			url("../images/lawyer-sugamoto-hero.png"),
			url("../images/hero-consultation-neutral.webp");
		background-position: center, right 72%, center;
		background-size: 100% 100%, auto 166%, contain;
		border-radius: 0;
		grid-column: 1 / -1;
		grid-row: 5;
		min-height: 100%;
		position: relative;
		z-index: 1;
	}

	body.kilp-page .kilp-root .kilp-hero-visual .kilp-hero-person {
		height: 166% !important;
		top: 72%;
	}

	body.kilp-page #top .kilp-root .kilp-hero-visual > figure.kilp-hero-person {
		height: 100% !important;
		min-height: 100% !important;
	}

	body.kilp-page #top .kilp-root .kilp-hero-visual > figure.kilp-hero-person img {
		height: 166% !important;
	}

	body.kilp-page .kilp-root .kilp-calm-card {
		display: none;
	}

	body.kilp-page .kilp-root .kilp-action-call {
		font-size: 13px;
		grid-column: 1 / -1;
		grid-row: 6;
		margin: 5px 0 9px;
	}

	body.kilp-page .kilp-root .kilp-hero-copy > .kilp-actions:not(.kilp-hero-line-action) {
		grid-column: 1 / -1;
		grid-row: 7;
	}

	body.kilp-page .kilp-root .kilp-hero-line-action {
		grid-column: 1 / -1;
		grid-row: 8;
		margin-top: 9px;
	}

	body.kilp-page .kilp-root .kilp-hero .kilp-primary-button .wp-block-button__link,
	body.kilp-page .kilp-root .kilp-hero-line-action > .kilp-line-button.is-hero {
		font-size: 16px;
		min-height: 66px;
	}

	body.kilp-page .kilp-root .kilp-cta-note {
		font-size: 11px !important;
		grid-column: 1 / -1;
		grid-row: 9;
		margin-top: 8px;
	}

	body.kilp-page .kilp-root .kilp-service-chips {
		display: grid;
		grid-column: 1 / -1;
		grid-row: 10;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: 13px;
	}

	body.kilp-page .kilp-root .kilp-service-chips p {
		font-size: 11px;
		padding: 6px 8px;
		text-align: center;
	}

	body.kilp-page .kilp-root .kilp-quick-benefits {
		grid-template-columns: 1fr;
		padding: 9px 14px;
	}

	body.kilp-page .kilp-root .kilp-quick-benefits > .wp-block-column {
		border-bottom: 1px solid #e2e6ea;
		border-right: 0;
		padding: 12px 8px;
	}

	body.kilp-page .kilp-root .kilp-quick-benefits > .wp-block-column:last-child {
		border-bottom: 0;
	}

	body.kilp-page .kilp-root .kilp-quick-benefits p {
		grid-template-columns: 42px 1fr;
	}

	body.kilp-page .kilp-root .kilp-quick-benefits span {
		height: 37px;
		width: 37px;
	}

	body.kilp-page .kilp-root .kilp-quick-benefits strong {
		font-size: 15px;
	}

	body.kilp-page .kilp-root .kilp-kumamoto-band {
		align-items: flex-start;
		justify-content: flex-start;
		padding: 14px;
	}

	body.kilp-page .kilp-root .kilp-kumamoto-band strong {
		font-size: 14px;
	}

	body.kilp-page .kilp-root .kilp-section {
		padding: 58px 15px;
	}

	body.kilp-page .kilp-root .kilp-section-heading {
		margin-bottom: 26px;
	}

	body.kilp-page .kilp-root .kilp-kicker {
		font-size: 11px;
	}

	body.kilp-page .kilp-root .kilp-kicker::before,
	body.kilp-page .kilp-root .kilp-kicker::after {
		margin-left: 7px;
		margin-right: 7px;
		width: 19px;
	}

	body.kilp-page .kilp-root .kilp-section-heading h2,
	body.kilp-page .kilp-root .kilp-final-cta h2,
	body.kilp-page .kilp-root .kilp-lawyer-card h2 {
		font-size: clamp(30px, 8.5vw, 39px);
		line-height: 1.4;
	}

	body.kilp-page .kilp-root .kilp-section-heading > p:last-child:not(.kilp-kicker) {
		font-size: 14px;
		line-height: 1.75;
	}

	body.kilp-page .kilp-root .kilp-check-grid,
	body.kilp-page .kilp-root .kilp-visual-grid,
	body.kilp-page .kilp-root .kilp-service-grid,
	body.kilp-page .kilp-root .kilp-flow-visual-grid,
	body.kilp-page .kilp-root .kilp-results-section .kilp-case-grid {
		gap: 12px;
		grid-template-columns: 1fr !important;
	}

	body.kilp-page .kilp-root .kilp-check-card {
		min-height: 93px;
		padding: 18px 14px 17px 61px;
	}

	body.kilp-page .kilp-root .kilp-check-card::before {
		height: 34px;
		left: 15px;
		top: 18px;
		width: 34px;
	}

	body.kilp-page .kilp-root .kilp-check-card h3 {
		font-size: 16px;
	}

	body.kilp-page .kilp-root .kilp-check-card p {
		font-size: 13px !important;
	}

	body.kilp-page .kilp-root .kilp-visual-card .wp-block-image {
		height: clamp(190px, 58vw, 320px);
	}

	body.kilp-page .kilp-root .kilp-visual-card h3 {
		font-size: 22px;
	}

	body.kilp-page .kilp-root .kilp-inline-cta {
		display: block;
		margin-top: 24px;
		padding: 21px 16px;
		text-align: center;
	}

	body.kilp-page .kilp-root .kilp-inline-cta h3 {
		font-size: 21px;
		margin: 5px 0 13px;
	}

	body.kilp-page .kilp-root .kilp-zero-conversion {
		margin-top: 24px;
		padding: 15px;
	}

	body.kilp-page .kilp-root .kilp-zero-fee {
		grid-template-columns: 1fr;
	}

	body.kilp-page .kilp-root .kilp-zero-fee-offer {
		min-height: 104px;
	}

	body.kilp-page .kilp-root .kilp-zero-fee-offer > strong {
		font-size: 76px;
	}

	body.kilp-page .kilp-root .kilp-zero-fee > p {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
		font-size: 12px;
		padding: 12px;
	}

	body.kilp-page .kilp-root .kilp-service-card {
		min-height: 0;
		padding: 20px 18px;
	}

	body.kilp-page .kilp-root .kilp-service-card h3 {
		font-size: 23px;
	}

	body.kilp-page .kilp-root .kilp-service-card li {
		font-size: 14px !important;
	}

	body.kilp-page .kilp-root .kilp-service-handoff {
		grid-template-columns: 1fr !important;
		margin-top: 20px;
	}

	body.kilp-page .kilp-root .kilp-service-handoff-visual {
		height: clamp(210px, 64vw, 330px);
		min-height: 210px;
	}

	body.kilp-page .kilp-root .kilp-service-handoff-copy {
		border-left: 0;
		border-top: 6px solid var(--kilp-yellow);
		padding: 24px 19px;
	}

	body.kilp-page .kilp-root .kilp-service-handoff-copy h3 {
		font-size: 25px;
	}

	body.kilp-page .kilp-root .kilp-service-handoff-copy li {
		font-size: 14px;
	}

	body.kilp-page .kilp-root .kilp-pricing-grid {
		gap: 15px;
		grid-template-columns: 1fr;
	}

	body.kilp-page .kilp-root .kilp-price-card .kilp-fee-row {
		min-height: 112px;
		padding: 18px 16px 13px !important;
	}

	body.kilp-page .kilp-root .kilp-fee-row p strong {
		font-size: 68px !important;
	}

	body.kilp-page .kilp-root .kilp-fee-row p b {
		font-size: 16px !important;
	}

	body.kilp-page .kilp-root .kilp-price-card .kilp-success-row {
		margin: 0 16px !important;
		padding: 13px 0 !important;
	}

	body.kilp-page .kilp-root .kilp-success-row p {
		font-size: 14px;
	}

	body.kilp-page .kilp-root .kilp-price-card .kilp-plan-caption {
		font-size: 13px !important;
		padding: 0 16px 18px !important;
	}

	body.kilp-page .kilp-root .kilp-pricing-section > .kilp-actions {
		grid-template-columns: 1fr;
		margin-top: 20px;
	}

	body.kilp-page .kilp-root .kilp-case-card {
		padding: 22px 16px 23px;
	}

	body.kilp-page .kilp-root .kilp-case-card > p:first-child {
		align-items: flex-start;
		flex-direction: column;
	}

	body.kilp-page .kilp-root .kilp-case-card > p:first-child span,
	body.kilp-page .kilp-root .kilp-case-card > p:first-child b {
		font-size: 12px !important;
	}

	body.kilp-page .kilp-root .kilp-case-card h3 {
		font-size: 22px;
		margin-top: 14px;
	}

	body.kilp-page .kilp-root .kilp-case-card p {
		font-size: 14px !important;
		line-height: 1.85 !important;
	}

	body.kilp-page .kilp-root .kilp-case-card p:has(> strong) {
		display: block;
	}

	body.kilp-page .kilp-root .kilp-case-card p strong {
		margin-right: 5px;
	}

	body.kilp-page .kilp-root .kilp-flow-visual-image {
		height: clamp(210px, 64vw, 330px);
	}

	body.kilp-page .kilp-root .kilp-flow-visual-copy {
		padding: 19px 17px 22px;
	}

	body.kilp-page .kilp-root .kilp-flow-visual-copy h3 {
		font-size: 21px;
	}

	body.kilp-page .kilp-root .kilp-flow-visual-copy p {
		font-size: 14px !important;
	}

	body.kilp-page .kilp-root .kilp-lawyer-card {
		grid-template-columns: 1fr;
	}

	body.kilp-page .kilp-root .kilp-lawyer-card > .wp-block-column:first-child {
		min-height: 410px;
	}

	body.kilp-page .kilp-root .kilp-lawyer-card > .wp-block-column:last-child {
		padding: 29px 20px 32px;
	}

	body.kilp-page .kilp-root .kilp-lawyer-card h2 {
		font-size: 30px;
	}

	body.kilp-page .kilp-root .kilp-faq-list {
		gap: 8px;
	}

	body.kilp-page .kilp-root .kilp-faq-item summary {
		font-size: 14px;
		min-height: 64px;
		padding: 17px 44px 16px 51px;
	}

	body.kilp-page .kilp-root .kilp-faq-item summary::before {
		height: 29px;
		left: 11px;
		top: 15px;
		width: 29px;
	}

	body.kilp-page .kilp-root .kilp-faq-item summary::after {
		right: 13px;
		top: 11px;
	}

	body.kilp-page .kilp-root .kilp-faq-item > p {
		font-size: 14px !important;
		padding: 15px 14px 17px;
	}

	body.kilp-page .kilp-root .kilp-fee-reminder {
		margin-top: 25px;
		padding: 21px 14px;
	}

	body.kilp-page .kilp-root .kilp-fee-reminder > h3 {
		font-size: 23px;
	}

	body.kilp-page .kilp-root .kilp-fee-compact-grid {
		gap: 8px;
	}

	body.kilp-page .kilp-root .kilp-fee-compact-grid > div {
		padding: 12px 8px;
	}

	body.kilp-page .kilp-root .kilp-fee-compact-grid b {
		font-size: 11px;
	}

	body.kilp-page .kilp-root .kilp-fee-compact-grid p {
		font-size: 11px;
		white-space: normal;
	}

	body.kilp-page .kilp-root .kilp-fee-compact-grid p strong {
		font-size: 37px;
	}

	body.kilp-page .kilp-root .kilp-fee-compact-grid small {
		font-size: 9px !important;
	}

	body.kilp-page .kilp-root .kilp-final-cta {
		padding: 52px 15px 55px;
	}

	body.kilp-page .kilp-root .kilp-final-cta h2 {
		font-size: 31px;
		margin-bottom: 19px;
	}

	body.kilp-page .kilp-root .kilp-final-cta .kilp-line-button.is-final {
		font-size: 15px;
		min-height: 64px;
	}

	body.kilp-page .kilp-root .kilp-contact-section {
		padding-bottom: 68px;
	}

	body.kilp-page .kilp-root .kilp-form-shell {
		border-radius: 11px;
		padding: 21px 15px;
	}

	body.kilp-page .kilp-root .kilp-contact-form {
		gap: 18px;
	}

	body.kilp-page .kilp-root .kilp-field-row {
		gap: 16px;
		grid-template-columns: 1fr;
	}

	body.kilp-page .kilp-root .kilp-field > span,
	body.kilp-page .kilp-root .kilp-checkbox-field legend {
		font-size: 14px;
	}

	body.kilp-page .kilp-root .kilp-contact-help {
		font-size: 11px;
	}

	body.kilp-page .kilp-root .kilp-checkbox-field {
		padding: 15px 11px 12px;
	}

	body.kilp-page .kilp-root .kilp-checkbox-grid,
	body.kilp-page .kilp-root .kilp-checkbox-grid.is-compact {
		grid-template-columns: 1fr;
	}

	body.kilp-page .kilp-root .kilp-checkbox-grid label {
		font-size: 12px;
		min-height: 46px;
	}

	body.kilp-page .kilp-root .kilp-privacy-check {
		font-size: 12px;
	}

	body.kilp-page .kilp-root .kilp-submit {
		font-size: 15px;
		min-height: 68px;
	}

	body.kilp-page .kilp-root .kilp-modal {
		padding: 10px;
	}

	body.kilp-page .kilp-root .kilp-modal-card {
		border-radius: 9px;
		padding: 27px 17px;
	}

	body.kilp-page .kilp-root .kilp-modal-card h2 {
		font-size: 21px;
	}

	body.kilp-page .kilp-root .kilp-modal-content {
		font-size: 13px;
	}

	body.kilp-page .kilp-root .kilp-footer {
		padding: 37px 15px 39px;
	}

	body.kilp-page .kilp-root .kilp-mobile-sticky {
		align-items: stretch;
		background: rgba(255, 255, 255, .98);
		border-top: 1px solid #d4dbe2;
		box-shadow: 0 -9px 30px rgba(0, 27, 68, .16);
		display: grid;
		gap: 7px;
		grid-template-columns: 74px minmax(0, 1fr);
		padding: 7px 9px calc(7px + env(safe-area-inset-bottom));
		z-index: 200;
	}

	body.kilp-page .kilp-root .kilp-mobile-sticky .kilp-line-button {
		background: #20b65a;
		border: 0;
		box-shadow: none;
		color: var(--kilp-white);
		font-size: 11px;
		height: 100%;
		min-height: 60px;
		padding: 5px;
	}

	body.kilp-page .kilp-root .kilp-mobile-sticky .kilp-line-button > span {
		display: none;
	}

	body.kilp-page .kilp-root .kilp-mobile-sticky .kilp-line-button b {
		color: var(--kilp-white);
	}

	body.kilp-page .kilp-root .kilp-mobile-sticky .kilp-primary-button .wp-block-button__link {
		border-bottom-width: 3px;
		box-shadow: none;
		gap: 1px;
		min-height: 60px;
		padding: 6px 8px;
	}

	body.kilp-page .kilp-root .kilp-mobile-sticky .kilp-primary-button small {
		color: #fff2cc;
		font-size: 10px !important;
		font-weight: 900 !important;
		line-height: 1.25 !important;
	}

	body.kilp-page .kilp-root .kilp-mobile-sticky .kilp-primary-button strong {
		font-size: 13px;
		line-height: 1.25;
	}
}

/* Two-column form choices can safely return on larger phones. */
@media (min-width: 520px) and (max-width: 768px) {
	body.kilp-page .kilp-root .kilp-checkbox-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.kilp-page .kilp-root .kilp-checkbox-grid.is-compact {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Narrow smartphone: 390px and below */
@media (max-width: 390px) {
	body.kilp-page .kilp-root .kilp-topbar {
		font-size: 9px;
		letter-spacing: .035em;
	}

	body.kilp-page .kilp-root .kilp-header {
		min-height: 60px;
		padding: 8px 11px;
	}

	body.kilp-page .kilp-root .kilp-brand {
		font-size: 15px;
	}

	body.kilp-page .kilp-root .kilp-brand small {
		font-size: 7px !important;
	}

	body.kilp-page .kilp-root .kilp-hero {
		padding: 21px 11px 24px;
	}

	body.kilp-page .kilp-root .kilp-hero-inner {
		grid-template-columns: minmax(0, 55%) minmax(0, 45%);
		grid-template-rows: auto auto auto auto minmax(405px, auto) auto auto auto auto auto;
	}

	body.kilp-page .kilp-root .kilp-badges {
		gap: 5px;
		margin-bottom: 12px;
	}

	body.kilp-page .kilp-root .kilp-badges p,
	body.kilp-page .kilp-root .kilp-badges p + p {
		font-size: 10px;
		padding: 7px 8px;
	}

	body.kilp-page .kilp-root .kilp-eyebrow {
		font-size: 11px;
	}

	body.kilp-page .kilp-root .kilp-hero-title {
		font-size: clamp(35px, 10.2vw, 40px);
		letter-spacing: -.06em;
	}

	body.kilp-page .kilp-root .kilp-hero-lead {
		font-size: 13px;
		line-height: 1.65;
	}

	body.kilp-page .kilp-root .kilp-hero-fee {
		border-radius: 11px;
		width: calc(100% + 14px);
	}

	body.kilp-page .kilp-root .kilp-hero-fee-head {
		min-height: 59px;
	}

	body.kilp-page .kilp-root .kilp-hero-fee-head span {
		font-size: 10px;
	}

	body.kilp-page .kilp-root .kilp-hero-fee-head b {
		font-size: 9px !important;
	}

	body.kilp-page .kilp-root .kilp-hero-zero > span {
		font-size: 13px;
	}

	body.kilp-page .kilp-root .kilp-hero-zero p strong {
		font-size: 82px !important;
	}

	body.kilp-page .kilp-root .kilp-hero-zero p b {
		font-size: 19px;
	}

	body.kilp-page .kilp-root .kilp-hero-visual {
		background-size: 100% 100%, auto 165%, contain;
	}

	body.kilp-page .kilp-root .kilp-action-call {
		font-size: 11px;
	}

	body.kilp-page .kilp-root .kilp-action-call::before,
	body.kilp-page .kilp-root .kilp-action-call::after {
		width: 13px;
	}

	body.kilp-page .kilp-root .kilp-hero .kilp-primary-button .wp-block-button__link,
	body.kilp-page .kilp-root .kilp-hero-line-action > .kilp-line-button.is-hero {
		font-size: 14px;
		min-height: 62px;
		padding-left: 9px;
		padding-right: 9px;
	}

	body.kilp-page .kilp-root .kilp-section {
		padding-left: 12px;
		padding-right: 12px;
	}

	body.kilp-page .kilp-root .kilp-section-heading h2,
	body.kilp-page .kilp-root .kilp-final-cta h2,
	body.kilp-page .kilp-root .kilp-lawyer-card h2 {
		font-size: 29px;
	}

	body.kilp-page .kilp-root .kilp-zero-fee-offer {
		align-items: baseline;
		flex-wrap: wrap;
		padding: 10px 5px;
	}

	body.kilp-page .kilp-root .kilp-zero-fee-offer > span {
		font-size: 11px;
	}

	body.kilp-page .kilp-root .kilp-zero-fee-offer > strong {
		font-size: 68px;
	}

	body.kilp-page .kilp-root .kilp-zero-fee-offer > small {
		font-size: 10px !important;
	}

	body.kilp-page .kilp-root .kilp-fee-row p strong {
		font-size: 58px !important;
	}

	body.kilp-page .kilp-root .kilp-case-card h3 {
		font-size: 20px;
	}

	body.kilp-page .kilp-root .kilp-fee-compact-grid {
		grid-template-columns: 1fr;
	}

	body.kilp-page .kilp-root .kilp-fee-compact-grid b {
		font-size: 13px;
	}

	body.kilp-page .kilp-root .kilp-fee-compact-grid p {
		font-size: 13px;
	}

	body.kilp-page .kilp-root .kilp-fee-compact-grid p strong {
		font-size: 42px;
	}

	body.kilp-page .kilp-root .kilp-fee-compact-grid small {
		font-size: 10px !important;
	}

	body.kilp-page .kilp-root .kilp-form-shell {
		padding: 18px 11px;
	}

	body.kilp-page .kilp-root .kilp-field > span,
	body.kilp-page .kilp-root .kilp-checkbox-field legend {
		font-size: 13px;
	}

	body.kilp-page .kilp-root .kilp-mobile-sticky {
		grid-template-columns: 68px minmax(0, 1fr);
		padding-left: 6px;
		padding-right: 6px;
	}

	body.kilp-page .kilp-root .kilp-mobile-sticky .kilp-primary-button small {
		font-size: 9px !important;
	}

	body.kilp-page .kilp-root .kilp-mobile-sticky .kilp-primary-button strong {
		font-size: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	body.kilp-page .kilp-root *,
	body.kilp-page .kilp-root *::before,
	body.kilp-page .kilp-root *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}

	body.kilp-page .kilp-root .kilp-primary-button .wp-block-button__link:hover,
	body.kilp-page .kilp-root .kilp-header-button .wp-block-button__link:hover,
	body.kilp-page .kilp-root .kilp-submit:hover,
	body.kilp-page .kilp-root .kilp-line-button:hover,
	body.kilp-page .kilp-root .kilp-check-card:hover,
	body.kilp-page .kilp-root .kilp-visual-card:hover,
	body.kilp-page .kilp-root .kilp-service-card:hover {
		transform: none;
	}
}

/* Responsive placement for the simplified v1.5.16 hero wrappers. */
@media (min-width: 769px) and (max-width: 1024px) {
	body.kilp-page .kilp-root .kilp-hero-offer {
		max-width: 450px;
	}

	body.kilp-page .kilp-root .kilp-hero-zero {
		min-height: 145px;
	}

	body.kilp-page .kilp-root .kilp-hero-success {
		min-height: 45px;
	}

	body.kilp-page .kilp-root .kilp-hero-success::before {
		font-size: 15px;
	}

	body.kilp-page .kilp-root .kilp-brand-v1516 {
		gap: 4px 7px;
	}

	body.kilp-page .kilp-root .kilp-brand-service,
	body.kilp-page .kilp-root .kilp-brand-area {
		font-size: 8px !important;
		padding: 3px 6px;
	}
}

@media (max-width: 768px) {
	body.kilp-page .kilp-root .kilp-brand-v1516 {
		display: grid;
		gap: 2px 7px;
		grid-template-columns: auto auto;
		justify-content: start;
	}

	body.kilp-page .kilp-root .kilp-brand-office {
		grid-row: 1 / span 2;
	}

	body.kilp-page .kilp-root .kilp-brand-service {
		display: none;
	}

	body.kilp-page .kilp-root .kilp-brand-area {
		align-self: center;
		font-size: 8px !important;
		padding: 3px 6px;
	}

	body.kilp-page .kilp-root .kilp-hero-inner {
		grid-template-rows: auto minmax(clamp(390px, 112vw, 500px), auto) auto;
	}

	body.kilp-page .kilp-root .kilp-hero-message {
		grid-column: 1 / -1;
		grid-row: 1;
	}

	body.kilp-page .kilp-root .kilp-hero-offer {
		display: contents;
	}

	body.kilp-page .kilp-root .kilp-hero-fee {
		grid-column: 1;
		grid-row: 2;
	}

	body.kilp-page .kilp-root .kilp-hero-visual {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	body.kilp-page .kilp-root .kilp-hero-cta-stack {
		display: grid;
		gap: 9px;
		grid-column: 1 / -1;
		grid-row: 3;
		margin-top: 0;
		position: relative;
		z-index: 6;
	}

	body.kilp-page .kilp-root .kilp-hero-cta-stack .kilp-hero-web-action,
	body.kilp-page .kilp-root .kilp-hero-cta-stack .kilp-hero-line-action {
		grid-column: auto;
		grid-row: auto;
		margin: 0;
	}

	body.kilp-page .kilp-root .kilp-hero-zero {
		border-bottom: 0;
		min-height: 170px;
	}

	body.kilp-page .kilp-root .kilp-hero-success {
		border-top: 1px solid rgba(255, 255, 255, .18);
		min-height: 48px;
	}

	body.kilp-page .kilp-root .kilp-hero-success::before {
		font-size: 14px;
	}

	body.kilp-page .kilp-root .kilp-post-services-cta {
		padding: 28px 15px;
	}

	body.kilp-page .kilp-root .kilp-quick-benefits > .wp-block-column {
		display: flex;
		gap: 11px;
	}

	body.kilp-page .kilp-root .kilp-quick-benefit-icon {
		flex-basis: 37px;
		height: 37px;
		width: 37px;
	}

	body.kilp-page .kilp-root .kilp-quick-benefits p {
		display: grid;
		grid-template-columns: 1fr;
	}
}

@media (max-width: 390px) {
	body.kilp-page .kilp-root .kilp-brand-area {
		display: none;
	}

	body.kilp-page .kilp-root .kilp-brand-office {
		grid-row: auto;
	}

	body.kilp-page .kilp-root .kilp-hero-inner {
		grid-template-rows: auto minmax(405px, auto) auto;
	}

	body.kilp-page .kilp-root .kilp-hero-zero {
		min-height: 155px;
	}

	body.kilp-page .kilp-root .kilp-hero-success {
		min-height: 44px;
	}

	body.kilp-page .kilp-root .kilp-hero-success::before {
		font-size: 12px;
	}
}

/* Keep the real Meta portrait visible beside, rather than beneath, the mobile offer card. */
@media (max-width: 768px) {
	body.kilp-page .kilp-root .kilp-hero-inner {
		grid-template-columns: minmax(0, 54%) minmax(0, 46%);
	}

	body.kilp-page .kilp-root .kilp-hero-visual {
		background-image:
			linear-gradient(90deg, #fbf8f1 0%, #fbf8f1 28%, rgba(251, 248, 241, .82) 42%, rgba(251, 248, 241, 0) 64%),
			url("../images/lawyer-sugamoto-hero.png"),
			url("../images/hero-consultation-neutral.webp");
		background-position: center, 88% bottom, center;
		background-size: 100% 100%, auto 135%, cover;
		border-radius: 0 18px 18px 0;
		grid-column: 2;
	}

	body.kilp-page .kilp-root .kilp-hero-visual::before {
		background: linear-gradient(90deg, #fbf8f1 0%, #fbf8f1 68%, rgba(251, 248, 241, 0) 100%);
		content: "";
		height: 48%;
		inset: 0 auto auto 0;
		pointer-events: none;
		position: absolute;
		width: 45%;
		z-index: 1;
	}

	body.kilp-page .kilp-root .kilp-hero-fee {
		min-width: 0;
		width: 100%;
	}
}

/* Final responsive corrections verified against the production content snapshot. */
body.kilp-page .kilp-root .kilp-brand small.kilp-brand-area {
	color: var(--kilp-white);
}

@media (min-width: 769px) and (max-width: 1024px) {
	body.kilp-page .kilp-root .kilp-quick-benefits p {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 520px) and (max-width: 768px) {
	body.kilp-page .kilp-root .kilp-hero-visual {
		background-position: center, right bottom, center;
		background-size: 100% 100%, auto 175%, cover;
	}
}

@media (max-width: 768px) {
	body.kilp-page .kilp-root .kilp-brand small.kilp-brand-service {
		display: none;
	}

	body.kilp-page .kilp-root .kilp-hero-visual {
		background-image:
			linear-gradient(90deg, #fbf8f1 0%, rgba(251, 248, 241, 0) 22%),
			url("../images/lawyer-sugamoto-hero.png"),
			url("../images/hero-consultation-neutral.webp");
	}

	body.kilp-page .kilp-root .kilp-hero-visual::before {
		display: none;
	}

	body.kilp-page .kilp-root .kilp-mobile-sticky {
		display: none;
	}

	body.kilp-page .kilp-root .kilp-mobile-sticky.is-visible {
		display: grid;
	}
}
@media (max-width: 390px) {
	body.kilp-page .kilp-root .kilp-brand small.kilp-brand-area {
		display: none;
	}
}

/*
 * Approved-mockup correction: use the neutral office portrait as the hero
 * environment instead of presenting the Meta artwork as a yellow image card.
 */
body.kilp-page .kilp-root .kilp-hero {
	--kilp-hero-image: url("../images/lawyer-sugamoto-office-hero-v2.png");
	background-color: #f8f4ee;
	background-image:
		linear-gradient(90deg, rgba(255, 253, 249, .98) 0%, rgba(255, 253, 249, .94) 35%, rgba(255, 253, 249, .62) 50%, rgba(255, 253, 249, .08) 70%),
		var(--kilp-hero-image);
	background-position: center, right center;
	background-repeat: no-repeat;
	background-size: 100% 100%, auto 100%;
}

body.kilp-page .kilp-root .kilp-hero::before {
	display: none;
}

body.kilp-page .kilp-root .kilp-hero::after {
	display: none;
}

body.kilp-page .kilp-root .kilp-hero-visual,
body.kilp-page .kilp-root .kilp-hero-visual::before {
	background: none !important;
	border-radius: 0;
}

body.kilp-page .kilp-root .kilp-calm-card {
	display: none;
}

@media (max-width: 768px) {
	body.kilp-page .kilp-root .kilp-hero {
		background-image:
			linear-gradient(90deg, rgba(255, 253, 249, .94) 0%, rgba(255, 253, 249, .48) 38%, rgba(255, 253, 249, 0) 68%),
			var(--kilp-hero-image);
		background-position: center, 68% bottom;
		background-size: 100% 100%, auto 78%;
	}

	body.kilp-page .kilp-root .kilp-hero-visual {
		background: none !important;
	}
}

/* Final fidelity pass against the approved first-view comps. */
body.kilp-page .kilp-root .kilp-topbar {
	display: none;
}

body.kilp-page .kilp-root .kilp-header {
	min-height: 72px;
	padding-bottom: 9px;
	padding-top: 9px;
}

body.kilp-page .kilp-root .kilp-header-actions .kilp-line-button.is-header {
	order: -1;
}

body.kilp-page .kilp-root .kilp-hero-title strong {
	display: block;
	font-size: .82em;
	white-space: nowrap;
}

body.kilp-page .kilp-root .kilp-hero-title strong br {
	display: none !important;
}

body.kilp-page .kilp-root .kilp-hero {
	background-image:
		linear-gradient(90deg, rgba(255, 253, 249, .98) 0%, rgba(255, 253, 249, .9) 33%, rgba(255, 253, 249, .48) 49%, rgba(255, 253, 249, 0) 64%),
		var(--kilp-hero-image);
	background-position: center, calc(100% + 34px) center;
	background-size: 100% 100%, auto 104%;
}

body.kilp-page .kilp-root .kilp-hero-identity {
	bottom: 28px;
	color: #fff;
	display: grid;
	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
	gap: 3px;
	left: 24px;
	line-height: 1.35;
	margin: 0;
	position: absolute;
	text-shadow: 0 2px 8px rgba(0, 20, 50, .82);
	z-index: 4;
}

body.kilp-page .kilp-root .kilp-hero-identity span {
	font-size: 13px;
	font-weight: 700;
}

body.kilp-page .kilp-root .kilp-hero-identity strong {
	font-size: 18px;
	font-weight: 800;
}

@media (max-width: 768px) {
	body.kilp-page .kilp-root .kilp-header {
		gap: 7px;
		min-height: 59px;
		padding: 7px 11px;
	}

	body.kilp-page .kilp-root .kilp-brand {
		font-size: 16px;
		white-space: nowrap;
	}

	body.kilp-page .kilp-root .kilp-header-actions {
		display: flex;
		gap: 5px;
		margin-left: auto;
	}

	body.kilp-page .kilp-root .kilp-header-actions .kilp-line-button.is-header {
		gap: 4px;
		min-height: 42px;
		padding: 4px 7px;
	}

	body.kilp-page .kilp-root .kilp-header-actions .kilp-line-button.is-header > span {
		font-size: 7px;
		height: 25px;
		width: 25px;
	}

	body.kilp-page .kilp-root .kilp-header-actions .kilp-line-button.is-header b {
		font-size: 0;
	}

	body.kilp-page .kilp-root .kilp-header-actions .kilp-line-button.is-header b::after {
		content: "LINE";
		font-size: 12px;
	}

	body.kilp-page .kilp-root .kilp-header-button .wp-block-button__link {
		font-size: 0;
		min-height: 42px;
		padding: 8px 9px;
	}

	body.kilp-page .kilp-root .kilp-header-button .wp-block-button__link::after {
		content: "問い合わせ";
		font-size: 12px;
	}

	body.kilp-page .kilp-root .kilp-hero-title strong {
		font-size: .72em;
	}

	body.kilp-page .kilp-root .kilp-hero {
		background: #faf7f2;
	}

	body.kilp-page .kilp-root .kilp-hero::before {
		-webkit-mask-image: linear-gradient(180deg, transparent 10%, #000 21%);
		background: var(--kilp-hero-image) no-repeat 68% 40% / auto 78%;
		content: "";
		display: block;
		inset: 0;
		mask-image: linear-gradient(180deg, transparent 10%, #000 21%);
		opacity: 1;
		position: absolute;
		z-index: 0;
	}

	body.kilp-page .kilp-root .kilp-hero::after {
		background: linear-gradient(90deg, rgba(255, 253, 249, .94) 0%, rgba(255, 253, 249, .47) 38%, rgba(255, 253, 249, 0) 68%);
		border-radius: 0;
		content: "";
		display: block;
		height: auto;
		inset: 0;
		opacity: 1;
		position: absolute;
		width: auto;
		z-index: 1;
	}

	body.kilp-page .kilp-root .kilp-hero-identity {
		bottom: 12px;
		left: auto;
		right: 10px;
		text-align: left;
	}

	body.kilp-page .kilp-root .kilp-hero-identity span {
		font-size: 10px;
	}

	body.kilp-page .kilp-root .kilp-hero-identity strong {
		font-size: 13px;
	}
}

@media (max-width: 519px) {
	body.kilp-page .kilp-root .kilp-hero-inner {
		grid-template-columns: minmax(0, 50%) minmax(0, 50%);
		grid-template-rows: auto minmax(350px, auto) auto;
	}

	body.kilp-page .kilp-root .kilp-hero {
		background: #faf7f2;
	}

	body.kilp-page .kilp-root .kilp-hero::before {
		background-position: 70% 47%;
		background-size: auto 65%;
	}
}

/* Fill the zero-yen offer card instead of leaving a large empty navy field. */
@media (min-width: 769px) {
	body.kilp-page .kilp-root .kilp-hero-fee {
		position: relative;
	}

	body.kilp-page .kilp-root .kilp-hero-fee-head {
		border-bottom: 0;
		left: 30px;
		min-height: 0;
		padding: 0;
		position: absolute;
		top: 28px;
		z-index: 2;
	}

	body.kilp-page .kilp-root .kilp-hero-fee-head span {
		font-size: 18px;
		padding: 8px 12px;
	}

	body.kilp-page .kilp-root .kilp-hero-zero {
		display: grid;
		grid-template-columns: 38% 62%;
		min-height: 220px;
		padding: 18px 26px 10px;
	}

	body.kilp-page .kilp-root .kilp-hero-zero > span {
		align-self: center;
		font-size: 28px;
		grid-column: 1;
		margin-top: 62px;
	}

	body.kilp-page .kilp-root .kilp-hero-zero p {
		align-self: center;
		grid-column: 2;
		justify-self: center;
	}

	body.kilp-page .kilp-root .kilp-hero-zero p strong {
		font-size: 205px !important;
	}

	body.kilp-page .kilp-root .kilp-hero-zero p b {
		font-size: 40px;
		margin-left: 6px;
	}

	body.kilp-page .kilp-root .kilp-hero-success {
		min-height: 46px;
		padding: 6px 12px;
	}

	body.kilp-page .kilp-root .kilp-hero-success::before {
		font-size: 20px;
	}
}

@media (min-width: 1025px) and (max-width: 1199px) {
	body.kilp-page .kilp-root .kilp-hero-zero p strong {
		font-size: 180px !important;
	}
}

@media (min-width: 769px) and (max-width: 1024px) {
	body.kilp-page .kilp-root .kilp-hero-fee-head {
		left: 24px;
		top: 24px;
	}

	body.kilp-page .kilp-root .kilp-hero-fee-head span {
		font-size: 16px;
		padding: 7px 10px;
	}

	body.kilp-page .kilp-root .kilp-hero-zero {
		min-height: 190px;
		padding-left: 20px;
		padding-right: 20px;
	}

	body.kilp-page .kilp-root .kilp-hero-zero > span {
		font-size: 24px;
		margin-top: 54px;
	}

	body.kilp-page .kilp-root .kilp-hero-zero p strong {
		font-size: 160px !important;
	}

	body.kilp-page .kilp-root .kilp-hero-zero p b {
		font-size: 34px;
	}

	body.kilp-page .kilp-root .kilp-hero-success {
		min-height: 42px;
	}

	body.kilp-page .kilp-root .kilp-hero-success::before {
		font-size: 18px;
	}
}

@media (max-width: 768px) {
	body.kilp-page .kilp-root .kilp-hero-fee-head {
		min-height: 46px;
		padding: 5px 7px;
	}

	body.kilp-page .kilp-root .kilp-hero-fee-head span {
		font-size: 15px;
		padding: 5px 9px;
	}

	body.kilp-page .kilp-root .kilp-hero-zero {
		min-height: 180px;
		padding: 5px 7px;
	}

	body.kilp-page .kilp-root .kilp-hero-zero > span {
		font-size: 21px;
	}

	body.kilp-page .kilp-root .kilp-hero-zero p strong {
		font-size: 150px !important;
	}

	body.kilp-page .kilp-root .kilp-hero-zero p b {
		font-size: 32px;
	}

	body.kilp-page .kilp-root .kilp-hero-success {
		min-height: 40px;
		padding: 5px 7px;
	}

	body.kilp-page .kilp-root .kilp-hero-success::before {
		font-size: 16px;
	}
}

@media (max-width: 519px) {
	body.kilp-page .kilp-root .kilp-hero-inner {
		grid-template-rows: auto minmax(325px, auto) auto;
	}

	body.kilp-page .kilp-root .kilp-hero-fee-head {
		min-height: 44px;
		padding: 4px 6px;
	}

	body.kilp-page .kilp-root .kilp-hero-fee-head span {
		font-size: 14px;
		padding: 5px 8px;
	}

	body.kilp-page .kilp-root .kilp-hero-zero {
		min-height: 146px;
		padding: 3px 6px;
	}

	body.kilp-page .kilp-root .kilp-hero-zero > span {
		font-size: 18px;
	}

	body.kilp-page .kilp-root .kilp-hero-zero p strong {
		font-size: 116px !important;
	}

	body.kilp-page .kilp-root .kilp-hero-zero p b {
		font-size: 27px;
		margin-left: 3px;
	}

	body.kilp-page .kilp-root .kilp-hero-success {
		min-height: 38px;
		padding: 4px 6px;
	}

	body.kilp-page .kilp-root .kilp-hero-success::before {
		font-size: 15px;
	}
}

/* Keep the portrait clear of the headline and lead on narrow screens. */
@media (min-width: 520px) and (max-width: 768px) {
	body.kilp-page .kilp-root .kilp-hero::before {
		-webkit-mask-image: linear-gradient(180deg, transparent 17%, #000 28%);
		background-position: 68% 95%;
		mask-image: linear-gradient(180deg, transparent 17%, #000 28%);
	}
}

@media (max-width: 519px) {
	body.kilp-page .kilp-root .kilp-hero::before {
		-webkit-mask-image: linear-gradient(180deg, transparent 18%, #000 30%);
		background-position: 70% 67%;
		mask-image: linear-gradient(180deg, transparent 18%, #000 30%);
	}
}
