/* Software — /software/ hub (page-scoped, no bleed) */

#software-hub.hoptrans-software-hub,
#software-page #software-hub {
	--hop-rail-max: 1425px;
	--hop-rail-gutter: 40px;
	--hop-sw-ink: var(--hop-ink, #1c2e20);
	--hop-sw-muted: rgba(28, 46, 32, 0.55);
	--hop-sw-cream: var(--hop-bg, #f4f2eb);
	--hop-sw-panel: var(--hop-sc-4, #dae4e1);
	--hop-sw-rule: rgba(28, 46, 32, 0.22);
	--hop-sw-rule-strong: var(--hop-ink, #1c2e20);
	--hop-sw-col-pad: clamp(32px, 4vw, 36px);
	color: var(--hop-sw-ink);
	font-family: "Outfit", sans-serif;
	box-sizing: border-box;
	max-width: var(--hop-rail-max);
	margin: 0 auto;
	padding: clamp(24px, 3vw, 40px) var(--hop-rail-gutter) clamp(48px, 6vw, 88px);
}

#software-hub *,
#software-hub *::before,
#software-hub *::after {
	box-sizing: border-box;
}

#software-hub .hoptrans-software-hub__anchor {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

#software-hub .hoptrans-software-hub__label {
	margin: 0 0 8px;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--hop-g3, #409c61);
}

#software-hub .hoptrans-software-hub__heading {
	margin: 0 0 14px;
	font-family: "Outfit", sans-serif !important;
	font-size: clamp(1.85rem, 3.6vw, 2.75rem);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.03em;
	color: var(--hop-sw-ink) !important;
}

#software-hub .hoptrans-software-hub__heading--h2 {
	font-size: clamp(1.55rem, 2.8vw, 2.15rem);
	margin-bottom: 10px;
}

#software-hub .hoptrans-software-hub__lead {
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.55;
	color: var(--hop-sw-ink);
	max-width: 38rem;
}

#software-hub .hoptrans-software-hub__lead--muted {
	color: var(--hop-sw-muted);
	font-size: 0.98rem;
}

#software-hub .hoptrans-software-hub__num {
	font-size: 0.8rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	color: var(--hop-sw-muted);
}

/* Salient-like gradient text accent (scoped) */
#software-hub .hoptrans-software-hub__gradient-text {
	background: linear-gradient(105deg, #1c2e20 0%, #409c61 55%, #1a5c30 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}

/* CTAs — ink arrow-circle */
#software-hub .hoptrans-software-hub__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 22px;
}

#software-hub .hoptrans-software-hub__cta {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 4px 6px 4px 20px;
	border-radius: 100px;
	background: var(--hop-sw-ink);
	color: #fff !important;
	font-family: "Outfit", sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background-color 0.25s ease;
	border: none;
	box-shadow: none;
}

#software-hub .hoptrans-software-hub__cta:hover,
#software-hub .hoptrans-software-hub__cta:focus-visible {
	background: #000;
	outline: none;
}

#software-hub .hoptrans-software-hub__cta-icon {
	box-sizing: border-box;
	flex: 0 0 34px;
	width: 34px;
	min-width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #fff
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231c2e20' d='M7 7h10v10h-2.2V10.7L7.8 17.7 6.3 16.2 13.3 9.2H7V7z'/%3E%3C/svg%3E")
		center / 50% no-repeat;
}

#software-hub .hoptrans-software-hub__cta--ghost {
	background: transparent;
	color: var(--hop-sw-ink) !important;
	border: 1.5px solid rgba(28, 46, 32, 0.28);
	padding: 10px 18px;
}

#software-hub .hoptrans-software-hub__cta--ghost:hover,
#software-hub .hoptrans-software-hub__cta--ghost:focus-visible {
	background: rgba(28, 46, 32, 0.06);
}

/* Hero */
#software-ivadas.hoptrans-software-hub__hero {
	position: relative;
	margin: 0 0 clamp(28px, 4vw, 44px);
	padding: clamp(28px, 4vw, 48px);
	border-radius: 20px;
	background: var(--hop-sw-cream);
	border: none;
	box-shadow: none;
	scroll-margin-top: 96px;
}

