/* Phase C/D1/D2 Home-only composition plus final visual polish. Shared tokens/foundation/shell remain authoritative. */
.graha-site-main--home {
	padding-block: 0;
	background: var(--graha-color-canvas);
}

.graha-home-hero {
	overflow: hidden;
	padding: var(--graha-space-8) 0;
	border-radius: 0;
	background:
		linear-gradient(145deg, var(--graha-color-primary-dark) 0%, var(--graha-color-primary-dark) 38%, var(--graha-color-primary) 100%);
}

.graha-home-hero::after {
	inset-block-start: -38%;
	inset-inline-end: -8%;
	inline-size: min(44rem, 56vw);
	block-size: 180%;
	background:
		linear-gradient(115deg, transparent 0 42%, rgb(255 255 255 / 0.055) 42% 42.5%, transparent 42.5% 58%, rgb(255 255 255 / 0.04) 58% 58.5%, transparent 58.5%);
}

.graha-home-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(26rem, 0.98fr);
	gap: clamp(var(--graha-space-7), 5vw, var(--graha-space-9));
	align-items: center;
}

.graha-home-hero__body {
	min-inline-size: 0;
}

.graha-home-hero__body h1 {
	max-inline-size: 19ch;
	margin-block: var(--graha-space-3) 0;
	color: var(--graha-color-inverse);
}

.graha-home-hero__lead {
	max-inline-size: 43rem;
	margin-block-start: var(--graha-space-5);
	color: var(--graha-color-inverse-muted);
	font-size: var(--graha-type-lg);
}

.graha-home-hero__lead p {
	margin-block-end: 0;
}

.graha-home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--graha-space-3);
	margin-block-start: var(--graha-space-6);
}

.graha-home-hero__visual {
	position: relative;
	justify-self: end;
	inline-size: min(100%, 38rem);
	min-inline-size: 0;
	margin: 0;
	padding: clamp(var(--graha-space-4), 2vw, var(--graha-space-6));
	overflow: hidden;
	border: var(--graha-border-width) solid rgb(255 255 255 / 0.22);
	border-radius: var(--graha-radius-xl);
	background:
		linear-gradient(145deg, rgb(255 255 255 / 0.96), var(--graha-color-surface-brand-soft));
	box-shadow: var(--graha-shadow-elevated);
}

.graha-home-hero__visual::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 0;
	inline-size: 34%;
	block-size: 0.25rem;
	background: var(--graha-color-primary);
}

.graha-home-hero__visual::after {
	content: "";
	position: absolute;
	inset-block-end: -18%;
	inset-inline-end: -10%;
	inline-size: 48%;
	aspect-ratio: 1;
	border: var(--graha-border-width) solid var(--graha-color-border-brand-soft);
	border-radius: 50%;
	opacity: 0.72;
	pointer-events: none;
}

.graha-home-hero__visual .graha-accent-rule {
	position: absolute;
	z-index: 1;
	inset-block-start: var(--graha-space-5);
	inset-inline-end: var(--graha-space-5);
	inline-size: clamp(3rem, 8vw, 6rem);
}

.graha-home-hero__illustration {
	position: relative;
	z-index: 1;
	display: block;
	inline-size: 100%;
	block-size: auto;
	aspect-ratio: 5 / 4;
	object-fit: contain;
}

/* D1: post-Hero product storytelling owns full-width section surfaces. */
.graha-native-home {
	inline-size: 100%;
	background: var(--graha-color-canvas);
}

.graha-home-orientation .graha-section-heading {
	max-inline-size: 44rem;
}

.graha-native-home__source {
	max-inline-size: var(--graha-content-narrow);
	margin-block-start: var(--graha-space-6);
	padding-block-start: var(--graha-space-5);
	border-block-start: var(--graha-border-width) solid var(--graha-color-border);
}

.graha-home-anchor-grid,
.graha-home-support-grid {
	display: grid;
	gap: var(--graha-space-5);
	align-items: stretch;
}

.graha-home-anchor-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--graha-space-6);
}

.graha-home-support-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.graha-home-anchor-grid .graha-card--anchor {
	grid-column: auto;
}

.graha-home-family-card {
	display: flex;
	min-inline-size: 0;
	flex-direction: column;
	padding: clamp(var(--graha-space-4), 2.1vw, var(--graha-space-6));
}

.graha-home-family-card--anchor {
	border-color: var(--graha-color-border-brand-soft);
}

.graha-home-family-card--support {
	padding: var(--graha-space-5);
}

.graha-home-family-card .graha-card__visual {
	margin-block-end: var(--graha-space-5);
}

.graha-home-family-card--support .graha-card__visual {
	margin-block-end: var(--graha-space-4);
}

.graha-home-family-card__copy {
	margin-block-end: var(--graha-space-4);
	color: var(--graha-color-on-surface-muted);
}

