/* ============================================================
   KAELO GLOBAL — Sector pages
   /sectors/ (index)  +  /sectors/{slug}/ (single)
   ============================================================ */

.k-sector-index,
.k-sector { display: block; }

/* ============================================================
   HERO — shared shape between index and single
   ============================================================ */
.k-sxhero,
.k-shero {
	position: relative;
	min-height: 68vh;
	min-height: 68svh;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	color: var(--k-white);
	isolation: isolate;
}
.k-sxhero__bg,
.k-shero__bg {
	position: absolute;
	inset: 0;
	z-index: -2;
}
.k-sxhero__bg img,
.k-shero__bg img {
	width: 100%; height: 100%;
	object-fit: cover;
	display: block;
}
.k-sxhero__shade,
.k-shero__shade {
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(180deg, rgba(0,0,0,0.78) 0%, rgba(0,0,0,0.68) 40%, rgba(0,0,0,0.96) 100%);
}
.k-sxhero__inner,
.k-shero__inner {
	max-width: var(--k-container-wide);
	margin-inline: auto;
	width: 100%;
	padding: calc( var(--k-header-h) + var(--k-space-5) ) var(--k-bleed) var(--k-space-5);
	display: flex;
	flex-direction: column;
	gap: var(--k-space-2);
}
.k-sxhero__inner .k-label,
.k-shero__inner .k-label {
	color: var(--k-cyan);
	margin: 0;
}
.k-sxhero__title,
.k-shero__title {
	margin: 0;
	font-family: var(--k-font-heading);
	font-weight: 400;
	font-size: clamp( 2.5rem, 1rem + 4.5vw, 5.5rem );
	line-height: 1.02;
	letter-spacing: -0.018em;
	color: var(--k-white);
	max-width: 22ch;
}
.k-sxhero__sub,
.k-shero__tag {
	max-width: 56ch;
	color: var(--k-white-60);
	font-size: var(--k-text-lg);
	line-height: var(--k-leading-snug);
	margin: 0;
}
.k-shero__crumb {
	color: var(--k-cyan);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ============================================================
   SECTORS INDEX  — numbered grid
   ============================================================ */
.k-sxgrid__head,
.k-sxgrid__list {
	max-width: var(--k-container-wide);
	margin-inline: auto;
	padding-inline: var(--k-bleed);
}
.k-sxgrid__h {
	font-family: var(--k-font-heading);
	font-weight: 400;
	font-size: clamp( 2rem, 1rem + 3vw, 3.75rem );
	line-height: 1.1;
	letter-spacing: -0.015em;
	margin: var(--k-space-2) 0 var(--k-space-5);
	max-width: 22ch;
}
.k-sxgrid__list {
	list-style: none;
	margin: 0 auto;
	padding-inline: var(--k-bleed);
	border-top: 1px solid var(--k-line);
}
.k-sxgrid__row { border-bottom: 1px solid var(--k-line); }
.k-sxgrid__link {
	display: grid;
	grid-template-columns: 5rem 1fr auto;
	gap: var(--k-space-3);
	align-items: baseline;
	padding: clamp( 1.4rem, 0.5rem + 1.5vw, 2.4rem ) 0;
	text-decoration: none;
	color: var(--k-ink);
	transition: padding-left var(--k-dur-fast) var(--k-ease),
				color var(--k-dur-fast) var(--k-ease);
}
.k-sxgrid__link:hover { padding-left: 0.5rem; color: var(--k-ink); }
.k-sxgrid__num {
	font-family: var(--k-font-heading);
	font-weight: 400;
	font-size: clamp( 1.5rem, 0.7rem + 1.6vw, 2.5rem );
	color: var(--k-cyan-deep);
}
.k-sxgrid__body {
	display: grid;
	grid-template-columns: 1fr 1.5fr;
	gap: var(--k-space-3);
	align-items: baseline;
}
.k-sxgrid__name {
	font-family: var(--k-font-heading);
	font-weight: 400;
	font-size: clamp( 1.5rem, 0.6rem + 1.8vw, 2.5rem );
	line-height: 1.05;
	letter-spacing: -0.01em;
}
.k-sxgrid__tag {
	font-size: var(--k-text-sm);
	color: var(--k-ink-60);
	line-height: var(--k-leading-body);
	max-width: 56ch;
}
.k-sxgrid__arrow {
	font-family: var(--k-font-heading);
	color: var(--k-ink-40);
	transition: transform var(--k-dur-fast) var(--k-ease),
				color var(--k-dur-fast) var(--k-ease);
}
.k-sxgrid__link:hover .k-sxgrid__arrow {
	color: var(--k-cyan-deep);
	transform: translateX( 0.4rem );
}

.k-sxdivs__inner {
	max-width: var(--k-container-wide);
	margin-inline: auto;
	padding-inline: var(--k-bleed);
}
.k-sxdivs__h {
	font-family: var(--k-font-heading);
	font-weight: 400;
	font-size: clamp( 1.75rem, 0.9rem + 2.4vw, 3.25rem );
	line-height: 1.1;
	letter-spacing: -0.015em;
	margin: var(--k-space-2) 0 var(--k-space-3);
	max-width: 24ch;
}
.k-sxdivs__lead {
	max-width: 56ch;
	color: var(--k-white-60);
	margin: 0 0 var(--k-space-3);
}

/* ============================================================
   SINGLE SECTOR — lead, capabilities, related, other
   ============================================================ */
/* Lead reuses .k-dlead from division template — already global. */

.k-scap__head,
.k-scap__list {
	max-width: var(--k-container-wide);
	margin-inline: auto;
	padding-inline: var(--k-bleed);
}
.k-scap__h {
	font-family: var(--k-font-heading);
	font-weight: 400;
	font-size: clamp( 2rem, 1rem + 3vw, 3.5rem );
	line-height: 1.1;
	letter-spacing: -0.015em;
	margin: var(--k-space-2) 0 var(--k-space-5);
	max-width: 22ch;
}
.k-scap__list {
	list-style: none;
	margin: 0 auto;
	padding-inline: var(--k-bleed);
	border-top: 1px solid var(--k-line);
}
.k-scap__row {
	display: grid;
	grid-template-columns: 5rem 1fr;
	gap: var(--k-space-3);
	padding: clamp( 1.2rem, 0.5rem + 1.2vw, 2rem ) 0;
	border-bottom: 1px solid var(--k-line);
	align-items: baseline;
}
.k-scap__num {
	font-family: var(--k-font-heading);
	font-weight: 400;
	font-size: clamp( 1.25rem, 0.7rem + 1vw, 1.75rem );
	color: var(--k-cyan-deep);
}
.k-scap__line {
	font-family: var(--k-font-heading);
	font-weight: 400;
	font-size: clamp( 1.25rem, 0.7rem + 1vw, 1.75rem );
	line-height: 1.3;
	letter-spacing: -0.01em;
	color: var(--k-ink);
	margin: 0;
	max-width: 60ch;
}

/* Related divisions (dark band) */
.k-srels__head,
.k-srels__list {
	max-width: var(--k-container-wide);
	margin-inline: auto;
	padding-inline: var(--k-bleed);
}
.k-srels__h {
	font-family: var(--k-font-heading);
	font-weight: 400;
	font-size: clamp( 1.75rem, 0.9rem + 2.4vw, 3.25rem );
	line-height: 1.1;
	letter-spacing: -0.015em;
	margin: var(--k-space-2) 0 var(--k-space-5);
	max-width: 22ch;
}
.k-srels__list {
	list-style: none;
	margin: 0;
	border-top: 1px solid rgba(255,255,255,0.22);
}
.k-srels__cell { border-bottom: 1px solid rgba(255,255,255,0.22); }
.k-srels__link {
	display: grid;
	grid-template-columns: 5rem 1fr auto;
	gap: var(--k-space-3);
	align-items: baseline;
	padding: clamp( 1.1rem, 0.5rem + 1.1vw, 1.8rem ) 0;
	text-decoration: none;
	color: var(--k-white);
	transition: padding-left var(--k-dur-fast) var(--k-ease);
}
.k-srels__link:hover { padding-left: 0.5rem; color: var(--k-white); }
.k-srels__num {
	font-family: var(--k-font-heading);
	color: var(--k-cyan);
	font-size: clamp( 1.25rem, 0.7rem + 1vw, 1.75rem );
}
.k-srels__name {
	font-family: var(--k-font-heading);
	font-weight: 400;
	font-size: clamp( 1.5rem, 0.7rem + 1.4vw, 2.25rem );
	letter-spacing: -0.01em;
	color: var(--k-white);
}
.k-srels__arrow { color: var(--k-white-40); }
.k-srels__link:hover .k-srels__arrow { color: var(--k-cyan); }

/* Other sectors (light band, compact list) */
.k-sother__inner {
	max-width: var(--k-container-wide);
	margin-inline: auto;
	padding-inline: var(--k-bleed);
}
.k-sother__h {
	font-family: var(--k-font-heading);
	font-weight: 400;
	font-size: clamp( 1.75rem, 0.9rem + 2.4vw, 3rem );
	line-height: 1.1;
	letter-spacing: -0.015em;
	margin: var(--k-space-2) 0 var(--k-space-4);
}
.k-sother__list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--k-line);
	display: grid;
	grid-template-columns: repeat( 2, 1fr );
	gap: 0;
}
.k-sother__list li {
	border-bottom: 1px solid var(--k-line);
}
.k-sother__list li:nth-child( odd ) { border-right: 1px solid var(--k-line); }
.k-sother__link {
	display: grid;
	grid-template-columns: 3rem 1fr auto;
	gap: var(--k-space-2);
	align-items: baseline;
	padding: 1.2rem clamp( 0.5rem, 1vw, 1.5rem );
	text-decoration: none;
	color: var(--k-ink);
	transition: padding-left var(--k-dur-fast) var(--k-ease);
}
.k-sother__link:hover { padding-left: 1rem; color: var(--k-ink); }
.k-sother__num {
	font-family: var(--k-font-body);
	font-size: 0.6875rem;
	letter-spacing: 0.18em;
	color: var(--k-cyan-deep);
}
.k-sother__name {
	font-family: var(--k-font-heading);
	font-size: clamp( 1.1rem, 0.6rem + 0.8vw, 1.5rem );
	letter-spacing: -0.01em;
}
.k-sother__arrow {
	font-family: var(--k-font-heading);
	color: var(--k-ink-40);
}
.k-sother__link:hover .k-sother__arrow { color: var(--k-cyan-deep); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media ( max-width: 980px ) {
	.k-sxgrid__link  { grid-template-columns: 3.5rem 1fr auto; }
	.k-sxgrid__body  { grid-template-columns: 1fr; gap: 0.4rem; }

	.k-scap__row     { grid-template-columns: 3rem 1fr; }

	.k-srels__link   { grid-template-columns: 3.5rem 1fr auto; }

	.k-sother__list  { grid-template-columns: 1fr; }
	.k-sother__list li:nth-child( odd ) { border-right: 0; }
}

@media ( max-width: 560px ) {
	.k-sxhero__title,
	.k-shero__title  { font-size: clamp( 2rem, 9vw, 2.75rem ); }
	.k-sxhero__sub,
	.k-shero__tag    { font-size: var(--k-text-base); }

	.k-sxgrid__link  { grid-template-columns: 2.5rem 1fr auto; column-gap: var(--k-space-2); padding: var(--k-space-3) 0; }
	.k-sxgrid__name  { font-size: clamp( 1.25rem, 5vw, 1.5rem ); }
	.k-sxgrid__tag   { font-size: var(--k-text-xs); }

	.k-scap__line    { font-size: clamp( 1.1rem, 4.5vw, 1.4rem ); }
	.k-scap__row     { grid-template-columns: 2.5rem 1fr; padding: var(--k-space-2) 0; }

	.k-srels__link   { grid-template-columns: 2.5rem 1fr auto; padding: var(--k-space-3) 0; }
	.k-srels__name   { font-size: clamp( 1.25rem, 5vw, 1.5rem ); }
}