#software-ivadas .hoptrans-software-hub__hero-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: clamp(24px, 4vw, 56px);
	align-items: stretch;
}

#software-ivadas .hoptrans-software-hub__hero-copy {
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

#software-ivadas .hoptrans-software-hub__hero-copy > .hoptrans-software-hub__lead {
	margin-top: auto;
	padding-top: clamp(16px, 2vw, 28px);
}

#software-ivadas .hoptrans-software-hub__hero-copy > .hoptrans-software-hub__actions {
	margin-top: 18px;
}

#software-ivadas .hoptrans-software-hub__hero-media {
	position: relative;
	margin: 0;
	align-self: stretch;
	border-radius: 16px;
	overflow: hidden;
	border: none;
	box-shadow: none;
	min-height: clamp(240px, 36vw, 360px);
	height: 100%;
	background: #f4f2eb;
}

#software-ivadas .hoptrans-software-hub__hero-svg {
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
}

/* Sections */
#software-hub .hoptrans-software-hub__section,
#software-control-tower,
#software-matomumas,
#software-operacijos,
#software-4pl,
#software-portalas {
	scroll-margin-top: 96px;
}

#software-hub .hoptrans-software-hub__section {
	margin: 0 0 clamp(28px, 4vw, 44px);
	padding: clamp(28px, 3.5vw, 40px) 0;
	border-top: 1px solid var(--hop-sw-rule-strong);
	border-bottom: none;
}

#software-hub .hoptrans-software-hub__section-header {
	max-width: 42rem;
	margin: 0 0 clamp(24px, 3vw, 36px);
}

#software-hub .hoptrans-software-hub__section--panel {
	border-top: none;
	padding: 0;
}

#software-hub .hoptrans-software-hub__panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
	gap: clamp(28px, 4vw, 48px);
	padding: clamp(32px, 4vw, 48px);
	border-radius: 20px;
	background: var(--hop-sw-panel);
	border: none;
	box-shadow: none;
}

#software-hub .hoptrans-software-hub__panel-intro {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-width: 24rem;
}

/* Hairline stats */
#software-hub .hoptrans-software-hub__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--hop-sw-rule);
	border-bottom: 1px solid var(--hop-sw-rule);
	align-self: center;
}

#software-hub .hoptrans-software-hub__stat {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: clamp(16px, 2vw, 22px) var(--hop-sw-col-pad);
	border-right: 1px solid var(--hop-sw-rule);
	border-bottom: 1px solid var(--hop-sw-rule);
	border-radius: 0;
	min-width: 0;
	background: transparent;
	box-shadow: none;
}

#software-hub .hoptrans-software-hub__stat:nth-child(2n) {
	border-right: none;
}

#software-hub .hoptrans-software-hub__stat:nth-child(n + 3) {
	border-bottom: none;
}

#software-hub .hoptrans-software-hub__stat:nth-child(2n + 1) {
	padding-left: 0;
}

#software-hub .hoptrans-software-hub__stat:nth-child(2n) {
	padding-right: 0;
}

#software-hub .hoptrans-software-hub__stat-label {
	font-size: clamp(1.05rem, 1.6vw, 1.25rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.15;
	color: var(--hop-sw-ink);
}

#software-hub .hoptrans-software-hub__stat-text {
	font-size: 0.88rem;
	line-height: 1.45;
	color: var(--hop-sw-muted);
}

/* Chips */
#software-matomumas .hoptrans-software-hub__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

#software-matomumas .hoptrans-software-hub__chip {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	border-radius: 100px;
	background: var(--hop-sw-panel);
	border: none;
	box-shadow: none;
	font-size: 0.88rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--hop-sw-ink);
}

/* Linear numbered rows */
#software-hub .hoptrans-software-hub__rows {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--hop-sw-rule);
}

#software-hub .hoptrans-software-hub__row {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 18px;
	align-items: baseline;
	padding: clamp(16px, 2vw, 22px) 0;
	border-bottom: 1px solid var(--hop-sw-rule);
	background: transparent;
	box-shadow: none;
}

#software-hub .hoptrans-software-hub__row-title {
	display: block;
	font-size: clamp(1.05rem, 1.5vw, 1.25rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	margin-bottom: 4px;
}

