/* Solutions B shared industry styles (handle: alp-solb). Not a block: no block.json here. */
.alp-ind-hero { position: relative; padding: 150px 40px 80px; background: var(--alp-paper); border-radius: 0 0 32px 32px; overflow: hidden; }
.alp-ind-hero__grid { position: relative; max-width: 1360px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: clamp(24px, 4vw, 64px); align-items: center; }
.alp-ind-intro { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.alp-ind-crumb { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; font: 500 13px var(--alp-body); color: var(--alp-muted); }
.alp-ind-crumb a { color: inherit; }
.alp-ind-crumb a:hover { color: var(--alp-forest); }
.alp-ind-badge { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 99px; font-weight: 600; }
.alp-ind-badge.is-honey { background: var(--alp-honey); color: var(--alp-ink); }
.alp-ind-badge.is-forest { background: var(--alp-forest); color: var(--alp-white); }
.alp-ind-badge.is-plain { padding: 0; font-weight: 500; }
.alp-ind-beat { display: inline-block; }
.alp-ind-h1 { line-height: .86; letter-spacing: -0.06em; }
.alp-ind-h1 .alp-rise { padding-bottom: .26em; margin-bottom: -.26em; }
.alp-ind-h1 .alp-rise + .alp-rise > span { animation-delay: .08s; }
.alp-ind-lead { margin: 0; font-size: 17px; line-height: 1.6; color: var(--alp-muted); max-width: 430px; }
.alp-ind-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.alp-ind-talk { align-self: flex-start; display: inline-flex; align-items: center; gap: 12px; font: 600 15px var(--alp-body); padding: 8px 8px 8px 24px; border-radius: 99px; background: var(--alp-ink); color: var(--alp-paper) !important; transition: all .45s var(--alp-spring); }
.alp-ind-talk:hover { transform: scale(1.04); }
.alp-ind-talk > span { width: 40px; height: 40px; border-radius: 50%; background: var(--alp-honey); color: var(--alp-ink); display: grid; place-items: center; }
.alp-ind-ghost { display: inline-flex; align-items: center; font: 500 15px var(--alp-body); padding: 15px 24px; border-radius: 99px; border: 1px solid var(--alp-ink); color: var(--alp-ink); transition: all .35s; }
.alp-ind-ghost:hover { background: var(--alp-ink); color: var(--alp-paper) !important; }

.alp-ind-card { border-radius: 28px; background: var(--alp-white); border: 1px solid var(--alp-line); padding: 24px; box-shadow: 0 40px 80px -40px rgba(26,31,26,.3); min-width: 0; }
.alp-ind-label { font: 600 12px var(--alp-body); letter-spacing: .12em; text-transform: uppercase; color: var(--alp-muted); }
.alp-ind-seg { display: flex; padding: 3px; border-radius: 99px; background: var(--alp-canvas); border: 1px solid var(--alp-line); }
.alp-ind-seg button { white-space: nowrap; font: 600 12px var(--alp-body); padding: 8px 14px; border-radius: 99px; border: 0; background: transparent; color: var(--alp-ink); cursor: pointer; transition: all .3s; }
.alp-ind-seg button[aria-pressed="true"] { background: var(--alp-ink); color: var(--alp-paper); }
.alp-ind-range { width: 100%; accent-color: var(--alp-forest); cursor: pointer; }

.alp-ind-sec { max-width: 1360px; margin: 0 auto; padding: 120px 40px; }
.alp-ind-slab { margin: 0 16px; border-radius: 32px; padding: 110px 24px; }
.alp-ind-slab__in { max-width: 1360px; margin: 0 auto; padding: 0 16px; }
.alp-ind-h2 { font: 600 clamp(40px, 4.8vw, 72px)/.95 var(--alp-display); letter-spacing: -0.045em; margin: 0 0 36px; text-wrap: balance; }

.alp-block [class*="alp-ind"] button:focus-visible, .alp-block [class*="alp-ind"] a:focus-visible, .alp-block [class*="alp-ind"] input:focus-visible, .alp-block [class*="alp-ind"] [tabindex]:focus-visible { outline: 2px solid var(--alp-forest); outline-offset: 3px; }

@media (prefers-reduced-motion: no-preference) {
	.alp-ind-beat { animation: alp-ind-beat 1.6s ease-in-out infinite; }
	.alp-ind-pop { animation: alp-ind-pop .5s var(--alp-spring) both; }
}
@keyframes alp-ind-beat { 0%, 100% { transform: scale(1); } 15% { transform: scale(1.18); } 30% { transform: scale(1); } 45% { transform: scale(1.1); } }
@keyframes alp-ind-pop { 0% { transform: translateY(12px) scale(.94); opacity: 0; } 100% { transform: none; opacity: 1; } }

@media (max-width: 820px) {
	.alp-ind-hero { padding: 120px 20px 64px; }
	.alp-block.alp-ind-hero h1 { font-size: clamp(44px, 12vw, 72px); }
	.alp-block.alp-ind-sec h2, .alp-block.alp-ind-slab h2 { font-size: clamp(34px, 9vw, 52px); }
	.alp-ind-hero__grid { grid-template-columns: minmax(0, 1fr); }
	.alp-ind-sec { padding: 80px 20px; }
	.alp-ind-slab { margin: 0 8px; padding: 80px 12px; border-radius: 24px; }
	.alp-ind-slab__in { padding: 0 8px; }
	.alp-ind-seg button, .alp-ind-ghost, .alp-ind-talk { min-height: 44px; }
	.alp-ind-card { padding: 18px; }
}
