.gim-workflow-wrapper{
	--gim-wf-blue:var(--gim-google-blue,#165DFF);
	--gim-wf-blue-hover:var(--gim-google-blue-hover,#124BCF);
	--gim-wf-cyan:var(--gim-google-cyan,#22D3EE);
	--gim-wf-navy:var(--gim-google-navy,#0D1B33);
	--gim-wf-navy-deep:var(--gim-google-navy-deep,#081224);
	--gim-wf-slate-50:var(--gim-google-slate-50,#F8FAFC);
	--gim-wf-slate-100:var(--gim-google-slate-100,#F1F5F9);
	--gim-wf-slate-200:var(--gim-google-slate-200,#E2E8F0);
	--gim-wf-slate-300:var(--gim-google-slate-300,#CBD5E1);
	--gim-wf-slate-400:var(--gim-google-slate-400,#94A3B8);
	--gim-wf-slate-500:var(--gim-google-slate-500,#64748B);
	--gim-wf-slate-600:var(--gim-google-slate-600,#475569);
	--gim-wf-slate-700:var(--gim-google-slate-700,#334155);
	--gim-wf-emerald-50:var(--gim-google-emerald-50,#ECFDF5);
	--gim-wf-emerald-200:var(--gim-google-emerald-200,#A7F3D0);
	--gim-wf-emerald-700:var(--gim-google-emerald-700,#047857);
	--gim-wf-shadow-xs:var(--gim-google-shadow-xs,0 1px 2px rgba(15,23,42,.05));
	--gim-wf-shadow-xl:var(--gim-google-shadow-xl,0 20px 25px -5px rgba(15,23,42,.10),0 8px 10px -6px rgba(15,23,42,.10));
	--gim-wf-ease:var(--gim-google-ease,cubic-bezier(.4,0,.2,1));
	direction:rtl;
	color:var(--gim-wf-navy);
	font-family:inherit;
	max-width:100%;
	min-width:0;
	isolation:isolate;
}
.gim-workflow-wrapper *{box-sizing:border-box}
.gim-workflow-wrapper .gim-icon{display:block;width:1em;height:1em}

/* Five checkpoints: keep the Google reference's compact day-at-a-glance rhythm. */
.gim-wf-stepper-grid{
	display:grid;
	grid-template-columns:repeat(5,minmax(0,1fr));
	gap:.75rem;
	margin:0 0 2.5rem;
}
.gim-wf-step-btn{
	position:relative;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	min-width:0;
	min-height:7rem;
	padding:1rem;
	overflow:hidden;
	border:1px solid rgba(226,232,240,.9);
	border-radius:1rem;
	background:#fff;
	box-shadow:var(--gim-wf-shadow-xs);
	color:var(--gim-wf-slate-700);
	text-align:start;
	cursor:pointer;
	transition:
		background-color 180ms var(--gim-wf-ease),
		color 180ms var(--gim-wf-ease),
		border-color 180ms var(--gim-wf-ease),
		box-shadow 180ms var(--gim-wf-ease),
		transform 180ms var(--gim-wf-ease);
}
.gim-wf-btn-top{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:.75rem;
	margin-block-end:.5rem;
}
.gim-wf-time-badge{
	display:inline-flex;
	align-items:center;
	min-height:1.5rem;
	padding:.1875rem .5rem;
	border-radius:.375rem;
	background:var(--gim-wf-slate-100);
	color:var(--gim-wf-slate-600);
	font-size:.6875rem;
	font-weight:800;
	line-height:1.35;
	white-space:nowrap;
	transition:background-color 180ms var(--gim-wf-ease),color 180ms var(--gim-wf-ease);
}
.gim-wf-icon-mark{
	flex:0 0 auto;
	color:var(--gim-wf-slate-400);
	font-size:1rem;
	transition:color 180ms var(--gim-wf-ease),transform 180ms var(--gim-wf-ease);
}
.gim-wf-btn-title{
	display:block;
	margin-block-start:.25rem;
	font-size:.75rem;
	font-weight:800;
	line-height:1.6;
}
.gim-wf-step-btn:hover{
	border-color:var(--gim-wf-slate-300);
	background:var(--gim-wf-slate-50);
	box-shadow:0 4px 12px rgba(15,23,42,.06);
	transform:translateY(-1px);
}
.gim-wf-step-btn:hover .gim-wf-icon-mark{color:var(--gim-wf-blue)}
.gim-wf-active-btn,
.gim-wf-active-btn:hover{
	border-color:var(--gim-wf-blue);
	background:linear-gradient(270deg,var(--gim-wf-blue),var(--gim-wf-navy));
	box-shadow:0 10px 24px rgba(13,27,51,.14),0 0 0 1px rgba(22,93,255,.12);
	color:#fff;
	transform:translateY(-1px);
}
.gim-wf-active-btn .gim-wf-time-badge{
	background:rgba(255,255,255,.16);
	color:#fff;
}
.gim-wf-active-btn .gim-wf-icon-mark{
	color:var(--gim-wf-cyan);
	transform:scale(1.06);
}
.gim-wf-step-btn:focus-visible,
.gim-wf-cta-btn:focus-visible{
	outline:3px solid rgba(22,93,255,.38);
	outline-offset:3px;
}

/* Active checkpoint detail: one primary story, one dark supporting panel. */
.gim-wf-panels-wrapper{min-width:0}
/* Hidden tab panels must remain out of layout even when the card defines display:grid. */
.gim-wf-stage-card[hidden]{display:none!important}
.gim-wf-stage-card{
	display:grid;
	grid-template-columns:minmax(0,2fr) minmax(16.25rem,1fr);
	gap:2rem;
	align-items:stretch;
	min-width:0;
	padding:2rem;
	border:1px solid var(--gim-wf-slate-200);
	border-radius:1.5rem;
	background:#fff;
	box-shadow:var(--gim-wf-shadow-xl);
	animation:gimWfPanelIn 220ms var(--gim-wf-ease) both;
}
.gim-wf-stage-main{
	display:flex;
	flex-direction:column;
	justify-content:center;
	min-width:0;
}
.gim-wf-stage-header{
	display:flex;
	align-items:center;
	gap:.75rem;
	min-width:0;
}
.gim-wf-icon-box{
	display:grid;
	place-items:center;
	flex:0 0 3rem;
	width:3rem;
	height:3rem;
	border-radius:1rem;
	background:linear-gradient(145deg,rgba(22,93,255,.12),rgba(79,70,229,.08));
	color:var(--gim-wf-blue);
	font-size:1.5rem;
	box-shadow:inset 0 0 0 1px rgba(22,93,255,.06);
}
.gim-wf-stage-header>div:last-child{min-width:0}
.gim-wf-meta-badge{
	display:inline-flex;
	max-width:100%;
	padding:.1875rem .625rem;
	border:1px solid #c7d2fe;
	border-radius:.375rem;
	background:#eef2ff;
	color:#4338ca;
	font-size:.6875rem;
	font-weight:800;
	line-height:1.65;
}
.gim-wf-stage-title{
	margin:.25rem 0 0;
	color:var(--gim-wf-navy);
	font-size:1.5rem;
	font-weight:900;
	line-height:1.45;
	letter-spacing:-.015em;
}
.gim-wf-stage-desc{
	margin:1.125rem 0 0;
	padding-block-start:.5rem;
	color:var(--gim-wf-slate-600);
	font-size:.875rem;
	line-height:1.9;
}
.gim-wf-kpi-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:.75rem;
	padding-block-start:.75rem;
}
.gim-wf-kpi-item{
	min-width:0;
	padding:.875rem;
	border:1px solid var(--gim-wf-slate-200);
	border-radius:.75rem;
	background:var(--gim-wf-slate-50);
	font-size:.75rem;
	box-shadow:var(--gim-wf-shadow-xs);
}
.gim-wf-kpi-result{
	border-color:var(--gim-wf-emerald-200);
	background:var(--gim-wf-emerald-50);
}
.gim-wf-kpi-label{
	display:block;
	margin-block-end:.25rem;
	color:var(--gim-wf-slate-500);
	font-weight:600;
	line-height:1.6;
}
.gim-wf-kpi-result .gim-wf-kpi-label{color:var(--gim-wf-emerald-700)}
.gim-wf-kpi-val{
	display:block;
	color:var(--gim-wf-navy);
	font-size:.75rem;
	line-height:1.75;
}
.gim-wf-kpi-result .gim-wf-kpi-val{color:#064e3b}

.gim-wf-stage-side{
	position:relative;
	display:flex;
	flex-direction:column;
	justify-content:center;
	min-width:0;
	padding:1.5rem;
	overflow:hidden;
	border:1px solid rgba(34,211,238,.22);
	border-radius:1rem;
	background:
		radial-gradient(circle at 85% 12%,rgba(22,93,255,.22),transparent 36%),
		linear-gradient(155deg,var(--gim-wf-navy),var(--gim-wf-navy-deep));
	box-shadow:0 12px 30px rgba(13,27,51,.16);
	color:#fff;
}
.gim-wf-stage-side::after{
	content:"";
	position:absolute;
	width:8rem;
	height:8rem;
	inset-block-end:-4.5rem;
	inset-inline-start:-3.5rem;
	border-radius:999px;
	background:rgba(34,211,238,.08);
	filter:blur(12px);
	pointer-events:none;
}
.gim-wf-side-title,
.gim-wf-side-copy,
.gim-wf-cta-btn{position:relative;z-index:1}
.gim-wf-side-title{
	display:flex;
	align-items:center;
	gap:.5rem;
	padding-block-end:.75rem;
	border-block-end:1px solid rgba(148,163,184,.18);
	color:var(--gim-wf-cyan);
	font-size:.75rem;
	font-weight:800;
	line-height:1.6;
}
.gim-wf-side-title .gim-icon{color:#34d399}
.gim-wf-side-copy{
	display:grid;
	gap:.5rem;
	padding-block:.875rem;
	color:#cbd5e1;
	font-size:.75rem;
	line-height:1.75;
}
.gim-wf-side-copy p{margin:0}
.gim-wf-cta-btn{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:.5rem;
	width:100%;
	min-height:2.75rem;
	margin-block-start:.125rem;
	padding:.75rem 1rem;
	border:1px solid rgba(255,255,255,.08);
	border-radius:.75rem;
	background:var(--gim-wf-blue);
	box-shadow:0 8px 22px rgba(22,93,255,.28);
	color:#fff;
	font-size:.75rem;
	font-weight:800;
	line-height:1.5;
	cursor:pointer;
	transition:
		background-color 180ms var(--gim-wf-ease),
		box-shadow 180ms var(--gim-wf-ease),
		transform 180ms var(--gim-wf-ease);
}
.gim-wf-cta-btn:hover{
	background:var(--gim-wf-blue-hover);
	box-shadow:0 10px 26px rgba(22,93,255,.34);
	transform:translateY(-1px);
}
.gim-wf-cta-btn:active{transform:scale(.98)}
.gim-wf-cta-btn .gim-icon{color:var(--gim-wf-cyan)}

@keyframes gimWfPanelIn{
	from{opacity:0;transform:translateY(.375rem)}
	to{opacity:1;transform:none}
}

/* Tablet: preserve the five-step overview, recompose only the detail card. */
@media(max-width:1023px){
	.gim-wf-stepper-grid{gap:.625rem;margin-block-end:2rem}
	.gim-wf-step-btn{min-height:6.5rem;padding:.875rem}
	.gim-wf-stage-card{grid-template-columns:1fr;gap:1.25rem}
	.gim-wf-stage-side{min-height:0}
}

/* Mobile: two readable checkpoints per row; detail and KPIs become single-column. */
@media(max-width:639px){
	.gim-wf-stepper-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:.625rem;
		margin-block-end:1.75rem;
	}
	.gim-wf-step-btn{
		min-height:6.375rem;
		padding:.875rem;
	}
	.gim-wf-step-btn,
	.gim-wf-cta-btn{min-height:2.75rem}
	.gim-wf-stage-card{
		gap:1rem;
		padding:1.375rem 1.125rem;
		border-radius:1.25rem;
	}
	.gim-wf-stage-header{align-items:flex-start}
	.gim-wf-icon-box{
		flex-basis:2.75rem;
		width:2.75rem;
		height:2.75rem;
		border-radius:.875rem;
		font-size:1.25rem;
	}
	.gim-wf-meta-badge{display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone}
	.gim-wf-stage-title{font-size:1.25rem}
	.gim-wf-stage-desc{margin-block-start:.875rem}
	.gim-wf-kpi-grid{grid-template-columns:1fr}
	.gim-wf-stage-side{padding:1.125rem}
}

/* Very narrow screens keep the 2-column source rhythm without page overflow. */
@media(max-width:359px){
	.gim-wf-stepper-grid{gap:.5rem}
	.gim-wf-step-btn{padding:.75rem}
	.gim-wf-btn-title{font-size:.6875rem}
	.gim-wf-time-badge{font-size:.625rem}
	.gim-wf-stage-header{gap:.625rem}
}

@media(prefers-reduced-motion:reduce){
	.gim-workflow-wrapper *,
	.gim-workflow-wrapper *::before,
	.gim-workflow-wrapper *::after{
		animation-duration:.01ms!important;
		animation-iteration-count:1!important;
		transition-duration:.01ms!important;
		scroll-behavior:auto!important;
	}
	.gim-wf-step-btn:hover,
	.gim-wf-active-btn,
	.gim-wf-active-btn:hover,
	.gim-wf-cta-btn:hover,
	.gim-wf-cta-btn:active{transform:none}
}