#software-hub .hoptrans-software-hub__row-text {
	display: block;
	font-size: 0.95rem;
	line-height: 1.5;
	color: var(--hop-sw-muted);
	max-width: 40rem;
}

/* 4PL split */
#software-4pl.hoptrans-software-hub__section--split {
	border-top: 1px solid var(--hop-sw-rule-strong);
}

#software-4pl .hoptrans-software-hub__split {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
	gap: clamp(28px, 4vw, 56px);
	align-items: start;
}

#software-4pl .hoptrans-software-hub__rows--compact {
	margin-top: 0;
}

/* Portal — soft wording + Salient CTA host */
#software-portalas.hoptrans-software-hub__section--portal {
	border-top: none;
	padding: 0;
}

#software-portalas .hoptrans-software-hub__portal {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: clamp(24px, 4vw, 48px);
	padding: clamp(32px, 4vw, 48px);
	border-radius: 20px;
	background: var(--hop-sw-cream);
	border: none;
	box-shadow: none;
}

#software-portalas .hoptrans-software-hub__portal-copy {
	display: flex;
	flex-direction: column;
	gap: 12px;
	max-width: 36rem;
}

#software-portalas .hoptrans-software-hub__portal-copy .nectar-cta {
	margin-top: 10px;
	align-self: flex-start;
}

#software-portalas .hoptrans-software-hub__icon-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--hop-sw-rule);
}

#software-portalas .hoptrans-software-hub__icon-item {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 14px;
	align-items: baseline;
	padding: clamp(14px, 2vw, 18px) 0;
	border-bottom: 1px solid var(--hop-sw-rule);
	background: transparent;
	box-shadow: none;
}

#software-portalas .hoptrans-software-hub__icon-mark {
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	color: var(--hop-sw-muted);
}

#software-portalas .hoptrans-software-hub__icon-title {
	display: block;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	margin-bottom: 4px;
}

#software-portalas .hoptrans-software-hub__icon-text {
	display: block;
	font-size: 0.9rem;
	line-height: 1.45;
	color: var(--hop-sw-muted);
}

/* Links rail — cards only as interaction containers, no resting border */
#software-nuorodos.hoptrans-software-hub__cta-strip {
	margin: 0;
	padding: 0;
	scroll-margin-top: 96px;
}

#software-nuorodos .hoptrans-software-hub__cta-strip-card {
	padding: clamp(28px, 4vw, 44px);
	border-radius: 20px;
	background: var(--hop-sw-panel);
	border: none;
	box-shadow: none;
}

#software-nuorodos .hoptrans-software-hub__cta-strip-main {
	max-width: 40rem;
	margin-bottom: clamp(22px, 3vw, 32px);
}

#software-nuorodos .hoptrans-software-hub__links {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin: 0 0 clamp(22px, 3vw, 28px);
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--hop-sw-rule);
	border-bottom: 1px solid var(--hop-sw-rule);
}

#software-nuorodos .hoptrans-software-hub__link-card {
	min-width: 0;
	border-right: 1px solid var(--hop-sw-rule);
	background: transparent;
	box-shadow: none;
}

#software-nuorodos .hoptrans-software-hub__link-card:last-child {
	border-right: none;
}

#software-nuorodos .hoptrans-software-hub__link-card-a {
	display: flex;
	flex-direction: column;
	gap: 6px;
	height: 100%;
	padding: clamp(16px, 2vw, 22px) var(--hop-sw-col-pad);
	color: inherit;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

#software-nuorodos .hoptrans-software-hub__link-card-a:hover,
#software-nuorodos .hoptrans-software-hub__link-card-a:focus-visible {
	background: rgba(28, 46, 32, 0.04);
	outline: none;
}

#software-nuorodos .hoptrans-software-hub__link-card:first-child .hoptrans-software-hub__link-card-a {
	padding-left: 0;
}

#software-nuorodos .hoptrans-software-hub__link-card:last-child .hoptrans-software-hub__link-card-a {
	padding-right: 0;
}

#software-nuorodos .hoptrans-software-hub__link-eyebrow {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--hop-g3, #409c61);
}

