/* Phase Shift 2026 content refresh: AI framework diagram, cards, industry blocks */

.psl-section { padding: 2em 0 3em; }
.psl-section p { line-height: 1.8; }
.psl-tagline { font-size: 18px; color: #0b7f8a; font-weight: 600; margin-bottom: 1.5em; }
.psl-lead { font-size: 17px; }
.psl-btn {
	display: inline-block; background: #00ADB5; color: #fff !important; padding: 10px 26px;
	border-radius: 4px; font-weight: 600; letter-spacing: .5px; text-decoration: none !important;
}
.psl-btn:hover { background: #0b7f8a; }

/* --- Layered framework diagram --- */
.psl-stack { display: flex; align-items: stretch; gap: 10px; max-width: 900px; margin: 2em auto; }
.psl-stack-layers { flex: 1; display: flex; flex-direction: column; gap: 8px; }
.psl-layer {
	display: flex; align-items: center; gap: 14px; color: #fff; border-radius: 8px;
	padding: 14px 18px; text-align: left;
}
.psl-layer-num {
	flex: 0 0 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,.25);
	display: flex; align-items: center; justify-content: center; font-weight: 700;
}
.psl-layer h4 { margin: 0; color: #fff; font-size: 16px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; }
.psl-layer span { display: block; font-size: 13px; opacity: .92; }
.psl-l1 { background: #0b7f8a; }
.psl-l2 { background: #00a76a; }
.psl-l3 { background: #00ADB5; }
.psl-l4 { background: #0096a8; }
.psl-l5 { background: #8ea600; }
.psl-rail {
	flex: 0 0 52px; border-radius: 8px; background: #eef4f5; border: 2px dashed #9fc9cd;
	display: flex; align-items: center; justify-content: center;
}
.psl-rail span {
	writing-mode: vertical-rl; transform: rotate(180deg); color: #0b7f8a;
	font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; white-space: nowrap;
}
.psl-stack-caption { text-align: center; font-size: 13px; color: #777; margin-top: -1em; }
.psl-arrow { text-align: center; color: #9fc9cd; font-size: 12px; line-height: 1; margin: -4px 0; }

/* --- Cards (framework steps, industry challenges, retail themes) --- */
.psl-cards { display: flex; flex-wrap: wrap; gap: 18px; justify-content: center; margin: 2em 0; }
.psl-card {
	flex: 1 1 260px; max-width: 360px; background: #fff; border: 1px solid #e3eced; border-top: 4px solid #00ADB5;
	border-radius: 6px; padding: 20px 22px; text-align: left; box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.psl-card h4 { margin: 0 0 .5em; font-weight: 700; color: #333; font-size: 16px; }
.psl-card p { margin: 0; font-size: 14px; line-height: 1.7; color: #555; }
.psl-card .psl-card-num { color: #00ADB5; font-weight: 700; margin-right: 6px; }
.psl-card .psl-tag {
	display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase;
	color: #0b7f8a; background: #e6f6f7; border-radius: 3px; padding: 2px 8px; margin-bottom: .8em;
}
.psl-card.psl-green { border-top-color: #00a76a; }
.psl-card.psl-olive { border-top-color: #8ea600; }
.psl-card.psl-dark { border-top-color: #0b7f8a; }

/* --- Framework detail page --- */
.psl-step { display: flex; gap: 20px; padding: 1.5em 0; border-bottom: 1px solid #eee; text-align: left; }
.psl-step-num {
	flex: 0 0 48px; height: 48px; border-radius: 50%; background: #00ADB5; color: #fff;
	font-size: 20px; font-weight: 700; display: flex; align-items: center; justify-content: center;
}
.psl-step h3 { margin: 0 0 .2em; font-size: 20px; font-weight: 700; }
.psl-step .psl-step-goal { color: #0b7f8a; font-weight: 600; margin-bottom: .6em; }
.psl-step ul { padding-left: 1.2em; margin: 0; }
.psl-step li { margin-bottom: .5em; line-height: 1.7; }
.psl-takeaway {
	background: #eef8f9; border-left: 5px solid #00ADB5; padding: 1.5em 2em; margin: 2em 0; text-align: left; border-radius: 4px;
}
.psl-takeaway h3 { margin-top: 0; color: #0b7f8a; }

/* --- Industry overview blocks --- */
.psl-industry { scroll-margin-top: 100px; padding: 2.5em 0; border-bottom: 1px solid #eee; text-align: left; }
.psl-industry h3 { font-weight: 700; color: #0b7f8a; }
.psl-chips { margin: 1em 0; }
.psl-chips span {
	display: inline-block; color: #fff; background: #00a76a; border-radius: 4px; padding: 5px 14px;
	margin: 0 6px 8px 0; font-size: 14px;
}
.psl-chips span:nth-child(3n+2) { background: #00ADB5; }
.psl-chips span:nth-child(3n) { background: #8ea600; }

.psl-cta { background: #0b7f8a; color: #fff; padding: 2.5em 1em; text-align: center; margin-top: 2em; }
.psl-cta h3 { color: #fff; margin-top: 0; }
.psl-cta p { color: #e6f6f7; }
.psl-cta .psl-btn { background: #fff; color: #0b7f8a !important; }

.psl-page-banner { background: linear-gradient(120deg, #0b7f8a, #00ADB5 60%, #00a76a); color: #fff; padding: calc(92px + 3em) 1em 3em; text-align: center; }
.psl-page-banner h1 { color: #fff; font-weight: 700; margin: 0 0 .3em; }
.psl-page-banner p { color: #e6f6f7; font-size: 18px; margin: 0; }

@media (max-width: 767px) {
	.psl-stack { gap: 6px; }
	.psl-rail { flex-basis: 30px; }
	.psl-rail span { font-size: 10px; }
	.psl-layer { padding: 10px 12px; gap: 10px; }
	.psl-layer-num { display: none; }
	.psl-layer h4 { font-size: 13px; }
	.psl-layer span { font-size: 12px; }
	.psl-step { flex-direction: column; gap: 10px; }
	.psl-step-num { width: 48px; align-self: flex-start; }
	.psl-card { max-width: none; }
}

/* --- Home banner headline (text overlaid on cropped banner images) --- */
#myCarousel .item { position: relative; }
#myCarousel .item img { width: 100%; }
.psl-banner-caption {
	position: absolute; right: 7%; bottom: 12%; left: 7%; text-align: right; color: #fff;
	text-shadow: 0 2px 8px rgba(0,0,0,.7);
}
.psl-banner-caption h2 {
	color: #fff; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; margin: 0 0 .15em;
	font-size: 3.2vw; line-height: 1.1;
}
.psl-banner-caption p { color: #f5a623; font-size: 2.6vw; margin: 0; line-height: 1.2; }
.psl-banner-caption b { font-weight: 800; }
@media (max-width: 767px) {
	.psl-banner-caption { bottom: 8%; }
	.psl-banner-caption h2 { font-size: 4.6vw; }
	.psl-banner-caption p { font-size: 4vw; }
}
#myCarousel .item::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 55%; pointer-events: none;
	background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0));
}
.psl-banner-caption { z-index: 2; }

/* --- Consulting: improvement cycle --- */
.psl-cycle-row { margin-top: 2.5em; display: flex; flex-wrap: wrap; align-items: center; }
.psl-cycle { width: 100%; max-width: 440px; height: auto; font-family: "Open Sans", Arial, sans-serif; }
.psl-cycle-list { padding-left: 1.3em; }
.psl-cycle-list li { margin-bottom: .6em; line-height: 1.7; }