.graha-home-family-card__links {
	display: grid;
	gap: 0;
	margin-block-start: auto;
	padding-inline-start: 0;
	list-style: none;
}

.graha-home-family-card__links li {
	min-inline-size: 0;
	padding-block: var(--graha-space-2);
	border-block-start: var(--graha-border-width) solid var(--graha-color-border);
}

.graha-home-family-card__links a {
	display: inline;
	overflow-wrap: anywhere;
	font-size: var(--graha-type-sm);
	font-weight: var(--graha-weight-medium);
}

.graha-home-specialist {
	overflow: hidden;
}

.graha-home-specialist__layout {
	display: grid;
	grid-template-columns: minmax(18rem, 0.82fr) minmax(0, 1.18fr);
	gap: clamp(var(--graha-space-5), 4vw, var(--graha-space-8));
	align-items: center;
}

.graha-home-specialist__visual {
	margin: 0;
	border-color: var(--graha-color-border-brand-soft);
	background: var(--graha-color-surface-raised);
}

.graha-home-specialist__body {
	min-inline-size: 0;
}

.graha-home-specialist__body h3 {
	margin-block-end: var(--graha-space-3);
}

.graha-home-specialist .graha-home-family-card__links li {
	border-color: color-mix(in srgb, var(--graha-color-inverse) 22%, transparent);
}

.graha-home-specialist .graha-home-family-card__links a,
.graha-home-specialist .graha-home-family-card__links a:visited {
	color: var(--graha-color-on-contrast);
}

/* D2: capability, discovery, trust, and closing journey. */
.graha-home-capability__layout {
	display: grid;
	grid-template-columns: minmax(20rem, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(var(--graha-space-6), 5vw, var(--graha-space-9));
	align-items: center;
}

.graha-home-capability__visual {
	margin: 0;
	padding: clamp(var(--graha-space-4), 2.5vw, var(--graha-space-6));
	border: var(--graha-border-width) solid var(--graha-color-border-brand-soft);
	border-radius: var(--graha-radius-xl);
	background: var(--graha-color-surface-raised);
	box-shadow: var(--graha-shadow-soft);
}

.graha-home-capability__visual img {
	display: block;
	inline-size: 100%;
	block-size: auto;
	aspect-ratio: 4 / 3;
	object-fit: contain;
}

.graha-home-capability__body {
	min-inline-size: 0;
}

.graha-home-capability__items {
	display: grid;
	gap: 0;
	margin: var(--graha-space-6) 0 0;
	padding: 0;
	list-style: none;
}

.graha-home-capability__items li {
	padding-block: var(--graha-space-4);
	border-block-start: var(--graha-border-width) solid var(--graha-color-border);
}

.graha-home-capability__items h3,
.graha-home-capability__items p {
	margin: 0;
}

.graha-home-capability__items p {
	margin-block-start: var(--graha-space-2);
	color: var(--graha-color-on-surface-muted);
}

.graha-home-capability__actions {
	margin-block-start: var(--graha-space-5);
}

.graha-home-discovery .graha-section-heading {
	max-inline-size: 52rem;
}

.graha-home-pathways {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--graha-space-5);
	margin-block-start: var(--graha-space-6);
}

.graha-home-pathway {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: var(--graha-space-4);
	align-items: center;
	min-inline-size: 0;
	padding: var(--graha-space-5);
	border: var(--graha-border-width) solid var(--graha-color-border);
	border-radius: var(--graha-radius-lg);
	background: var(--graha-color-surface-raised);
	box-shadow: var(--graha-shadow-soft);
	text-decoration: none;
	transition: transform var(--graha-motion-fast) var(--graha-motion-ease), border-color var(--graha-motion-fast) var(--graha-motion-ease);
}

.graha-home-pathway:focus-visible {
	border-color: var(--graha-color-border-brand-soft);
}

.graha-home-pathway__icon {
	display: grid;
	inline-size: 2.75rem;
	block-size: 2.75rem;
	place-items: center;
	border-radius: var(--graha-radius-md);
	background: var(--graha-color-surface-brand-soft);
	color: var(--graha-color-primary);
}

.graha-home-pathway__body {
	display: grid;
	min-inline-size: 0;
	gap: var(--graha-space-1);
}

.graha-home-pathway__body strong {
	color: var(--graha-color-on-surface);
	font-size: var(--graha-type-lg);
}

.graha-home-pathway__body span {
	color: var(--graha-color-on-surface-muted);
}

.graha-home-pathway__arrow {
	color: var(--graha-color-primary);
}

.graha-home-trust__layout {
	display: grid;
	grid-template-columns: minmax(0, 0.84fr) minmax(24rem, 1.16fr);
	gap: clamp(var(--graha-space-6), 5vw, var(--graha-space-9));
	align-items: start;
}