#software-nuorodos .hoptrans-software-hub__link-title {
	font-size: clamp(1.05rem, 1.5vw, 1.25rem);
	font-weight: 700;
	letter-spacing: -0.02em;
}

#software-nuorodos .hoptrans-software-hub__link-text {
	font-size: 0.9rem;
	line-height: 1.45;
	color: var(--hop-sw-muted);
	flex: 1;
}

#software-nuorodos .hoptrans-software-hub__link-cta {
	margin-top: 8px;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--hop-sw-ink);
}

#software-nuorodos .hoptrans-software-hub__actions--footer {
	margin-top: 0;
}

/* ——— Harbor-inspired Salient visual blocks (page-scoped) ——— */
#software-hub .hoptrans-software-hub__viz {
	margin: 0 0 clamp(28px, 4vw, 44px);
	padding: clamp(12px, 2vw, 20px) 0;
	scroll-margin-top: 96px;
	border: none;
	box-shadow: none;
}

#software-hub .hoptrans-software-hub__viz-intro {
	max-width: 40rem;
	margin: 0 0 clamp(20px, 3vw, 32px);
}

#software-hub .hoptrans-software-hub__salient {
	border: none;
	box-shadow: none;
}

/* Standard Salient image grid — minimal scope; no collage overrides */
#software-viz-cascade .hoptrans-software-hub__salient--gallery {
	max-width: min(100%, 980px);
	margin-inline: auto;
}

#software-viz-cascade .portfolio-items .col .work-item,
#software-viz-cascade .portfolio-items .col .inner-wrap {
	border: none;
	box-shadow: none;
}

/* Reveal — Software hub only */
#software-hub .hoptrans-software-reveal {
	opacity: 0;
	transform: translateY(20px);
	transition:
		opacity 0.65s ease,
		transform 0.65s ease;
	transition-delay: var(--sw-reveal-delay, 0ms);
}

#software-hub .hoptrans-software-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	#software-hub .hoptrans-software-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Responsive */
@media (max-width: 980px) {
	#software-ivadas .hoptrans-software-hub__hero-inner,
	#software-hub .hoptrans-software-hub__panel,
	#software-4pl .hoptrans-software-hub__split,
	#software-portalas .hoptrans-software-hub__portal {
		grid-template-columns: 1fr;
	}

	#software-ivadas .hoptrans-software-hub__hero-media {
		width: 100%;
		min-height: clamp(220px, 52vw, 300px);
		height: auto;
	}

	#software-nuorodos .hoptrans-software-hub__links {
		grid-template-columns: 1fr;
	}

	#software-nuorodos .hoptrans-software-hub__link-card {
		border-right: none;
		border-bottom: 1px solid var(--hop-sw-rule);
	}

	#software-nuorodos .hoptrans-software-hub__link-card:last-child {
		border-bottom: none;
	}

	#software-nuorodos .hoptrans-software-hub__link-card-a {
		padding-left: 0;
		padding-right: 0;
	}
}

@media (max-width: 640px) {
	#software-hub.hoptrans-software-hub {
		padding-left: 20px;
		padding-right: 20px;
	}

	#software-ivadas.hoptrans-software-hub__hero,
	#software-hub .hoptrans-software-hub__panel,
	#software-portalas .hoptrans-software-hub__portal,
	#software-nuorodos .hoptrans-software-hub__cta-strip-card {
		padding: 22px;
		border-radius: 16px;
	}

	#software-hub .hoptrans-software-hub__stats {
		grid-template-columns: 1fr;
	}

	#software-hub .hoptrans-software-hub__stat {
		border-right: none;
		border-bottom: 1px solid var(--hop-sw-rule);
		padding-left: 0;
		padding-right: 0;
	}

	#software-hub .hoptrans-software-hub__stat:last-child {
		border-bottom: none;
	}

	#software-hub .hoptrans-software-hub__stat:nth-child(n + 3) {
		border-bottom: 1px solid var(--hop-sw-rule);
	}

	#software-hub .hoptrans-software-hub__cta {
		white-space: normal;
	}
}

/* Page cream backdrop — only via body_class from is_page('software') */
body.hoptrans-software-page #ajax-content-wrap,
body.hoptrans-software-page .container-wrap {
	background: var(--hop-bg, #f4f2eb);
}