.graha-home-trust__links {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	border-block-start: var(--graha-border-width) solid var(--graha-color-border-brand-soft);
	list-style: none;
}

.graha-home-trust__links li {
	border-block-end: var(--graha-border-width) solid var(--graha-color-border-brand-soft);
}

.graha-home-trust__links a {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: var(--graha-space-2) var(--graha-space-4);
	align-items: center;
	padding-block: var(--graha-space-4);
	text-decoration: none;
}

.graha-home-trust__links strong,
.graha-home-trust__links span {
	min-inline-size: 0;
}

.graha-home-trust__links strong {
	color: var(--graha-color-on-surface);
	transition: color var(--graha-motion-fast) var(--graha-motion-ease);
}

.graha-home-trust__links a:focus-visible strong {
	color: var(--graha-color-primary);
}

.graha-home-trust__links span {
	grid-column: 1;
	color: var(--graha-color-on-surface-muted);
}

.graha-home-trust__links svg {
	grid-column: 2;
	grid-row: 1 / span 2;
	color: var(--graha-color-primary);
}

.graha-home-closing {
	overflow: hidden;
}

.graha-home-closing__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(var(--graha-space-5), 5vw, var(--graha-space-8));
	align-items: center;
}

.graha-home-closing__body {
	max-inline-size: 48rem;
}

.graha-home-closing__body h2 {
	margin-block: var(--graha-space-3) 0;
	color: var(--graha-color-on-contrast);
}

.graha-home-closing__body p {
	margin-block: var(--graha-space-3) 0;
	color: var(--graha-color-on-contrast-muted);
}

.graha-home-closing__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--graha-space-3);
	justify-content: flex-end;
}

@media (hover: hover) {
	.graha-home-pathway:hover {
		transform: translateY(-1px);
		border-color: var(--graha-color-border-brand-soft);
	}

	.graha-home-trust__links a:hover strong {
		color: var(--graha-color-primary);
	}
}

@media (max-width: 64rem) {
	.graha-home-hero__grid {
		grid-template-columns: minmax(0, 1fr) minmax(21rem, 0.86fr);
		gap: var(--graha-space-6);
	}

	.graha-home-hero__body h1 {
		max-inline-size: 20ch;
	}

	.graha-home-support-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 44.0625rem) and (max-width: 64rem) {
	.graha-home-support-grid > :last-child:nth-child(odd) {
		grid-column: 1 / -1;
		inline-size: min(100%, 30rem);
		justify-self: center;
	}
}

@media (max-width: 56rem) {
	.graha-home-anchor-grid,
	.graha-home-specialist__layout,
	.graha-home-capability__layout,
	.graha-home-trust__layout,
	.graha-home-closing__layout {
		grid-template-columns: 1fr;
	}

	.graha-home-specialist__visual,
	.graha-home-capability__visual {
		justify-self: center;
		inline-size: min(100%, 34rem);
	}

	.graha-home-closing__actions {
		justify-content: flex-start;
	}
}

@media (max-width: 52rem) {
	.graha-home-hero__grid {
		grid-template-columns: 1fr;
	}

	.graha-home-hero__body {
		max-inline-size: 42rem;
	}

	.graha-home-hero__visual {
		justify-self: center;
		inline-size: min(100%, 38rem);
	}

	.graha-home-hero__illustration {
		max-block-size: 28rem;
	}
}

@media (max-width: 48rem) {
	.graha-home-family-card__links li {
		padding-block: 0;
	}

	.graha-home-family-card__links a {
		display: flex;
		min-block-size: var(--graha-control-min);
		align-items: center;
	}
}

@media (max-width: 44rem) {
	.graha-home-support-grid,
	.graha-home-pathways {
		grid-template-columns: 1fr;
	}

	.graha-home-family-card .graha-card__visual,
	.graha-home-specialist__visual,
	.graha-home-capability__visual {
		max-inline-size: 30rem;
		margin-inline: auto;
	}
}

@media (max-width: 30rem) {
	.graha-home-hero {
		padding-block: var(--graha-space-7);
	}

	.graha-home-hero__actions,
	.graha-home-closing__actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.graha-home-hero__actions .graha-button,
	.graha-home-closing__actions .graha-button,
	.graha-home-capability__actions .graha-button {
		inline-size: 100%;
	}

	.graha-home-hero__visual {
		padding: var(--graha-space-3);
		border-radius: var(--graha-radius-lg);
	}

	.graha-home-hero__visual .graha-accent-rule {
		inset-block-start: var(--graha-space-4);
		inset-inline-end: var(--graha-space-4);
	}

	.graha-home-family-card,
	.graha-home-pathway {
		padding: var(--graha-space-4);
	}

	.graha-home-pathway {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.graha-home-pathway__arrow {
		display: none;
	}
}
