
#gim-hero .gim-hero-copy-inner{display:flex;flex-direction:column;align-items:flex-start}
#gim-hero .gim-hero-copy-inner h1{margin:10px 0 12px;font-size:clamp(2.2rem,4.6vw,4.65rem);line-height:1.25;letter-spacing:-.035em;font-weight:950;color:#0D1B33}
#gim-hero .gim-hero-copy-inner h1 .gim-blue{color:#165DFF}#gim-hero .gim-hero-copy-inner h1 .gim-teal{color:#00C8AB}
#gim-hero .gim-hero-copy-inner .gim-section-badge{align-self:flex-start;background:#ecfdf5;border-color:#86efac;color:#047857}
#gim-hero .gim-hero-copy-inner>p{margin:0;color:#475569;font-size:15px;line-height:2}
.gim-showcase-jimmy__art{width:210px;height:210px;margin:18px auto 4px;background-repeat:no-repeat;background-position:center;background-size:contain;filter:drop-shadow(0 0 18px rgba(34,211,238,.28))}
.gim-jimmy-finance .gim-showcase-jimmy__art{background-image:url("../media/jimmy/jimmy-financial.svg")}
.gim-jimmy-branches .gim-showcase-jimmy__art{background-image:url("../media/jimmy/jimmy-branches.svg")}
.gim-jimmy-public .gim-showcase-jimmy__art{background-image:url("../media/jimmy/jimmy-hero.svg")}
.gim-jimmy-final .gim-showcase-jimmy__art{background-image:url("../media/jimmy/jimmy-final-cta.svg")}

/* GIM Features landing — scoped visual port from the approved Google AI Studio reference. */
.gim-features-landing{
	/* Google AI Studio design DNA — source-derived, page-scoped foundation tokens. */
	--gim-google-blue:#165DFF;
	--gim-google-blue-hover:#124BCF;
	--gim-google-sky:#0284C7;
	--gim-google-cyan:#22D3EE;
	--gim-google-teal:#00C8AB;
	--gim-google-navy:#0D1B33;
	--gim-google-navy-deep:#081224;
	--gim-google-slate-50:#F8FAFC;
	--gim-google-slate-100:#F1F5F9;
	--gim-google-slate-200:#E2E8F0;
	--gim-google-slate-300:#CBD5E1;
	--gim-google-slate-400:#94A3B8;
	--gim-google-slate-500:#64748B;
	--gim-google-slate-600:#475569;
	--gim-google-slate-700:#334155;
	--gim-google-slate-800:#1E293B;
	--gim-google-emerald-50:#ECFDF5;
	--gim-google-emerald-100:#D1FAE5;
	--gim-google-emerald-200:#A7F3D0;
	--gim-google-emerald-400:#34D399;
	--gim-google-emerald-500:#10B981;
	--gim-google-emerald-600:#059669;
	--gim-google-emerald-700:#047857;
	--gim-google-amber-50:#FFFBEB;
	--gim-google-amber-200:#FDE68A;
	--gim-google-amber-400:#FBBF24;
	--gim-google-rose-50:#FFF1F2;
	--gim-google-rose-200:#FECDD3;
	--gim-google-red-400:#F87171;

	/* Compatibility aliases used by the existing v1.1.1 markup. */
	--gim-navy:var(--gim-google-navy);
	--gim-blue:var(--gim-google-blue);
	--gim-cyan:var(--gim-google-cyan);
	--gim-teal:var(--gim-google-teal);
	--gim-slate:var(--gim-google-slate-500);
	--gim-line:var(--gim-google-slate-200);
	--gim-soft:var(--gim-google-slate-50);

	/* Source layout / rhythm. Tailwind: max-w-7xl + px-4/sm:px-6/lg:px-8. */
	--gim-google-container:80rem;
	--gim-google-gutter:1rem;
	--gim-google-section-y:4rem;
	--gim-google-section-y-lg:6rem;
	--gim-google-modules-y:3rem;
	--gim-google-modules-y-lg:4rem;
	--gim-google-trust-y:2.5rem;

	/* Source surface geometry. */
	--gim-google-radius-md:.375rem;
	--gim-google-radius-lg:.5rem;
	--gim-google-radius-xl:.75rem;
	--gim-google-radius-2xl:1rem;
	--gim-google-radius-3xl:1.5rem;
	--gim-google-shadow-xs:0 1px 2px rgba(15,23,42,.05);
	--gim-google-shadow-xl:0 20px 25px -5px rgba(15,23,42,.10),0 8px 10px -6px rgba(15,23,42,.10);

	/* Source motion semantics; component application stays local. */
	--gim-google-motion-fast:150ms;
	--gim-google-motion-normal:200ms;
	--gim-google-motion-panel:300ms;
	--gim-google-motion-pulse:4s;
	--gim-google-motion-float:5s;
	--gim-google-ease:cubic-bezier(.4,0,.2,1);

	direction:rtl;
	color:var(--gim-google-navy);
	font-family:'Vazirmatn',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
.gim-features-landing,.gim-features-landing *{box-sizing:border-box}
.gim-features-landing a{text-decoration:none}
.gim-features-landing :focus-visible{outline:3px solid var(--gim-cyan);outline-offset:3px}
.gim-features-landing .elementor-widget-heading .elementor-heading-title{font-weight:900;line-height:1.35;color:var(--gim-navy)}
.gim-features-landing>.e-con-inner{
	max-width:var(--gim-google-container)!important;
	width:100%!important;
	margin-inline:auto!important;
	padding-inline:var(--gim-google-gutter)!important;
}
#gim-hero.gim-features-landing{
	position:relative;
	overflow:hidden;
	padding-block:2rem 4rem!important;
	background:linear-gradient(to bottom,#F0F4FF 0%,#F8FAFC 50%,#FFFFFF 100%);
	border-bottom:1px solid rgba(226,232,240,.6);
}
#gim-hero.gim-features-landing::before{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background-image:linear-gradient(to right,rgba(22,93,255,.039) 1px,transparent 1px),linear-gradient(to bottom,rgba(22,93,255,.039) 1px,transparent 1px);
	background-size:32px 32px;
}
#gim-hero.gim-features-landing::after{
	content:"";
	position:absolute;
	width:24rem;
	height:24rem;
	inset-block-start:2.5rem;
	inset-inline-start:25%;
	border-radius:999px;
	background:rgba(22,93,255,.10);
	filter:blur(64px);
	pointer-events:none;
}
#gim-hero.gim-features-landing>.gim-hero-inner{
	position:relative;
	z-index:1;
	max-width:var(--gim-google-container)!important;
	width:100%!important;
	margin-inline:auto!important;
	padding-inline:var(--gim-google-gutter)!important;
}
#gim-hero.gim-features-landing .gim-hero-grid{
	position:relative;
	display:grid!important;
	grid-template-columns:repeat(12,minmax(0,1fr))!important;
	gap:3rem!important;
	align-items:center;
}
#gim-hero.gim-features-landing .gim-hero-grid>.gim-hero-copy{grid-column:span 7/span 7;min-width:0}
#gim-hero.gim-features-landing .gim-hero-grid>.gim-hero-visual{grid-column:span 5/span 5;min-width:0}

#gim-hero .gim-hero-copy{order:1}
#gim-hero .gim-hero-visual{order:2}
#gim-hero .elementor-heading-title{font-size:clamp(2.2rem,4.6vw,4.65rem)!important;letter-spacing:-.035em}
#gim-hero .gim-hero-title .elementor-heading-title{background:linear-gradient(90deg,var(--gim-blue) 0 20%,var(--gim-navy) 20% 62%,var(--gim-teal) 62% 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
#gim-hero .gim-hero-badge .elementor-heading-title{display:inline-flex!important;width:auto!important;padding:8px 14px;border:1px solid #86efac;border-radius:999px;background:#ecfdf5;color:#047857!important;font-size:12px!important}
#gim-hero .gim-hero-desc{font-size:16px;color:#475569;line-height:2;margin-top:8px}
#gim-hero .gim-hero-bullets{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
#gim-hero .gim-hero-bullet{display:flex;align-items:center;gap:8px;padding:12px 14px;background:rgba(255,255,255,.82);border:1px solid var(--gim-line);border-radius:14px;font-size:13px;font-weight:800;box-shadow:0 7px 28px rgba(13,27,51,.035)}
#gim-hero .gim-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
#gim-hero .gim-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:14px;border:1px solid var(--gim-line);font-weight:900;font-size:14px;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
#gim-hero .gim-btn:hover{transform:translateY(-2px)}
#gim-hero .gim-btn--primary{background:linear-gradient(135deg,#165DFF,#1e6bff);color:#fff;border-color:#165DFF;box-shadow:0 14px 30px rgba(22,93,255,.22)}
#gim-hero .gim-btn--secondary{background:#fff;color:var(--gim-navy)}
#gim-hero .gim-hero-note{margin-top:14px;color:#64748b;font-size:12px}
.gim-hero-preview{display:grid;gap:14px;direction:rtl;color:var(--gim-navy);font-family:inherit}
.gim-jimmy-card{position:relative;overflow:hidden;min-height:410px;padding:18px;border-radius:22px;background:linear-gradient(160deg,#0d1b33,#08162c);border:1px solid rgba(34,211,238,.35);color:#fff;box-shadow:0 18px 45px rgba(13,27,51,.22)}
.gim-jimmy-card:before,.gim-jimmy-card:after{content:"";position:absolute;border-radius:50%;filter:blur(34px);pointer-events:none}
.gim-jimmy-card:before{width:190px;height:190px;background:rgba(22,93,255,.25);inset:-70px auto auto -40px}
.gim-jimmy-card:after{width:160px;height:160px;background:rgba(34,211,238,.15);inset:auto -60px -70px auto}
.gim-jimmy-card__top{display:flex;justify-content:space-between;align-items:center;gap:8px;position:relative;z-index:2}
.gim-pill,.gim-ai-prompt-badge{font-size:10px;font-weight:800;border-radius:999px;padding:6px 10px;border:1px solid rgba(255,255,255,.14)}
.gim-pill--cyan{color:#22D3EE;background:rgba(22,93,255,.18);border-color:rgba(34,211,238,.45)}
.gim-ai-prompt-badge{color:#94a3b8;background:rgba(255,255,255,.04)}
.gim-jimmy-orbit{width:164px;height:164px;margin:26px auto 12px;padding:3px;border-radius:50%;background:linear-gradient(135deg,#165DFF,#22D3EE,#00C8AB);box-shadow:0 0 28px rgba(34,211,238,.34);animation:gimPulseGlow 3.6s ease-in-out infinite}
.gim-jimmy-orbit__inner{width:100%;height:100%;border-radius:50%;background:#0d1b33;overflow:hidden;display:grid;place-items:center}
.gim-jimmy-orbit img{width:100%;height:100%;object-fit:contain}
.gim-jimmy-card h3{position:relative;text-align:center;margin:10px 0 4px;color:#fff;font-size:15px}
.gim-jimmy-card>p{position:relative;text-align:center;margin:0 auto;max-width:320px;color:#cbd5e1;font-size:11px;line-height:1.9}
.gim-prompt-box{position:relative;margin-top:18px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.04);font-size:10px}
.gim-prompt-box summary{cursor:pointer;color:#22d3ee;font-weight:800}
.gim-prompt-copy-row{display:grid;gap:8px;margin-top:10px}
.gim-prompt-copy-row code{white-space:normal;direction:ltr;text-align:left;color:#cbd5e1;background:#050b17;padding:9px;border-radius:8px;line-height:1.6}
.gim-copy-btn{justify-self:start;border:0;border-radius:8px;background:#165DFF;color:#fff;padding:6px 10px;cursor:pointer}
.gim-hero-mockup-card{overflow:hidden;background:#fff;border:1px solid var(--gim-line);border-radius:22px;box-shadow:0 16px 42px rgba(13,27,51,.08)}
.gim-hero-preview .gim-mock-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border-bottom:1px solid #e8eef6;background:#fff}
.gim-hero-preview .gim-mock-dots{display:flex;align-items:center;gap:6px}.gim-hero-preview .dot{width:9px;height:9px;border-radius:50%}.gim-hero-preview .dot-red{background:#fb7185}.gim-hero-preview .dot-amber{background:#fbbf24}.gim-hero-preview .dot-green{background:#34d399}.gim-mock-window-title{margin-inline-start:8px;font-weight:800;font-size:10px}
.gim-mock-tabs{display:flex;gap:4px;padding:3px;border-radius:10px;background:#f1f5f9}.gim-mock-tab-btn{border:0;background:transparent;padding:7px 9px;border-radius:8px;color:#64748b;font-size:10px;font-weight:800;cursor:pointer}.gim-mock-tab-btn.gim-mock-tab-active{background:#165DFF;color:#fff;box-shadow:0 3px 10px rgba(22,93,255,.2)}
.gim-mock-tab-panel{padding:14px}.gim-mock-kpi-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gim-mock-kpi-box,.gim-mock-alert-box{padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.gim-mock-blue{background:#eff6ff;border-color:#bfdbfe}.gim-mock-green{background:#ecfdf5;border-color:#a7f3d0}.gim-mock-kpi-top,.gim-mock-live-row,.gim-mock-alert-box,.gim-mock-dark-card,.gim-mock-shift-footer{display:flex;justify-content:space-between;gap:10px;align-items:center}.gim-mock-kpi-top{font-size:10px}.gim-mock-kpi-num{font-size:18px;font-weight:900;margin:4px 0}.gim-mock-kpi-sub,.gim-hero-preview small{display:block;color:#64748b;font-size:9px}.gim-mock-live-row{margin-top:10px;padding:11px;border:1px solid #e2e8f0;border-radius:12px;font-size:10px}.gim-mock-live-row span{color:#059669;font-size:9px;background:#d1fae5;padding:5px 7px;border-radius:999px}.gim-alert-success{border-color:#86efac;background:#f0fdf4}.gim-alert-warning{border-color:#fcd34d;background:#fffbeb;margin-top:8px}.gim-mock-dark-card{padding:13px;border-radius:12px;background:#0d1b33;color:#fff}.gim-mock-shift-footer{padding-top:10px;color:#64748b;font-size:10px}

/* Source-derived section foundations — each section keeps its Google rhythm. */
#gim-trust-stats,
#gim-pain-points,
#gim-features,
#gim-workflow,
#gim-financial,
#gim-multi-branch,
#gim-public-web,
#gim-roi-calc,
#gim-testimonials,
#gim-faq,
#gim-final-cta{
	position:relative;
	border-bottom:1px solid var(--gim-google-slate-200);
}
#gim-trust-stats{padding-block:var(--gim-google-trust-y)!important;background:#fff;border-bottom-color:rgba(226,232,240,.8)}
#gim-pain-points{padding-block:var(--gim-google-section-y)!important;background:var(--gim-google-slate-50);overflow:hidden}
#gim-features{padding-block:var(--gim-google-modules-y)!important;background:rgba(248,250,252,.70);overflow:hidden}
#gim-workflow{padding-block:var(--gim-google-section-y)!important;background:linear-gradient(to bottom,#fff,var(--gim-google-slate-50))}
#gim-financial{padding-block:var(--gim-google-section-y)!important;background:#fff;overflow:hidden}
#gim-multi-branch{padding-block:var(--gim-google-section-y)!important;background:var(--gim-google-slate-50);overflow:hidden}
#gim-public-web{padding-block:var(--gim-google-section-y)!important;background:#fff;overflow:hidden}
#gim-roi-calc{padding-block:var(--gim-google-section-y)!important;background:linear-gradient(to bottom,var(--gim-google-slate-50),#fff)}
#gim-testimonials{padding-block:var(--gim-google-section-y)!important;background:#fff}
#gim-faq{padding-block:var(--gim-google-section-y)!important;background:var(--gim-google-slate-50)}
#gim-final-cta{padding-block:var(--gim-google-section-y)!important;background:linear-gradient(to bottom,#fff 0%,var(--gim-google-navy) 50%,var(--gim-google-navy-deep) 100%);color:#fff;overflow:hidden}

.gim-section-shell{width:100%}
.gim-section-header{text-align:center;max-width:48rem;margin:0 auto 3rem}
#gim-features .gim-section-header,#gim-faq .gim-section-header{max-width:42rem}
#gim-features .gim-section-header{margin-bottom:2rem}
#gim-faq .gim-section-header{margin-bottom:2.5rem}
.gim-section-badge{display:inline-flex;align-items:center;gap:.375rem;margin-bottom:1rem;padding:.375rem .75rem;border-radius:999px;background:#eff6ff;border:1px solid #bfdbfe;color:#165dff;font-size:.75rem;font-weight:700;box-shadow:var(--gim-google-shadow-xs)}
.gim-section-badge--green{background:var(--gim-google-emerald-50);border-color:var(--gim-google-emerald-200);color:var(--gim-google-emerald-700)}
.gim-section-badge--red{background:var(--gim-google-rose-50);border-color:var(--gim-google-rose-200);color:#dc2626}
.gim-section-badge--amber{background:var(--gim-google-amber-50);border-color:var(--gim-google-amber-200);color:#b45309}
.gim-section-header h2{margin:0;color:var(--gim-google-navy);font-size:1.5rem;line-height:1.35;font-weight:900;letter-spacing:-.02em}
#gim-features .gim-section-header h2{font-size:1.5rem}
.gim-section-header p{margin:1rem auto 0;color:var(--gim-google-slate-600);line-height:1.625;font-size:.875rem}

/* Trust */
.gim-trust-wrap{width:100%}.gim-trust-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid #edf2f7;font-size:12px;font-weight:800}.gim-trust-head strong{font-size:14px}.gim-trust-live{display:inline-flex;align-items:center;gap:8px}.gim-trust-live i{position:relative;width:10px;height:10px;background:#10b981;border-radius:50%;box-shadow:0 0 0 5px #d1fae5}.gim-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.gim-trust-card{padding:18px;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.gim-trust-card:hover{transform:translateY(-4px);background:#fff;border-color:#93c5fd;box-shadow:0 14px 32px rgba(13,27,51,.08)}.gim-trust-metric{font-size:28px;font-weight:950;color:#165DFF}.gim-trust-card:nth-child(2) .gim-trust-metric{color:#0891b2}.gim-trust-card:nth-child(3) .gim-trust-metric{color:#059669}.gim-trust-card:nth-child(4) .gim-trust-metric{color:#4f46e5}.gim-trust-card strong{display:block;margin:8px 0 5px;font-size:13px}.gim-trust-card small{color:#64748b;font-size:11px;line-height:1.7}

/* Pain comparison */
.gim-pain-header{max-width:48rem!important;margin-inline:auto!important;margin-bottom:48px!important;text-align:center}
.gim-pain-header .gim-section-badge{display:inline-flex;align-items:center;gap:8px;padding:4px 14px;border-radius:999px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:12px;font-weight:800;margin-bottom:16px}.gim-pain-header .gim-section-badge .gim-icon{width:14px;height:14px;color:#dc2626;animation:gimPainPulse 2s ease-in-out infinite}.gim-pain-header h2{margin-bottom:16px!important}
.gim-pain-state-tabs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:40px}.gim-state-btn{border:1px solid #e2e8f0;background:#fff;color:#334155;border-radius:12px;padding:8px 16px;font-size:12px;font-weight:800;cursor:pointer;box-shadow:none;transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.gim-state-btn:hover{background:#f8fafc}.gim-state-btn.is-active{background:#0d1b33;color:#fff;border-color:#0d1b33;box-shadow:0 6px 14px rgba(13,27,51,.14)}.gim-state-btn--before{border-color:#fecaca;color:#b91c1c}.gim-state-btn--before:hover{background:#fef2f2}.gim-state-btn--before.is-active{background:#dc2626;border-color:#dc2626;color:#fff}.gim-state-btn--after{border-color:#a7f3d0;color:#047857}.gim-state-btn--after:hover{background:#ecfdf5}.gim-state-btn--after.is-active{background:#059669;border-color:#059669;color:#fff}.gim-state-btn:active{transform:scale(.98)}.gim-state-btn:focus-visible,.gim-pain-footer button:focus-visible,.gim-pain-cta__button:focus-visible{outline:3px solid rgba(34,211,238,.75);outline-offset:3px}
.gim-pain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:48px}.gim-pain-card{display:flex;flex-direction:column;justify-content:space-between;padding:24px;border:1px solid #e2e8f0;border-radius:24px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.08);transition:box-shadow .3s ease,border-color .3s ease,transform .3s ease}.gim-pain-card:hover{box-shadow:0 18px 42px rgba(15,23,42,.12);border-color:#dbeafe;transform:translateY(-2px)}.gim-pain-card__category{display:inline-flex;padding:4px 12px;border-radius:8px;background:#f1f5f9;color:#334155;font-size:12px;font-weight:800;margin-bottom:16px}.gim-pain-side{padding:16px;border-radius:16px;border:1px solid;transition:opacity .18s ease,transform .18s ease,background-color .18s ease}.gim-pain-side+.gim-pain-side{margin-top:16px}.gim-pain-side__head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}.gim-pain-side__title{display:flex;align-items:flex-start;gap:8px;min-width:0}.gim-pain-side__title .gim-icon{width:16px;height:16px;flex:0 0 auto;margin-top:2px}.gim-pain-side h3{margin:0;font-size:14px;line-height:1.6}.gim-pain-side p{margin:0;color:#334155;font-size:12px;line-height:1.85}.gim-pain-before{border-color:rgba(254,202,202,.8);background:rgba(254,242,242,.62);margin-bottom:16px}.gim-pain-before h3,.gim-pain-before .gim-icon{color:#b91c1c}.gim-pain-before small{display:inline-flex;margin-top:8px;padding:4px 10px;border-radius:6px;background:rgba(254,226,226,.85);color:#dc2626;font-size:11px;font-weight:700}.gim-pain-after{border-color:rgba(167,243,208,.8);background:rgba(236,253,245,.66)}.gim-pain-after h3{color:#065f46}.gim-pain-after .gim-icon{color:#059669}.gim-pain-metric{flex:0 0 auto;padding:2px 8px;border-radius:999px;background:#059669;color:#fff;font-size:10px;font-weight:900;box-shadow:0 2px 7px rgba(5,150,105,.18)}.gim-pain-card[data-pain-hidden="before"] .gim-pain-before,.gim-pain-card[data-pain-hidden="after"] .gim-pain-after{display:none}.gim-pain-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;padding-top:12px;border-top:1px solid #f1f5f9;color:#64748b;font-size:12px}.gim-pain-footer button{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:#165dff;font-size:12px;font-weight:800;cursor:pointer;padding:4px 0;transition:color .15s ease}.gim-pain-footer button:hover{color:#0d1b33}.gim-pain-footer .gim-icon{width:14px;height:14px}
#gim-pain-points .gim-pain-grid>.e-con-inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:100%}
.gim-pain-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 32px;border:1px solid rgba(22,93,255,.3);border-radius:24px;background:linear-gradient(90deg,#0d1b33,#112447,#0a162b);color:#fff;box-shadow:0 24px 54px rgba(13,27,51,.2)}.gim-pain-cta>div{flex:1;text-align:start}.gim-pain-cta__badge{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border-radius:999px;background:rgba(34,211,238,.14);color:#22d3ee;font-size:12px;font-weight:800;margin-bottom:12px}.gim-pain-cta__badge .gim-icon{width:14px;height:14px}.gim-pain-cta h3{margin:0 0 8px;color:#fff;font-size:24px;font-weight:900;line-height:1.45}.gim-pain-cta p{margin:0;max-width:640px;color:#cbd5e1;font-size:13px;line-height:1.85}.gim-pain-cta__button{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;padding:14px 28px;border:0;border-radius:16px;background:#165dff;color:#fff;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 14px 30px rgba(22,93,255,.35);transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease}.gim-pain-cta__button:hover{background:#1350de;transform:scale(1.05)}.gim-pain-cta__button:active{transform:scale(.95)}.gim-pain-cta__button .gim-icon{color:#22d3ee}
@keyframes gimPainPulse{50%{opacity:.55;transform:scale(.96)}}


/* Feature section */
#gim-features .gim-section-header{margin-bottom:26px}

/* Finance */
.gim-finance-shell{position:relative}.gim-finance-shell:before{content:"";position:absolute;inset-block-start:50%;inset-inline-end:-12rem;width:24rem;height:24rem;border-radius:999px;background:rgba(22,93,255,.05);filter:blur(64px);pointer-events:none}
.gim-finance-header{max-width:48rem!important;margin-inline:auto!important;margin-bottom:48px!important;text-align:center}.gim-finance-header .gim-section-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border-radius:999px;background:#ecfdf5;border:1px solid #a7f3d0;color:#047857;font-size:12px;font-weight:800;margin-bottom:16px}.gim-finance-header .gim-section-badge .gim-icon{width:14px;height:14px;color:#059669}.gim-finance-header h2{margin-bottom:16px!important}
.gim-finance-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,7fr) minmax(320px,5fr);gap:32px;align-items:center}.gim-finance-main{min-width:0}.gim-finance-tabs{display:flex;align-items:center;gap:8px;padding:6px;border-radius:16px;background:#f1f5f9;margin-bottom:20px}.gim-finance-tab{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;border:0;background:transparent;padding:10px 12px;border-radius:12px;color:#475569;font-size:12px;font-weight:800;cursor:pointer;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.gim-finance-tab .gim-icon{width:16px;height:16px}.gim-finance-tab:hover{color:#0f172a}.gim-finance-tab.is-active{background:#fff;color:#165dff;box-shadow:0 2px 8px rgba(15,23,42,.08)}.gim-finance-tab:focus-visible,.gim-finance-demo:focus-visible{outline:3px solid rgba(34,211,238,.75);outline-offset:3px}
.gim-finance-panel{padding:24px;border:1px solid #e2e8f0;border-radius:24px;background:#f8fafc;animation:gimFinancePanelIn .2s ease both}.gim-finance-panel h3{margin:0 0 12px;color:#0d1b33;font-size:18px;font-weight:900;line-height:1.55}.gim-finance-panel>p{margin:0;color:#475569;line-height:1.9;font-size:13px}.gim-payment-grid{display:grid;gap:12px;margin-top:16px;padding-top:8px}.gim-payment-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.gim-payment-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.gim-payment-card{padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;font-size:12px;color:#64748b;line-height:1.7}.gim-payment-card strong{display:flex;align-items:center;gap:5px;margin-bottom:4px;color:#1d4ed8;font-size:12px}.gim-payment-card strong .gim-icon{width:13px;height:13px}.gim-payment-card--cash strong{color:#047857}.gim-payment-card--online strong{color:#7e22ce}.gim-payment-card--amber strong{color:#b45309}
.gim-finance-actions{display:flex;align-items:center;gap:12px;padding-top:16px}.gim-finance-demo{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:1px solid #cbd5e1;border-radius:12px;background:#f1f5f9;color:#1e293b;font-size:12px;font-weight:800;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.gim-finance-demo:hover{background:#e2e8f0;transform:translateY(-1px)}.gim-finance-demo .gim-icon{color:#165dff;width:14px;height:14px}
.gim-jimmy-finance-card{min-width:0}.gim-jimmy-finance-art{width:100%;height:100%;background:url("../media/jimmy/jimmy-financial.svg") center/cover no-repeat}
@keyframes gimFinancePanelIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}


/* Branches */
.gim-branch-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.82fr);gap:28px;align-items:center}.gim-branch-stack{display:grid;gap:16px}.gim-switch-card,.gim-role-card{padding:18px;border-radius:18px;background:#fff;border:1px solid #dce5f0;box-shadow:0 10px 22px rgba(13,27,51,.07)}.gim-switch-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.gim-branch-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gim-branch-btn{border:1px solid #dce5f0;border-radius:12px;background:#f8fafc;padding:12px 8px;font-size:11px;cursor:pointer;color:#475569}.gim-branch-btn.is-active{background:#165DFF;color:#fff;border-color:#165DFF;box-shadow:0 8px 20px rgba(22,93,255,.2)}.gim-role-tabs{display:flex;gap:6px;margin-bottom:12px}.gim-role-tab{border:0;border-radius:8px;padding:6px 10px;background:#f1f5f9;color:#475569;font-size:10px;font-weight:900;cursor:pointer}.gim-role-tab.is-active{background:#4f46e5;color:#fff}.gim-permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gim-permission{display:flex;justify-content:space-between;gap:8px;padding:10px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;font-size:10px}.gim-permission span{font-weight:900}.gim-permission.is-yes{border-color:#a7f3d0;background:#f0fdf4}.gim-permission.is-no{border-color:#fecaca;background:#fff7f7}.gim-branch-jimmy{min-height:360px}

/* Public web */
.gim-public-layout{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:28px;align-items:center}.gim-public-feature-box{padding:22px;border:1px solid #dce5f0;border-radius:20px;background:#f8fafc}.gim-public-feature-box h3{margin:0 0 16px;font-size:16px}.gim-public-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gim-public-item{padding:12px;border:1px solid #dce5f0;border-radius:12px;background:#fff}.gim-public-item strong{display:block;font-size:11px;margin-bottom:4px}.gim-public-item small{font-size:10px;line-height:1.65;color:#64748b}.gim-public-note{margin-top:12px;padding:11px 14px;border:1px solid #67e8f9;background:#ecfeff;border-radius:12px;font-size:10px;color:#0f766e}

/* Testimonials */
.gim-testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gim-testimonial{display:flex;flex-direction:column;justify-content:space-between;min-height:270px;padding:20px;border:1px solid #dce5f0;border-radius:18px;background:#f8fafc}.gim-stars{letter-spacing:2px;color:#f59e0b;font-size:15px}.gim-testimonial-metric{display:inline-flex;margin-top:10px;padding:5px 8px;border-radius:999px;background:#d1fae5;color:#047857;font-size:10px;font-weight:900}.gim-testimonial blockquote{margin:18px 0;color:#475569;font-size:12px;line-height:2;font-style:italic}.gim-testimonial-author{display:flex;align-items:center;gap:10px;padding-top:14px;border-top:1px solid #e2e8f0}.gim-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(135deg,#165DFF,#22D3EE);font-weight:900}.gim-author-meta strong{display:block;font-size:11px}.gim-author-meta small{display:block;color:#64748b;font-size:9px;margin-top:2px}

/* FAQ */
.gim-faq-tools{max-width:820px;margin:0 auto 20px}.gim-faq-search-wrap{position:relative}.gim-faq-search{width:100%;padding:14px 44px 14px 14px;border:1px solid #dce5f0;border-radius:14px;background:#fff;color:#0D1B33}.gim-faq-cats{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:12px}.gim-faq-cat{border:1px solid #dce5f0;border-radius:10px;background:#fff;color:#475569;padding:6px 12px;font-size:10px;font-weight:900;cursor:pointer}.gim-faq-cat.is-active{background:#0D1B33;color:#fff;border-color:#0D1B33}.gim-faq-list{display:grid;gap:10px;max-width:820px;margin:auto}.gim-faq-item{border:1px solid #dce5f0;border-radius:14px;background:#fff;overflow:hidden}.gim-faq-item.is-open{border-color:#165DFF;box-shadow:0 6px 16px rgba(22,93,255,.08)}.gim-faq-q{display:flex;justify-content:space-between;align-items:center;width:100%;gap:15px;padding:16px;border:0;background:#fff;text-align:start;font-size:12px;font-weight:900;cursor:pointer;color:#0D1B33}.gim-faq-a{padding:0 16px 16px;border-top:1px solid #edf2f7;color:#475569;font-size:11px;line-height:1.95}.gim-faq-ask{max-width:820px;margin:28px auto 0;padding:22px;border:1px solid #dce5f0;border-radius:18px;background:#fff;text-align:center;box-shadow:0 8px 22px rgba(13,27,51,.05)}.gim-faq-ask strong{display:block;font-size:12px}.gim-faq-ask p{color:#64748b;font-size:10px}.gim-faq-ask a{display:inline-flex;padding:9px 14px;border-radius:10px;background:#165DFF;color:#fff;font-size:10px;font-weight:900}

/* Final CTA */
#gim-final-cta{position:relative;overflow:hidden;background:linear-gradient(180deg,#f8fafc 0,#526179 7%,#0D1B33 34%,#081224 100%);color:#fff;padding-block:100px 80px!important}
#gim-final-cta:before,#gim-final-cta:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;filter:blur(70px);pointer-events:none}#gim-final-cta:before{background:rgba(22,93,255,.28);inset-inline-end:5%;top:24%}#gim-final-cta:after{background:rgba(34,211,238,.18);inset-inline-start:3%;bottom:-12%}
.gim-final-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:44px;align-items:center}.gim-final-copy .gim-section-badge{background:rgba(22,93,255,.25);border-color:rgba(34,211,238,.45);color:#67e8f9}.gim-final-copy h2{margin:12px 0;color:#fff;font-size:clamp(2rem,4vw,3.6rem);line-height:1.35;font-weight:950}.gim-final-copy h2 span{background:linear-gradient(90deg,#22D3EE,#00C8AB);-webkit-background-clip:text;background-clip:text;color:transparent}.gim-final-copy>p{color:#cbd5e1;max-width:650px;line-height:1.9;font-size:13px}.gim-credential-box{max-width:560px;margin-top:18px;padding:16px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.08);backdrop-filter:blur(10px)}.gim-credential-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px;border-radius:11px;background:rgba(0,0,0,.32);margin:8px 0}.gim-credential-row small{display:block;color:#cbd5e1;font-size:8px}.gim-credential-row strong{font-family:monospace;direction:ltr;display:block;color:#fff;font-size:13px}.gim-credential-row button{border:0;border-radius:8px;background:rgba(255,255,255,.12);color:#fff;padding:7px 10px;cursor:pointer;font-size:10px}.gim-final-demo{display:flex;justify-content:center;width:100%;margin-top:10px;padding:12px;border-radius:11px;background:linear-gradient(90deg,#22D3EE,#165DFF);color:#fff;font-size:11px;font-weight:900}.gim-final-jimmy{min-height:380px;background:rgba(8,18,36,.88)}.gim-final-trust{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);text-align:center;color:#cbd5e1;font-size:10px}

/* Google source motion helpers. No generic section-on-scroll reveal is applied. */
@keyframes gimGooglePulseSubtle{0%,100%{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}
@keyframes gimGoogleFloatSlow{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.gim-features-landing .gim-reveal{opacity:1;transform:none}
@keyframes gimPulseGlow{0%,100%{box-shadow:0 0 25px rgba(34,211,238,.25)}50%{box-shadow:0 0 42px rgba(34,211,238,.5)}}

@media(max-width:1023px){
	#gim-hero.gim-features-landing .gim-hero-grid{grid-template-columns:1fr!important;gap:2.5rem!important}
	.gim-trust-grid{grid-template-columns:1fr 1fr}.gim-finance-layout,.gim-branch-layout,.gim-public-layout,.gim-final-layout{grid-template-columns:1fr 1fr}.gim-testimonial-grid{grid-template-columns:1fr 1fr}.gim-testimonial:last-child{grid-column:1/-1}
}
@media(max-width:767px){
	#gim-hero.gim-features-landing{padding-block:46px 44px}
	#gim-hero.gim-features-landing .gim-hero-grid{display:flex!important;flex-direction:column!important}
	#gim-hero .gim-hero-copy,#gim-hero .gim-hero-visual{width:100%!important}
	#gim-hero .gim-hero-copy{order:1}#gim-hero .gim-hero-visual{order:2}
	#gim-hero .elementor-heading-title{font-size:clamp(2rem,10vw,3rem)!important}
	#gim-hero .gim-hero-bullets{grid-template-columns:1fr}
	#gim-hero .gim-btn{width:100%}
	.gim-jimmy-card{min-height:auto}.gim-jimmy-orbit{width:148px;height:148px}
	#gim-trust-stats,#gim-pain-points,#gim-features,#gim-workflow,#gim-financial,#gim-multi-branch,#gim-public-web,#gim-roi-calc,#gim-testimonials,#gim-faq{padding-block:50px!important}
	.gim-section-header{margin-bottom:24px}.gim-section-header h2{font-size:clamp(1.55rem,7vw,2.15rem)}
	.gim-trust-head{align-items:flex-start;flex-direction:column}.gim-trust-grid,.gim-pain-grid,.gim-payment-grid,.gim-branch-buttons,.gim-permission-grid,.gim-public-grid,.gim-testimonial-grid,.gim-final-trust{grid-template-columns:1fr}
	.gim-finance-layout,.gim-branch-layout,.gim-public-layout,.gim-final-layout{grid-template-columns:1fr}
	.gim-showcase-jimmy{min-height:320px}.gim-showcase-jimmy img{width:180px;height:180px}
	.gim-finance-layout .gim-showcase-jimmy,.gim-public-layout .gim-showcase-jimmy{order:2}
	.gim-finance-tabs{overflow:auto;scrollbar-width:none}.gim-finance-tab{min-width:130px}
	.gim-final-layout{gap:28px}.gim-final-copy h2{font-size:2.25rem}
	.gim-credential-row{align-items:flex-start}
}
@media(max-width:420px){
	.gim-mock-kpi-row{grid-template-columns:1fr}.gim-mock-header{align-items:flex-start!important;flex-direction:column}.gim-mock-tabs{width:100%;overflow:auto}
}
@media(prefers-reduced-motion:reduce){
	.gim-features-landing *, .gim-features-landing *::before,.gim-features-landing *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* v1.1.1 audit hardening: semantic variants and accessible utility. */
.gim-features-landing .gim-section-badge--cyan{background:#ecfeff;border-color:#67e8f9;color:#0e7490}
.gim-features-landing .gim-section-badge--slate{background:#f1f5f9;border-color:#e2e8f0;color:#475569}
.gim-features-landing .gim-branch-output{margin:12px 0 0;color:#64748b;font-size:10px}
.gim-features-landing .gim-author-org{color:#4f46e5}
.gim-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Sprint 1 — exact Google/Tailwind foundation breakpoints. */
@media (min-width:640px){
	.gim-features-landing{--gim-google-gutter:1.5rem}
	.gim-section-header h2{font-size:2.25rem}
	#gim-features .gim-section-header h2{font-size:1.875rem}
	.gim-section-header p{font-size:1rem}
}
@media (min-width:1024px){
	.gim-features-landing{--gim-google-gutter:2rem}
	#gim-hero.gim-features-landing{padding-block:3.5rem 6rem!important}
	#gim-pain-points,#gim-workflow,#gim-financial,#gim-multi-branch,#gim-public-web,#gim-roi-calc,#gim-testimonials,#gim-faq,#gim-final-cta{padding-block:var(--gim-google-section-y-lg)!important}
	#gim-features{padding-block:var(--gim-google-modules-y-lg)!important}
}
@media (max-width:1023px){
	#gim-hero.gim-features-landing .gim-hero-grid>.gim-hero-copy,
	#gim-hero.gim-features-landing .gim-hero-grid>.gim-hero-visual{grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){
	.gim-features-landing,.gim-features-landing *, .gim-features-landing *::before,.gim-features-landing *::after{
		scroll-behavior:auto!important;
		animation-duration:.01ms!important;
		animation-iteration-count:1!important;
		transition-duration:.01ms!important;
	}
}
body.page-id-51::-webkit-scrollbar{width:8px;height:8px}
body.page-id-51::-webkit-scrollbar-track{background:#f1f5f9}
body.page-id-51::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}
body.page-id-51::-webkit-scrollbar-thumb:hover{background:#94a3b8}



/* ==========================================================================
 * Sprint 2 — Hero + Jimmy + Demo conversion fidelity port
 * Source: Google AI Studio HeroSection.tsx / JimmyCharacterCard.tsx /
 * DemoAccessModal.tsx. Scoped to the existing Features landing path.
 * ========================================================================== */
.gim-features-landing .gim-icon{
	display:inline-block;
	width:1.25rem;
	height:1.25rem;
	flex:0 0 auto;
	vertical-align:middle;
}
.gim-features-landing .gim-icon--xs,.gim-demo-modal .gim-icon--xs{width:.875rem;height:.875rem}
.gim-features-landing .gim-icon--sm{width:1rem;height:1rem}
.gim-features-landing .gim-icon--md{width:1.25rem;height:1.25rem}

/* Hero source geometry and second ambient cyan glow. */
#gim-hero.gim-features-landing{isolation:isolate}
#gim-hero.gim-features-landing .gim-hero-copy-inner{
	align-items:flex-start;
	text-align:start;
}
#gim-hero.gim-features-landing .gim-hero-copy-inner h1{
	margin:0 0 1.25rem;
	font-size:clamp(1.875rem,4vw,3.75rem);
	line-height:1.25;
	letter-spacing:-.025em;
	font-weight:950;
	color:var(--gim-google-navy);
}
#gim-hero .gim-hero-copy-inner h1 .gim-hero-gradient{
	background:linear-gradient(to left,#165DFF,#0284C7,#00C8AB);
	-webkit-background-clip:text;
	background-clip:text;
	color:transparent;
}
#gim-hero .gim-hero-copy-inner .gim-section-badge{
	display:inline-flex;
	align-items:center;
	gap:.5rem;
	margin:0 0 1.25rem;
	padding:.375rem 1rem;
	border:1px solid #A7F3D0;
	border-radius:999px;
	background:#ECFDF5;
	color:#047857;
	font-size:clamp(.75rem,1.2vw,.875rem);
	font-weight:800;
	box-shadow:var(--gim-google-shadow-xs);
}
#gim-hero .gim-hero-copy-inner .gim-section-badge .gim-icon{color:#059669}
#gim-hero .gim-hero-copy-inner>p{
	max-width:42rem;
	margin:0 0 2rem;
	color:#475569;
	font-size:clamp(1rem,1.4vw,1.125rem);
	line-height:1.8;
}
#gim-hero .gim-hero-copy-inner>p strong{color:#0D1B33;font-weight:800}
#gim-hero .gim-hero-bullets{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:.875rem;
	margin:0 0 2rem;
	width:100%;
}
#gim-hero .gim-hero-bullet{
	display:flex;
	align-items:center;
	gap:.625rem;
	padding:.625rem;
	min-height:2.75rem;
	border:1px solid rgba(226,232,240,.8);
	border-radius:.75rem;
	background:rgba(255,255,255,.8);
	color:#1E293B;
	font-size:clamp(.75rem,1.15vw,.875rem);
	font-weight:800;
	box-shadow:var(--gim-google-shadow-xs);
}
#gim-hero .gim-hero-bullet::before{content:none}
#gim-hero .gim-hero-bullet__icon{
	display:grid;
	place-items:center;
	width:1.25rem;
	height:1.25rem;
	border-radius:.375rem;
	background:rgba(22,93,255,.10);
	color:#165DFF;
	flex:0 0 auto;
}
#gim-hero .gim-hero-bullet__icon .gim-icon{width:.875rem;height:.875rem}
#gim-hero .gim-hero-actions{
	display:flex;
	align-items:stretch;
	gap:1rem;
	flex-wrap:wrap;
	margin:0;
}
#gim-hero .gim-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:.625rem;
	min-height:3.5rem;
	padding:.875rem 1.5rem;
	border-radius:1rem;
	font-weight:900;
	transition:transform var(--gim-google-motion-normal) var(--gim-google-ease),box-shadow var(--gim-google-motion-normal) var(--gim-google-ease),background-color var(--gim-google-motion-normal) var(--gim-google-ease),border-color var(--gim-google-motion-normal) var(--gim-google-ease);
	cursor:pointer;
}
#gim-hero button.gim-btn{font-family:inherit}
#gim-hero .gim-btn--primary{
	padding-inline:2rem;
	border:0;
	background:linear-gradient(to left,#165DFF,#0D1B33);
	color:#fff;
	font-size:1rem;
	box-shadow:0 20px 25px -5px rgba(22,93,255,.30),0 8px 10px -6px rgba(22,93,255,.18);
}
#gim-hero .gim-btn--primary .gim-icon{color:#22D3EE}
#gim-hero .gim-btn--primary:hover{
	transform:scale(1.02);
	background:linear-gradient(to left,#124BCF,#07101E);
	box-shadow:0 25px 45px -12px rgba(22,93,255,.45);
}
#gim-hero .gim-btn--primary:active{transform:scale(.98)}
#gim-hero .gim-btn--secondary{
	border:1px solid #E2E8F0;
	background:#fff;
	color:#1E293B;
	font-size:clamp(.875rem,1.2vw,1rem);
	box-shadow:var(--gim-google-shadow-xs);
}
#gim-hero .gim-btn--secondary:hover{transform:none;background:#F8FAFC;border-color:#CBD5E1}
#gim-hero .gim-hero-note{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:.75rem 1rem;
	margin-top:1.25rem;
	color:#64748B;
	font-size:.75rem;
	font-weight:500;
}
#gim-hero .gim-hero-note__item{display:inline-flex;align-items:center;gap:.25rem}
#gim-hero .gim-hero-note__item .gim-icon{color:#059669;width:1rem;height:1rem}
#gim-hero .gim-hero-note__sep{color:#CBD5E1}
#gim-hero.gim-features-landing>.e-con-inner::after{
	content:"";
	position:absolute;
	z-index:-1;
	width:24rem;
	height:24rem;
	inset-block-start:10rem;
	inset-inline-end:.625rem;
	border-radius:999px;
	background:rgba(34,211,238,.15);
	filter:blur(64px);
	pointer-events:none;
}

/* JimmyCharacterCard — direct anatomy port, reusable for later sprints. */
.gim-jimmy-character{
	position:relative;
	overflow:hidden;
	min-height:0;
	padding:1.25rem;
	border:1px solid rgba(22,93,255,.30);
	border-radius:1.5rem;
	background:linear-gradient(to bottom,#0D1B33,#0A1324);
	color:#fff;
	box-shadow:0 25px 50px -12px rgba(2,6,23,.35);
}
.gim-jimmy-character::before,.gim-jimmy-character::after{display:none}
.gim-jimmy-card__glow{
	position:absolute;
	width:12rem;
	height:12rem;
	border-radius:999px;
	filter:blur(64px);
	pointer-events:none;
}
.gim-jimmy-card__glow--blue{inset-block-start:-3rem;inset-inline-start:-3rem;background:rgba(22,93,255,.20)}
.gim-jimmy-card__glow--cyan{inset-block-end:-3rem;inset-inline-end:-3rem;background:rgba(34,211,238,.15)}
.gim-jimmy-card__top{
	position:relative;
	z-index:2;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:.5rem;
	margin-bottom:1rem;
}
.gim-jimmy-badge{
	display:inline-flex;
	align-items:center;
	gap:.5rem;
	padding:.25rem .75rem;
	border:1px solid rgba(34,211,238,.40);
	border-radius:999px;
	background:rgba(22,93,255,.20);
	color:#22D3EE;
	font-size:.75rem;
	font-weight:700;
}
.gim-jimmy-sparkle{animation:gimGoogleSparkle 2s var(--gim-google-ease) infinite}
.gim-jimmy-prompt-toggle{
	display:inline-flex;
	align-items:center;
	gap:.25rem;
	padding:.25rem .625rem;
	border:1px solid rgba(255,255,255,.10);
	border-radius:.5rem;
	background:rgba(255,255,255,.05);
	color:#94A3B8;
	font-family:inherit;
	font-size:.75rem;
	cursor:pointer;
	transition:color var(--gim-google-motion-fast) var(--gim-google-ease),background-color var(--gim-google-motion-fast) var(--gim-google-ease);
}
.gim-jimmy-prompt-toggle:hover{background:rgba(255,255,255,.10);color:#fff}
.gim-jimmy-stage{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	padding-block:1rem;
	margin-block:.75rem;
}
.gim-jimmy-halo{
	position:relative;
	width:10rem;
	height:10rem;
	padding:.25rem;
	border-radius:999px;
	background:linear-gradient(to top right,#165DFF,#22D3EE,#00C8AB);
	box-shadow:0 0 35px rgba(34,211,238,.35);
	animation:gimGooglePulseSubtle var(--gim-google-motion-pulse) ease-in-out infinite;
}
.gim-jimmy-halo__inner{
	width:100%;
	height:100%;
	overflow:hidden;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:inherit;
	background:#0D1B33;
}
.gim-jimmy-artwork{display:block;width:100%;height:100%}
.gim-jimmy-stage h3{
	margin:.75rem 0 0;
	color:#fff;
	font-size:1rem;
	font-weight:800;
	letter-spacing:.01em;
	text-align:center;
}
.gim-jimmy-stage p{
	max-width:20rem;
	margin:.25rem 0 0;
	color:#CBD5E1;
	font-size:.75rem;
	line-height:1.8;
	text-align:center;
}
.gim-jimmy-prompt-panel{
	position:relative;
	z-index:2;
	margin-top:.75rem;
	padding:.75rem;
	border:1px solid rgba(51,65,85,.80);
	border-radius:1rem;
	background:rgba(15,23,42,.90);
	color:#CBD5E1;
	font-size:.75rem;
	animation:gimGooglePanelIn var(--gim-google-motion-panel) var(--gim-google-ease);
}
.gim-jimmy-prompt-panel__head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:.75rem;
	margin-bottom:.5rem;
}
.gim-jimmy-prompt-panel__head>span{display:inline-flex;align-items:center;gap:.25rem;color:#22D3EE;font-weight:700}
.gim-jimmy-copy{
	display:inline-flex;
	align-items:center;
	gap:.25rem;
	padding:.125rem .5rem;
	border:0;
	border-radius:.375rem;
	background:#165DFF;
	color:#fff;
	font:inherit;
	font-size:.6875rem;
	cursor:pointer;
	transition:background-color var(--gim-google-motion-fast) var(--gim-google-ease);
}
.gim-jimmy-copy:hover{background:#124BCF}
.gim-jimmy-copy.is-copied{background:#10B981}
.gim-jimmy-prompt-panel code{
	display:block;
	padding:.5rem;
	border:1px solid rgba(255,255,255,.05);
	border-radius:.5rem;
	background:rgba(0,0,0,.40);
	color:#CBD5E1;
	font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
	font-size:.6875rem;
	line-height:1.65;
	text-align:left;
	white-space:normal;
	user-select:all;
}

/* Live dashboard exact source card proportions/states. */
.gim-hero-preview{display:flex;flex-direction:column;gap:1rem}
.gim-hero-mockup-card{
	padding:1.25rem;
	border:1px solid #E2E8F0;
	border-radius:1.5rem;
	background:#fff;
	box-shadow:0 20px 25px -5px rgba(226,232,240,.50),0 8px 10px -6px rgba(226,232,240,.35);
	overflow:visible;
}
.gim-hero-preview .gim-mock-header{
	display:grid;
	grid-template-columns:auto minmax(0,1fr) auto;
	align-items:center;
	gap:.5rem;
	padding:0 0 .75rem;
	margin-bottom:1rem;
	border-bottom:1px solid #F1F5F9;
}
.gim-hero-preview .gim-mock-dots{display:flex;gap:.5rem;direction:ltr}
.gim-hero-preview .dot{width:.75rem;height:.75rem}
.gim-mock-window-title{margin:0;font-size:.75rem;font-weight:800;color:#334155}
.gim-mock-tabs{display:flex;gap:.25rem;padding:.25rem;border-radius:.75rem;background:#F1F5F9}
.gim-mock-tab-btn{
	padding:.25rem .625rem;
	border:0;
	border-radius:.5rem;
	background:transparent;
	color:#475569;
	font-family:inherit;
	font-size:.75rem;
	font-weight:800;
	cursor:pointer;
	transition:background-color var(--gim-google-motion-fast) var(--gim-google-ease),color var(--gim-google-motion-fast) var(--gim-google-ease),box-shadow var(--gim-google-motion-fast) var(--gim-google-ease);
}
.gim-mock-tab-btn:hover{color:#0F172A}
.gim-mock-tab-btn.gim-mock-tab-active{background:#165DFF;color:#fff;box-shadow:var(--gim-google-shadow-xs)}
.gim-mock-tab-panel{padding:0;animation:gimGooglePanelIn var(--gim-google-motion-panel) var(--gim-google-ease)}
.gim-mock-kpi-row{gap:.625rem}
.gim-mock-kpi-box{padding:.75rem;border-radius:1rem}
.gim-mock-blue{background:rgba(239,246,255,.70);border-color:#DBEAFE}
.gim-mock-green{background:rgba(236,253,245,.70);border-color:#D1FAE5}
.gim-mock-kpi-top{font-size:.75rem;font-weight:500}
.gim-mock-blue .gim-mock-kpi-top{color:#1E40AF}
.gim-mock-green .gim-mock-kpi-top{color:#065F46}
.gim-mock-kpi-num{margin:.25rem 0;font-size:1.25rem;font-weight:950;color:#0D1B33}
.gim-mock-kpi-sub{display:flex;align-items:center;gap:.125rem;margin-top:.125rem;color:#059669;font-size:.625rem;font-weight:800}
.gim-mock-live-row{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:.75rem;
	margin-top:.75rem;
	padding:.75rem;
	border:1px solid rgba(226,232,240,.70);
	border-radius:1rem;
	background:#F8FAFC;
}
.gim-mock-live-main{display:flex;align-items:center;gap:.625rem;min-width:0}
.gim-mock-live-icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.75rem;background:#165DFF;color:#fff;flex:0 0 auto}
.gim-mock-live-main strong{display:block;color:#1E293B;font-size:.75rem}
.gim-mock-live-main small{margin-top:.1rem;color:#64748B;font-size:.625rem}
.gim-mock-live-status{padding:.125rem .5rem;border-radius:999px;background:#D1FAE5;color:#065F46;font-size:.625rem;font-weight:950;white-space:nowrap}
.gim-mock-alert-box{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;border-radius:1rem}
.gim-mock-alert-main{display:flex;align-items:center;gap:.5rem;min-width:0}
.gim-alert-success .gim-icon{color:#059669}
.gim-alert-warning .gim-icon{color:#D97706}
.gim-mock-alert-main strong{display:block;font-size:.75rem}
.gim-mock-alert-main small{margin-top:.1rem;font-size:.625rem}
.gim-alert-success strong{color:#064E3B}.gim-alert-success small{color:#047857}
.gim-alert-warning strong{color:#78350F}.gim-alert-warning small{color:#B45309}
.gim-mock-alert-time{
	padding:.25rem .5rem;
	border:1px solid currentColor;
	border-radius:.5rem;
	background:#fff;
	font-size:.75rem;
	font-weight:950;
	white-space:nowrap;
}
.gim-alert-success .gim-mock-alert-time{color:#059669;border-color:#A7F3D0}
.gim-alert-warning .gim-mock-alert-time{color:#D97706;border-color:#FDE68A}
.gim-mock-dark-card{padding:.75rem;border-radius:1rem;background:#0F172A}
.gim-mock-dark-card small{color:#94A3B8;font-size:.6875rem}
.gim-mock-dark-card strong{display:block;margin-top:.125rem;color:#22D3EE;font-size:1rem}
.gim-mock-dark-card b{padding:.25rem .625rem;border:1px solid rgba(16,185,129,.30);border-radius:.5rem;background:rgba(16,185,129,.20);color:#6EE7B7;font-size:.625rem}
.gim-mock-shift-footer{padding:.625rem .25rem 0;color:#475569;font-size:.75rem}
.gim-mock-shift-action{color:#165DFF;font-weight:800}

/* DemoAccessModal — one canonical instance, source behavior with GIM a11y contract. */
.gim-demo-modal[hidden]{display:none}
.gim-demo-modal{
	position:fixed;
	inset:0;
	z-index:80;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:1rem;
	direction:rtl;
	font-family:'Vazirmatn',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
.gim-demo-modal__overlay{position:absolute;inset:0;background:rgba(2,6,23,.70);backdrop-filter:blur(4px);animation:gimGoogleFadeIn var(--gim-google-motion-normal,200ms) ease}
.gim-demo-modal__dialog{
	position:relative;
	z-index:1;
	width:min(100%,32rem);
	max-height:min(92vh,48rem);
	overflow:auto;
	padding:1.5rem;
	border:1px solid #E2E8F0;
	border-radius:1.5rem;
	background:#fff;
	color:#0D1B33;
	text-align:start;
	box-shadow:0 25px 50px -12px rgba(2,6,23,.35);
	animation:gimGoogleModalIn var(--gim-google-motion-normal,200ms) var(--gim-google-ease,ease);
	overscroll-behavior:contain;
}
.gim-demo-modal__gradient{position:absolute;inset-block-start:0;inset-inline:0;height:.375rem;background:linear-gradient(to right,#165DFF,#00D492,#165DFF)}
.gim-demo-modal__close{
	position:absolute;
	inset-block-start:1.25rem;
	inset-inline-end:1.25rem;
	display:grid;
	place-items:center;
	width:2.25rem;
	height:2.25rem;
	padding:0;
	border:0;
	border-radius:.75rem;
	background:transparent;
	color:#94A3B8;
	cursor:pointer;
	transition:background-color 150ms ease,color 150ms ease;
}
.gim-demo-modal__close:hover{background:#F1F5F9;color:#334155}
.gim-demo-modal__close .gim-icon{width:1.25rem;height:1.25rem}
.gim-demo-modal__header{padding-top:.25rem;margin-bottom:1.5rem;padding-inline-end:2.75rem}
.gim-demo-modal__status{
	display:inline-flex;
	align-items:center;
	gap:.5rem;
	margin-bottom:.75rem;
	padding:.25rem .75rem;
	border:1px solid rgba(167,243,208,.60);
	border-radius:999px;
	background:#ECFDF5;
	color:#047857;
	font-size:.75rem;
	font-weight:800;
}
.gim-demo-modal__ping{position:relative;width:.5rem;height:.5rem;border-radius:999px;background:#10B981}
.gim-demo-modal__ping::before{content:"";position:absolute;inset:0;border-radius:inherit;background:#10B981;animation:gimGooglePing 1.5s cubic-bezier(0,0,.2,1) infinite}
.gim-demo-modal__header h2{margin:0;color:#0D1B33;font-size:clamp(1.25rem,3vw,1.5rem);line-height:1.5;font-weight:950}
.gim-demo-modal__header p{margin:.5rem 0 0;color:#475569;font-size:.8125rem;line-height:1.8}
.gim-demo-credentials{display:grid;gap:.75rem;margin-bottom:1.25rem;padding:1rem;border:1px solid rgba(226,232,240,.90);border-radius:1rem;background:#F8FAFC}
.gim-demo-credential{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:.75rem;
	padding:.75rem;
	border:1px solid #E2E8F0;
	border-radius:.75rem;
	background:#fff;
	box-shadow:var(--gim-google-shadow-xs,0 1px 2px rgba(15,23,42,.05));
}
.gim-demo-credential__identity{display:flex;align-items:center;gap:.625rem;min-width:0}
.gim-demo-credential__icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.5rem;flex:0 0 auto}
.gim-demo-credential__icon .gim-icon{width:1rem;height:1rem}
.gim-demo-credential__icon--blue{background:#EFF6FF;color:#165DFF}
.gim-demo-credential__icon--amber{background:#FFFBEB;color:#D97706}
.gim-demo-credential small{display:block;color:#94A3B8;font-size:.625rem;font-weight:700}
.gim-demo-credential strong{display:block;color:#1E293B;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875rem;letter-spacing:.08em}
.gim-demo-copy{
	display:inline-flex;
	align-items:center;
	gap:.375rem;
	padding:.375rem .75rem;
	border:0;
	border-radius:.5rem;
	background:#F1F5F9;
	color:#334155;
	font-family:inherit;
	font-size:.75rem;
	cursor:pointer;
	transition:background-color 150ms ease,color 150ms ease,box-shadow 150ms ease;
}
.gim-demo-copy:hover{background:#E2E8F0}
.gim-demo-copy.is-copied{background:#10B981;color:#fff;box-shadow:var(--gim-google-shadow-xs)}
.gim-demo-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-bottom:1.5rem}
.gim-demo-highlights span{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;border:1px solid #DBEAFE;border-radius:.5rem;background:rgba(239,246,255,.60);color:#1E3A8A;font-size:.6875rem}
.gim-demo-highlights span:nth-child(2){border-color:#D1FAE5;background:rgba(236,253,245,.60);color:#064E3B}
.gim-demo-highlights span:nth-child(3){border-color:#E0E7FF;background:rgba(238,242,255,.60);color:#312E81}
.gim-demo-highlights span:nth-child(4){border-color:#CCFBF1;background:rgba(240,253,250,.60);color:#134E4A}
.gim-demo-login{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:.5rem;
	width:100%;
	padding:.875rem 1.5rem;
	border-radius:.75rem;
	background:#165DFF;
	color:#fff;
	font-size:.875rem;
	font-weight:800;
	box-shadow:0 10px 20px rgba(22,93,255,.20);
	transition:background-color 150ms ease,box-shadow 150ms ease;
}
.gim-demo-login:hover{background:#124BCF;box-shadow:0 12px 24px rgba(22,93,255,.30);color:#fff}
.gim-demo-login .gim-icon{width:1rem;height:1rem;transition:transform 150ms ease}
.gim-demo-login:hover .gim-icon{transform:translateX(-.125rem)}
.gim-demo-back{
	width:100%;
	padding:.625rem;
	border:0;
	background:transparent;
	color:#64748B;
	font-family:inherit;
	font-size:.75rem;
	cursor:pointer;
}
.gim-demo-back:hover{color:#1E293B}
body.gim-demo-modal-open{overflow:hidden}

@keyframes gimGooglePanelIn{from{opacity:0}to{opacity:1}}
@keyframes gimGoogleFadeIn{from{opacity:0}to{opacity:1}}
@keyframes gimGoogleModalIn{from{opacity:0;transform:translateY(.5rem) scale(.985)}to{opacity:1;transform:none}}
@keyframes gimGooglePing{75%,100%{transform:scale(2);opacity:0}}
@keyframes gimGoogleSparkle{0%,100%{opacity:1}50%{opacity:.5}}

@media(min-width:640px){
	.gim-jimmy-halo{width:12rem;height:12rem}
	.gim-demo-modal__dialog{padding:2rem}
}
@media(min-width:1024px){
	#gim-hero.gim-features-landing{padding-block:3.5rem 6rem!important}
}
@media(max-width:1023px){
	#gim-hero.gim-features-landing .gim-hero-grid{grid-template-columns:1fr!important;gap:2.5rem!important}
	#gim-hero.gim-features-landing .gim-hero-grid>.gim-hero-copy,
	#gim-hero.gim-features-landing .gim-hero-grid>.gim-hero-visual{grid-column:auto;min-width:0}
}
@media(max-width:639px){
	#gim-hero .gim-hero-bullets{grid-template-columns:1fr}
	#gim-hero .gim-hero-actions{flex-direction:column;align-items:stretch}
	#gim-hero .gim-btn{width:100%}
	#gim-hero .gim-hero-note{gap:.5rem}
	#gim-hero .gim-hero-note__sep{display:none}
	.gim-jimmy-card__top{align-items:flex-start}
	.gim-jimmy-badge{max-width:65%}
	.gim-hero-preview .gim-mock-header{grid-template-columns:auto 1fr}
	.gim-mock-tabs{grid-column:1/-1;width:100%;overflow:auto}
	.gim-mock-tab-btn{flex:1;white-space:nowrap}
	.gim-mock-live-row,.gim-mock-alert-box{align-items:flex-start;flex-direction:column}
	.gim-mock-live-status,.gim-mock-alert-time{align-self:flex-start}
	.gim-mock-dark-card{align-items:flex-start;flex-direction:column}
	.gim-mock-shift-footer{align-items:flex-start;flex-direction:column}
	.gim-demo-modal{padding:0}
	.gim-demo-modal__dialog{
		width:100%;
		height:100dvh;
		max-height:100dvh;
		border:0;
		border-radius:0;
		padding:calc(1.25rem + env(safe-area-inset-top)) 1rem calc(1.25rem + env(safe-area-inset-bottom));
	}
	.gim-demo-modal__close{inset-block-start:calc(1rem + env(safe-area-inset-top));inset-inline-end:1rem}
	.gim-demo-highlights{grid-template-columns:1fr}
	.gim-demo-credential{align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){
	.gim-jimmy-sparkle,.gim-jimmy-halo,.gim-demo-modal__ping::before{animation:none}
	.gim-jimmy-prompt-panel,.gim-mock-tab-panel,.gim-demo-modal__overlay,.gim-demo-modal__dialog{animation:none}
	#gim-hero .gim-btn--primary:hover,#gim-hero .gim-btn--primary:active{transform:none}
	.gim-demo-login:hover .gim-icon{transform:none}
}

/* Sprint 2 shared demo triggers retain each section's existing visual ownership. */
.gim-finance-demo{font-family:inherit;cursor:pointer}
.gim-public-note{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.gim-public-note button{
	border:0;
	background:transparent;
	color:#165DFF;
	font-family:inherit;
	font-size:inherit;
	font-weight:900;
	cursor:pointer;
	white-space:nowrap;
}
.gim-public-note button:hover{text-decoration:underline}
.gim-faq-ask button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:9px 14px;
	border:0;
	border-radius:10px;
	background:#165DFF;
	color:#fff;
	font-family:inherit;
	font-size:10px;
	font-weight:900;
	cursor:pointer;
}
.gim-faq-ask button:hover{background:#1350DE}
@media(max-width:639px){
	.gim-public-note{align-items:flex-start;flex-direction:column}
}


@media(max-width:1023px){
  .gim-pain-grid{gap:18px}.gim-pain-cta{padding:22px 24px}
  .gim-finance-layout{grid-template-columns:1fr;align-items:stretch}.gim-jimmy-finance-card{max-width:620px;margin-inline:auto;width:100%}
}
@media(max-width:767px){
  .gim-pain-header,.gim-finance-header{margin-bottom:36px!important}.gim-pain-grid{grid-template-columns:1fr;margin-bottom:36px}.gim-pain-card{padding:20px}.gim-pain-cta{align-items:stretch;flex-direction:column;padding:22px}.gim-pain-cta h3{font-size:20px}.gim-pain-cta__button{width:100%}
  .gim-finance-tabs{overflow-x:auto;scrollbar-width:none;justify-content:flex-start}.gim-finance-tab{min-width:165px;flex:0 0 auto}.gim-payment-grid--three,.gim-payment-grid--two{grid-template-columns:1fr}.gim-finance-panel{padding:20px}
}
@media(max-width:420px){
  .gim-pain-state-tabs{align-items:stretch;flex-direction:column}.gim-state-btn{width:100%}.gim-pain-footer{align-items:flex-start;flex-direction:column}.gim-finance-tab{min-width:150px}
}

@media(prefers-reduced-motion:reduce){
  .gim-pain-header .gim-section-badge .gim-icon{animation:none!important}
  .gim-pain-card,.gim-state-btn,.gim-pain-cta__button,.gim-finance-tab,.gim-finance-panel,.gim-finance-demo{animation:none!important;transition-duration:.01ms!important}
  .gim-pain-card:hover,.gim-pain-cta__button:hover,.gim-pain-cta__button:active,.gim-finance-demo:hover{transform:none!important}
}


/* Sprint 3 section-specific Google header fidelity */
#gim-features .gim-features-header{max-width:42rem!important;margin-inline:auto!important;margin-bottom:32px!important;text-align:center}
#gim-features .gim-features-header .gim-section-badge{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border-radius:999px;background:#eff6ff;border:1px solid rgba(191,219,254,.65);color:#165dff;font-size:12px;font-weight:800;margin-bottom:8px}
#gim-features .gim-features-header .gim-section-badge .gim-icon{width:14px;height:14px}
#gim-features .gim-features-header h2{font-size:clamp(24px,2.5vw,30px)!important;margin-bottom:6px!important}
#gim-features .gim-features-header p{font-size:13px!important}
#gim-workflow .gim-workflow-header{max-width:48rem!important;margin-inline:auto!important;margin-bottom:48px!important;text-align:center}
#gim-workflow .gim-workflow-header .gim-section-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border-radius:999px;background:#eef2ff;border:1px solid #c7d2fe;color:#4338ca;font-size:12px;font-weight:800;margin-bottom:16px}
#gim-workflow .gim-workflow-header .gim-section-badge .gim-icon{width:14px;height:14px;color:#4f46e5}
#gim-workflow .gim-workflow-header h2{margin-bottom:16px!important}

/* ========================================================================
 * Sprint 4 — Remaining Google fidelity components
 * Source: MultiBranchAccessSection, PublicClubWebSection, SocialProofTestimonials,
 * FaqSection and FinalCtaSection. Scoped to Page 51 section ids/classes.
 * ======================================================================== */

.gim-features-landing .gim-section-badge>.gim-icon{width:.875rem;height:.875rem;flex:0 0 auto}
.gim-features-landing .gim-section-badge--blue{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}
.gim-features-landing .gim-section-badge--final{border-color:rgba(34,211,238,.4);background:rgba(22,93,255,.3);color:#22d3ee}
.gim-features-landing .gim-icon{display:inline-block;width:1.25rem;height:1.25rem;vertical-align:middle}

/* Shared static Jimmy fidelity instances reuse the Sprint 2 component contract. */
.gim-jimmy-static{min-height:0;padding:1.25rem;border-radius:1.5rem}
.gim-jimmy-static .gim-jimmy-halo{width:12rem;height:12rem}
.gim-static-jimmy-art{display:block;width:100%;height:100%;background-position:center;background-repeat:no-repeat;background-size:contain}
.gim-static-jimmy-art--branches{background-image:url("../media/jimmy/jimmy-branches.svg")}
.gim-static-jimmy-art--public{background-image:url("../media/jimmy/jimmy-hero.svg")}
.gim-static-jimmy-art--final{background-image:url("../media/jimmy/jimmy-final-cta.svg")}
.gim-jimmy-static .gim-jimmy-prompt-toggle:focus-visible,
.gim-jimmy-static .gim-jimmy-copy:focus-visible{outline:3px solid rgba(34,211,238,.55);outline-offset:3px}

/* Multi-Branch — source 5/7 composition with isolated branch + role state. */
#gim-multi-branch .gim-section-header{margin-bottom:3rem}
.gim-branch-layout-source{
	display:grid;
	grid-template-columns:minmax(18rem,5fr) minmax(0,7fr);
	grid-template-areas:"jimmy controls";
	gap:2rem;
	align-items:center;
}
.gim-branch-jimmy-wrap{grid-area:jimmy;min-width:0}
.gim-branch-controls{grid-area:controls;display:grid;gap:1.5rem;min-width:0}
.gim-branch-card{
	padding:1.5rem;
	border:1px solid #e2e8f0;
	border-radius:1.5rem;
	background:#fff;
	box-shadow:0 4px 10px rgba(15,23,42,.05);
}
.gim-branch-card__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.gim-branch-card__head h3{display:flex;align-items:center;gap:.5rem;margin:0;color:#0d1b33;font-size:1rem;font-weight:950;line-height:1.6}
.gim-branch-card__head h3>.gim-icon{color:#165dff}
.gim-branch-transfer-note{
	display:inline-flex;
	align-items:center;
	padding:.25rem .625rem;
	border:1px solid #a7f3d0;
	border-radius:999px;
	background:#ecfdf5;
	color:#047857;
	font-size:.6875rem;
	font-weight:800;
	line-height:1.5;
}
.gim-branch-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.gim-branch-btn{
	min-height:4.6rem;
	padding:.875rem;
	border:1px solid #e2e8f0;
	border-radius:1rem;
	background:#f8fafc;
	color:#334155;
	font-family:inherit;
	text-align:start;
	cursor:pointer;
	transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease,box-shadow 180ms ease,transform 180ms ease;
}
.gim-branch-btn strong{display:block;font-size:.75rem;font-weight:950;line-height:1.6}
.gim-branch-btn span{display:block;margin-top:.25rem;color:#64748b;font-size:.6875rem;line-height:1.5}
.gim-branch-btn:hover{background:#f1f5f9;border-color:#cbd5e1}
.gim-branch-btn.is-active{border-color:#165dff;background:#165dff;color:#fff;box-shadow:0 8px 18px rgba(22,93,255,.2);transform:scale(1.02)}
.gim-branch-btn.is-active span{color:#a5f3fc}
.gim-branch-card__head--roles{align-items:flex-start}
.gim-branch-card__head--roles h3>.gim-icon{color:#4f46e5}
.gim-role-tabs{display:flex;align-items:center;gap:.25rem;padding:.25rem;border-radius:.75rem;background:#f1f5f9}
.gim-role-tab{
	padding:.375rem .625rem;
	border:0;
	border-radius:.5rem;
	background:transparent;
	color:#475569;
	font-family:inherit;
	font-size:.6875rem;
	font-weight:850;
	white-space:nowrap;
	cursor:pointer;
	transition:background-color 150ms ease,color 150ms ease,box-shadow 150ms ease;
}
.gim-role-tab.is-active{background:#4f46e5;color:#fff;box-shadow:0 1px 2px rgba(15,23,42,.08)}
.gim-role-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;padding-top:.25rem;animation:gimGooglePanelIn 200ms ease}
.gim-role-panel[hidden]{display:none}
.gim-permission{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:.75rem;
	min-height:3.25rem;
	padding:.75rem;
	border:1px solid;
	border-radius:.75rem;
	font-size:.75rem;
	font-weight:650;
	line-height:1.6;
}
.gim-permission b{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:.375rem;color:#fff;font-size:.625rem;font-weight:950;white-space:nowrap}
.gim-permission b .gim-icon{width:.75rem;height:.75rem}
.gim-permission.is-yes{border-color:#a7f3d0;background:rgba(236,253,245,.7);color:#064e3b}
.gim-permission.is-yes b{background:#059669}
.gim-permission.is-no{border-color:#fecaca;background:rgba(254,242,242,.7);color:#7f1d1d;opacity:.72}
.gim-permission.is-no b{background:#dc2626}
.gim-branch-btn:focus-visible,.gim-role-tab:focus-visible{outline:3px solid rgba(22,93,255,.32);outline-offset:3px}

/* Public club web — right feature board / left Jimmy, exact source density. */
#gim-public-web .gim-section-header{margin-bottom:3rem}
.gim-public-layout-source{
	display:grid;
	grid-template-columns:minmax(18rem,5fr) minmax(0,7fr);
	grid-template-areas:"jimmy content";
	gap:2rem;
	align-items:center;
}
.gim-public-jimmy-wrap{grid-area:jimmy;min-width:0}
.gim-public-content{grid-area:content;min-width:0}
.gim-public-feature-box{padding:1.5rem;border:1px solid #e2e8f0;border-radius:1.5rem;background:#f8fafc}
.gim-public-feature-box h3{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;color:#0d1b33;font-size:1.125rem;font-weight:950;line-height:1.55}
.gim-public-feature-box h3>.gim-icon{color:#165dff}
.gim-public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.gim-public-item{
	padding:.75rem;
	border:1px solid rgba(226,232,240,.8);
	border-radius:1rem;
	background:#fff;
	transition:border-color 180ms ease,box-shadow 180ms ease,transform 180ms ease;
}
.gim-public-item:hover{border-color:rgba(22,93,255,.3);box-shadow:0 8px 18px rgba(15,23,42,.06);transform:translateY(-1px)}
.gim-public-item strong{display:flex;align-items:flex-start;gap:.375rem;margin:0 0 .25rem;color:#0d1b33;font-size:.75rem;font-weight:850;line-height:1.6}
.gim-public-item strong .gim-icon{width:.875rem;height:.875rem;flex:0 0 auto;margin-top:.15rem;color:#10b981}
.gim-public-item>span{display:block;color:#64748b;font-size:.6875rem;line-height:1.65}
.gim-public-note{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1rem;
	margin-top:1rem;
	padding:1rem;
	border:1px solid #a5f3fc;
	border-radius:1rem;
	background:rgba(236,254,255,.7);
	color:#164e63;
	font-size:.75rem;
	line-height:1.7;
}
.gim-public-note button{display:inline-flex;align-items:center;gap:.25rem;flex:0 0 auto;border:0;background:transparent;color:#165dff;font:inherit;font-weight:850;cursor:pointer}
.gim-public-note button:hover{text-decoration:underline}
.gim-public-note button:focus-visible{outline:3px solid rgba(22,93,255,.3);outline-offset:3px}

/* Testimonials — source hover elevation and per-avatar gradient. */
#gim-testimonials .gim-section-header{margin-bottom:3rem}
.gim-star-filled{color:#f59e0b;fill:#f59e0b}
.gim-testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.gim-testimonial{
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	min-height:100%;
	padding:1.5rem;
	border:1px solid #e2e8f0;
	border-radius:1.5rem;
	background:#f8fafc;
	transition:background-color 300ms ease,border-color 300ms ease,box-shadow 300ms ease,transform 300ms ease;
}
.gim-testimonial:hover{border-color:rgba(22,93,255,.4);background:#fff;box-shadow:0 20px 25px -5px rgba(15,23,42,.1),0 8px 10px -6px rgba(15,23,42,.08);transform:translateY(-2px)}
.gim-testimonial-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}
.gim-stars{display:flex;align-items:center;gap:.2rem;color:#fbbf24}
.gim-star-icon{width:1rem!important;height:1rem!important;fill:#fbbf24;stroke:#fbbf24}
.gim-testimonial-metric{display:inline-flex;padding:.25rem .625rem;border-radius:999px;background:#d1fae5;color:#065f46;font-size:.75rem;font-weight:950;line-height:1.45}
.gim-testimonial blockquote{margin:0 0 1.5rem;color:#334155;font-size:.875rem;line-height:1.9;font-style:italic}
.gim-testimonial-author{display:flex;align-items:center;gap:.75rem;padding-top:1rem;border-top:1px solid rgba(226,232,240,.8)}
.gim-avatar{display:grid;place-items:center;width:2.75rem;height:2.75rem;flex:0 0 auto;border-radius:1rem;color:#fff;font-size:.875rem;font-weight:950;box-shadow:0 4px 8px rgba(15,23,42,.14)}
.gim-avatar--blue{background:linear-gradient(to top right,#2563eb,#06b6d4)}
.gim-avatar--cyan{background:linear-gradient(to top right,#06b6d4,#14b8a6)}
.gim-avatar--indigo{background:linear-gradient(to top right,#4f46e5,#2563eb)}
.gim-author-meta{min-width:0}
.gim-author-meta strong{display:block;color:#0d1b33;font-size:.875rem;font-weight:950;line-height:1.5}
.gim-author-meta small{display:block;color:#64748b;font-size:.6875rem;line-height:1.5}
.gim-author-meta .gim-author-org{margin-top:.125rem;color:#4f46e5;font-size:.625rem;font-weight:800}

/* FAQ — source search, filter chips, single-open accordion and transition. */
#gim-faq .gim-section-shell{max-width:56rem;margin-inline:auto}
#gim-faq .gim-section-header{max-width:42rem;margin-inline:auto;margin-bottom:2.5rem}
.gim-faq-tools{max-width:56rem;margin:0 auto 2rem}
.gim-faq-search-wrap{position:relative}
.gim-faq-search-icon{position:absolute;inset-inline-start:.875rem;top:50%;width:1.25rem;height:1.25rem;color:#94a3b8;transform:translateY(-50%);pointer-events:none}
.gim-faq-search{
	width:100%;
	padding:.875rem 2.75rem .875rem 1rem;
	border:1px solid #e2e8f0;
	border-radius:1rem;
	background:#fff;
	color:#1e293b;
	font-family:inherit;
	font-size:.875rem;
	box-shadow:0 1px 2px rgba(15,23,42,.04);
	transition:border-color 150ms ease,box-shadow 150ms ease;
}
.gim-faq-search::placeholder{color:#94a3b8}
.gim-faq-search:focus{border-color:#165dff;outline:0;box-shadow:0 0 0 3px rgba(22,93,255,.1)}
.gim-faq-cats{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem}
.gim-faq-cat{
	padding:.375rem 1rem;
	border:1px solid #e2e8f0;
	border-radius:.75rem;
	background:#fff;
	color:#475569;
	font-family:inherit;
	font-size:.75rem;
	font-weight:850;
	cursor:pointer;
	transition:background-color 150ms ease,color 150ms ease,border-color 150ms ease,box-shadow 150ms ease;
}
.gim-faq-cat:hover{background:#f1f5f9}
.gim-faq-cat.is-active{border-color:#0d1b33;background:#0d1b33;color:#fff;box-shadow:0 1px 2px rgba(15,23,42,.08)}
.gim-faq-list{display:grid;gap:.75rem;max-width:56rem;margin-inline:auto}
.gim-faq-item{overflow:hidden;border:1px solid #e2e8f0;border-radius:1rem;background:#fff;transition:border-color 180ms ease,box-shadow 180ms ease}
.gim-faq-item:hover{border-color:#cbd5e1}
.gim-faq-item.is-open{border-color:#165dff;box-shadow:0 4px 10px rgba(22,93,255,.08)}
.gim-faq-q{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1rem;
	width:100%;
	padding:1.25rem;
	border:0;
	background:#fff;
	color:#0d1b33;
	font-family:inherit;
	font-size:1rem;
	font-weight:950;
	line-height:1.65;
	text-align:start;
	cursor:pointer;
}
.gim-faq-chevron{display:grid;place-items:center;flex:0 0 auto;color:#94a3b8;transition:color 180ms ease,transform 180ms ease}
.gim-faq-chevron .gim-icon{width:1.25rem;height:1.25rem}
.gim-faq-item.is-open .gim-faq-chevron{color:#165dff;transform:rotate(180deg)}
.gim-faq-a{padding:.25rem 1.25rem 1.25rem;border-top:1px solid #f1f5f9;color:#475569;font-size:.875rem;line-height:1.9;animation:gimGooglePanelIn 180ms ease}
.gim-faq-empty{margin:1rem 0 0;padding:1rem;border:1px dashed #cbd5e1;border-radius:1rem;color:#64748b;text-align:center;font-size:.8125rem}
.gim-faq-ask{max-width:56rem;margin:2.5rem auto 0;padding:1.5rem;border:1px solid #e2e8f0;border-radius:1.5rem;background:#fff;text-align:center;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.gim-faq-ask h3{margin:0;color:#0d1b33;font-size:.875rem;font-weight:950}
.gim-faq-ask p{margin:.5rem 0 .75rem;color:#64748b;font-size:.75rem;line-height:1.7}
.gim-faq-ask button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.5rem;border:0;border-radius:.75rem;background:#165dff;color:#fff;font-family:inherit;font-size:.75rem;font-weight:850;cursor:pointer;box-shadow:0 4px 8px rgba(22,93,255,.18);transition:background-color 150ms ease,transform 150ms ease}
.gim-faq-ask button:hover{background:#1350de;transform:translateY(-1px)}
.gim-faq-cat:focus-visible,.gim-faq-q:focus-visible,.gim-faq-ask button:focus-visible{outline:3px solid rgba(22,93,255,.3);outline-offset:3px}


.gim-faq-search-wrap::before,.gim-faq-q::after{content:none!important;display:none!important}

/* Final CTA — exact 7/5 closing composition, glass credentials, Jimmy + trust row. */
#gim-final-cta{padding-block:4rem!important;background:linear-gradient(to bottom,#fff 0%,#0d1b33 48%,#081224 100%)!important}
#gim-final-cta>.e-con-inner{position:relative;z-index:1}
#gim-final-cta::before,#gim-final-cta::after{width:24rem;height:24rem;filter:blur(4rem)}
.gim-final-layout-source{
	display:grid;
	grid-template-columns:minmax(18rem,5fr) minmax(0,7fr);
	grid-template-areas:"jimmy copy";
	gap:2.5rem;
	align-items:center;
	color:#fff;
}
.gim-final-jimmy-wrap{grid-area:jimmy;min-width:0}
.gim-final-copy{grid-area:copy;min-width:0;text-align:start}
.gim-final-copy h2{margin:1.5rem 0;color:#fff;font-size:clamp(1.875rem,4vw,3rem);font-weight:950;line-height:1.35}
.gim-final-copy h2 span{background:linear-gradient(to left,#22d3ee,#00c8ab);-webkit-background-clip:text;background-clip:text;color:transparent}
.gim-final-copy>p{max-width:36rem;margin:0;color:#cbd5e1;font-size:1rem;line-height:1.9}
.gim-final-sparkle{animation:gimGoogleSparkle 2s ease-in-out infinite}
.gim-credential-box{
	max-width:32rem;
	margin-top:1.5rem;
	padding:1.25rem;
	border:1px solid rgba(255,255,255,.2);
	border-radius:1rem;
	background:rgba(255,255,255,.1);
	box-shadow:0 20px 25px -5px rgba(2,6,23,.25);
	backdrop-filter:blur(12px);
}
.gim-credential-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;border:1px solid rgba(255,255,255,.1);border-radius:.75rem;background:rgba(0,0,0,.4)}
.gim-credential-row+.gim-credential-row{margin-top:.75rem}
.gim-credential-identity{display:flex;align-items:center;gap:.75rem;min-width:0}
.gim-credential-icon{display:grid;place-items:center;width:2rem;height:2rem;flex:0 0 auto;border-radius:.5rem}
.gim-credential-icon .gim-icon{width:1rem;height:1rem}
.gim-credential-icon--user{background:rgba(59,130,246,.2);color:#22d3ee}
.gim-credential-icon--key{background:rgba(245,158,11,.2);color:#fcd34d}
.gim-credential-row small{display:block;color:#cbd5e1;font-size:.625rem;font-weight:650}
.gim-credential-row strong{display:block;color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875rem;font-weight:800;letter-spacing:.06em}
.gim-credential-row button{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:0;border-radius:.5rem;background:rgba(255,255,255,.1);color:#fff;font-family:inherit;font-size:.75rem;cursor:pointer;transition:background-color 150ms ease,transform 150ms ease}
.gim-credential-row button:hover{background:rgba(255,255,255,.2)}
.gim-credential-row button.is-copied{background:#10b981}
.gim-credential-row button:active{transform:scale(.98)}
.gim-final-demo{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:.5rem;
	width:100%;
	margin-top:.75rem;
	padding:.875rem 1.5rem;
	border-radius:.75rem;
	background:linear-gradient(to left,#165dff,#22d3ee);
	color:#0d1b33;
	font-size:.875rem;
	font-weight:950;
	text-decoration:none;
	box-shadow:0 10px 24px rgba(22,93,255,.35);
	transition:background 180ms ease,transform 180ms ease,box-shadow 180ms ease;
}
.gim-final-demo .gim-icon{width:1rem;height:1rem;transition:transform 180ms ease}
.gim-final-demo:hover{background:linear-gradient(to left,#1350de,#00c8ab);transform:scale(1.01);box-shadow:0 14px 30px rgba(22,93,255,.4)}
.gim-final-demo:hover .gim-icon{transform:translateX(-.25rem)}
.gim-final-demo:active{transform:scale(.99)}
.gim-final-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);color:#cbd5e1;font-size:.75rem}
.gim-final-trust>span{display:flex;align-items:center;gap:.5rem}
.gim-final-trust>span:nth-child(1) .gim-icon{color:#34d399}
.gim-final-trust>span:nth-child(n+2) .gim-icon{color:#22d3ee}
.gim-final-demo:focus-visible,.gim-credential-row button:focus-visible{outline:3px solid rgba(34,211,238,.55);outline-offset:3px}

/* Sprint 4 responsive recomposition. */
@media(max-width:1023px){
	.gim-branch-layout-source,.gim-public-layout-source,.gim-final-layout-source{
		grid-template-columns:1fr;
		grid-template-areas:"controls" "jimmy";
	}
	.gim-public-layout-source{grid-template-areas:"content" "jimmy"}
	.gim-final-layout-source{grid-template-areas:"copy" "jimmy"}
	.gim-role-panel{grid-template-columns:1fr 1fr}
	.gim-testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.gim-testimonial:last-child{grid-column:1/-1}
	#gim-final-cta{padding-block:4rem!important}
}
@media(max-width:767px){
	.gim-branch-card__head,.gim-branch-card__head--roles{align-items:flex-start;flex-direction:column}
	.gim-branch-buttons{grid-template-columns:1fr}
	.gim-role-tabs{width:100%;overflow-x:auto;justify-content:flex-start;scrollbar-width:thin}
	.gim-role-tab{flex:0 0 auto;min-height:2.75rem}
	.gim-role-panel{grid-template-columns:1fr}
	.gim-public-grid{grid-template-columns:1fr}
	.gim-public-note{align-items:flex-start;flex-direction:column}
	.gim-public-note button{min-height:2.75rem}
	.gim-testimonial-grid{grid-template-columns:1fr}
	.gim-testimonial:last-child{grid-column:auto}
	.gim-faq-q{padding:1rem;font-size:.875rem}
	.gim-faq-a{padding:.25rem 1rem 1rem;font-size:.8125rem}
	.gim-faq-cat{min-height:2.75rem}
	.gim-final-copy>p{font-size:.875rem}
	.gim-final-trust{grid-template-columns:1fr}
	.gim-credential-row{align-items:flex-start}
	.gim-credential-row button{min-height:2.75rem}
	.gim-jimmy-static .gim-jimmy-halo{width:10rem;height:10rem}
}
@media(max-width:420px){
	.gim-branch-card,.gim-public-feature-box,.gim-testimonial,.gim-faq-ask{padding:1rem}
	.gim-credential-box{padding:1rem}
	.gim-credential-row{flex-direction:column}
	.gim-credential-row button{width:100%;justify-content:center}
}
@media(min-width:1024px){
	#gim-final-cta{padding-block:6rem!important}
}
@media(prefers-reduced-motion:reduce){
	.gim-role-panel,.gim-faq-a{animation:none!important}
	.gim-branch-btn.is-active,.gim-public-item:hover,.gim-testimonial:hover,.gim-faq-ask button:hover,.gim-final-demo:hover,.gim-final-demo:active{transform:none}
	.gim-final-sparkle{animation:none}
	.gim-final-demo .gim-icon,.gim-faq-chevron{transition-duration:.01ms!important}
}
/* ==========================================================================
 * Sprint 5 — Motion / Responsive / RTL / Accessibility quality pass
 * Source-derived breakpoints: sm=640, md=768, lg=1024.
 * No generic reveal motion is introduced.
 * ========================================================================== */

.gim-features-landing,
.gim-demo-modal,
.gim-lightbox-backdrop{
	--gim-s5-focus:0 0 0 3px rgba(22,93,255,.22);
	--gim-s5-touch:2.75rem;
}
.gim-features-landing :where(button,a[href],input,select,textarea,[tabindex]:not([tabindex="-1"])):focus-visible,
.gim-demo-modal :where(button,a[href],input,select,textarea,[tabindex]:not([tabindex="-1"])):focus-visible{
	outline:3px solid rgba(22,93,255,.38);
	outline-offset:3px;
	box-shadow:var(--gim-s5-focus);
}
#gim-final-cta :where(button,a[href]):focus-visible,
.gim-jimmy-character :where(button,a[href]):focus-visible{
	outline-color:rgba(34,211,238,.72);
	box-shadow:0 0 0 3px rgba(34,211,238,.18);
}
#gim-hero,#gim-trust-stats,#gim-pain-points,#gim-features,#gim-workflow,#gim-financial,
#gim-multi-branch,#gim-public-web,#gim-roi-calc,#gim-testimonials,#gim-faq,#gim-final-cta{
	scroll-margin-block-start:5.5rem;
}

/* TrustStatsStrip fidelity: source icon tiles, live ping and hover scale. */
.gim-trust-head__support{display:inline-flex;align-items:center;gap:.5rem;color:#64748b;font-size:.75rem;font-weight:800}
.gim-trust-head__support .gim-icon{width:1rem;height:1rem;color:#10b981}
.gim-trust-live i{box-shadow:none}
.gim-trust-live i::before{
	content:"";
	position:absolute;
	inset:0;
	border-radius:inherit;
	background:#34d399;
	opacity:.75;
	animation:gimGooglePing 1.5s cubic-bezier(0,0,.2,1) infinite;
}
.gim-trust-card__top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}
.gim-trust-icon{
	display:grid;
	place-items:center;
	width:3rem;
	height:3rem;
	flex:0 0 auto;
	border-radius:.75rem;
	transition:transform 300ms ease;
}
.gim-trust-icon .gim-icon{width:1.5rem;height:1.5rem}
.gim-trust-card:hover .gim-trust-icon{transform:scale(1.1)}
.gim-trust-icon--blue{background:rgba(22,93,255,.10);color:#165dff}
.gim-trust-icon--cyan{background:#ecfeff;color:#0891b2}
.gim-trust-icon--green{background:#ecfdf5;color:#059669}
.gim-trust-icon--indigo{background:#eef2ff;color:#4f46e5}
.gim-trust-card .gim-trust-metric{margin-inline-start:auto;line-height:1.25}
.gim-trust-card h4{margin:0 0 .25rem;color:#0d1b33;font-size:.875rem;font-weight:950;line-height:1.55}
.gim-trust-card p{margin:0;color:#64748b;font-size:.75rem;font-weight:500;line-height:1.7}

/* BiDi isolation for technical strings. */
.gim-window-url,.gim-lightbox-window__url,.gim-jimmy-prompt-panel code,
.gim-credential-row strong,.gim-demo-credential strong{
	direction:ltr;
	unicode-bidi:isolate;
	text-align:left;
}

/* Contextual motion parity — state changes only. */
.gim-hero-primary-cta .gim-icon,
.gim-pain-cta__button .gim-icon,
.gim-finance-demo .gim-icon,
.gim-public-note button .gim-icon,
.gim-faq-ask button .gim-icon{
	transition:transform 180ms ease;
}
.gim-hero-primary-cta:hover .gim-icon,
.gim-pain-cta__button:hover .gim-icon,
.gim-finance-demo:hover .gim-icon,
.gim-faq-ask button:hover .gim-icon{
	transform:translateX(-.2rem);
}
.gim-public-note button:hover .gim-icon{transform:translateX(-.15rem)}
.gim-mock-tab-panel[hidden],.gim-finance-panel[hidden],.gim-role-panel[hidden]{display:none!important}
.gim-mock-tab-panel:not([hidden]){animation:gimGooglePanelIn 300ms ease both}
.gim-finance-panel:not([hidden]),.gim-role-panel:not([hidden]){animation:gimGooglePanelIn 200ms ease both}

/* Source breakpoints: sm starts at 640, md at 768. */
@media (min-width:640px) and (max-width:1023px){
	.gim-trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:640px) and (max-width:767px){
	.gim-branch-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}
	.gim-role-panel{grid-template-columns:repeat(2,minmax(0,1fr))}
	.gim-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.gim-final-trust{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:768px) and (max-width:1023px){
	.gim-testimonial-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
	.gim-testimonial:last-child{grid-column:auto}
}

/* Mobile is recomposition, not desktop shrink. */
@media (max-width:639px){
	.gim-features-landing :where(button,a[href],input[type="search"]){min-height:var(--gim-s5-touch)}
	.gim-trust-head{gap:.75rem}
	.gim-trust-card{padding:1.25rem}
	.gim-pain-state-tabs{display:grid;grid-template-columns:1fr;gap:.5rem}
	.gim-finance-tabs,.gim-role-tabs,.gim-faq-cats{
		overscroll-behavior-inline:contain;
		-webkit-overflow-scrolling:touch;
		scroll-snap-type:inline proximity;
	}
	.gim-finance-tab,.gim-role-tab,.gim-faq-cat{scroll-snap-align:start}
	.gim-faq-cats{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding-block-end:.25rem}
	.gim-faq-q{min-height:3.5rem}
	.gim-final-demo{min-height:3rem}
}

/* Safe-area treatment for fullscreen dialog states. */
@media (max-width:620px){
	.gim-demo-modal__dialog{
		padding-block-start:calc(1.25rem + env(safe-area-inset-top));
		padding-block-end:calc(1.25rem + env(safe-area-inset-bottom));
	}
}

/* Reduced motion: preserve state, remove decorative/transform motion. */
@media (prefers-reduced-motion:reduce){
	.gim-trust-live i::before,
	.gim-trust-icon,
	.gim-hero-primary-cta .gim-icon,
	.gim-pain-cta__button .gim-icon,
	.gim-finance-demo .gim-icon,
	.gim-public-note button .gim-icon,
	.gim-faq-ask button .gim-icon{
		animation:none!important;
		transition-duration:.01ms!important;
		transform:none!important;
	}
	.gim-mock-tab-panel:not([hidden]),.gim-finance-panel:not([hidden]),.gim-role-panel:not([hidden]){
		animation:none!important;
	}
}

/* ==========================================================================
 * Sprint 1 Hero — Elementor DOM bridge
 * Connects the existing Page 51 Elementor widgets to the already source-derived
 * Google AI Studio Hero DNA. Scoped to #gim-hero only.
 * ========================================================================== */
#gim-hero .gim-hero-copy-inner{
	gap:0!important;
	width:100%!important;
}
#gim-hero .gim-hero-visual{width:100%!important}

/* Elementor heading wrapper -> source badge anatomy. */
#gim-hero .gim-hero-badge{
	width:auto!important;
	align-self:flex-start!important;
	margin:0 0 1.25rem!important;
	padding:0!important;
	border:0!important;
	background:transparent!important;
	box-shadow:none!important;
}
#gim-hero .gim-hero-badge>.elementor-widget-container{
	display:inline-flex;
	width:auto;
	padding:0!important;
	border:0!important;
	background:transparent!important;
	box-shadow:none!important;
}
#gim-hero .gim-hero-badge .elementor-heading-title{
	display:inline-flex!important;
	align-items:center;
	gap:.5rem;
	width:auto!important;
	margin:0!important;
	padding:.375rem 1rem!important;
	border:1px solid #A7F3D0!important;
	border-radius:999px!important;
	background:#ECFDF5!important;
	color:#047857!important;
	font-size:.75rem!important;
	line-height:1.5!important;
	font-weight:800!important;
	letter-spacing:0!important;
	box-shadow:var(--gim-google-shadow-xs)!important;
}
#gim-hero .gim-hero-badge__icon{
	display:grid;
	place-items:center;
	width:1rem;
	height:1rem;
	flex:0 0 auto;
	border-radius:999px;
	color:#059669;
	font-size:.8rem;
	font-weight:950;
}

/* Exact responsive H1 tiers from Google/Tailwind: 30 / 36 / 48 / 60. */
#gim-hero .gim-hero-heading{margin:0 0 1.25rem!important}
#gim-hero .gim-hero-heading .elementor-heading-title{
	margin:0!important;
	color:#0D1B33!important;
	font-size:1.875rem!important;
	line-height:1.25!important;
	letter-spacing:-.025em!important;
	font-weight:950!important;
	background:none!important;
	-webkit-text-fill-color:initial!important;
}
#gim-hero .gim-hero-heading .gim-hero-gradient{
	background:linear-gradient(to left,#165DFF,#0284C7,#00C8AB);
	-webkit-background-clip:text;
	background-clip:text;
	color:transparent;
	-webkit-text-fill-color:transparent;
}

/* Elementor Text Editor wrapper -> source lead paragraph. */
#gim-hero .gim-hero-desc{
	width:100%;
	max-width:42rem;
	margin:0 0 2rem!important;
}
#gim-hero .gim-hero-desc>.elementor-widget-container{margin:0!important}
#gim-hero .gim-hero-desc p{
	margin:0!important;
	color:#475569!important;
	font-size:1rem!important;
	line-height:1.8!important;
	font-weight:400!important;
	text-align:start!important;
}
#gim-hero .gim-hero-desc strong{color:#0D1B33!important;font-weight:800!important}

/* Elementor icon-list -> source 2-column compact benefit tiles. */
#gim-hero .gim-hero-bullets{
	width:100%;
	margin:0 0 2rem!important;
}
#gim-hero .gim-hero-bullets .elementor-icon-list-items{
	display:grid!important;
	grid-template-columns:repeat(2,minmax(0,1fr))!important;
	gap:.875rem!important;
	margin:0!important;
	padding:0!important;
}
#gim-hero .gim-hero-bullets .elementor-icon-list-item{
	display:flex!important;
	align-items:center!important;
	gap:.625rem!important;
	min-height:2.75rem;
	margin:0!important;
	padding:.625rem!important;
	border:1px solid rgba(226,232,240,.8)!important;
	border-radius:.75rem!important;
	background:rgba(255,255,255,.8)!important;
	box-shadow:var(--gim-google-shadow-xs)!important;
}
#gim-hero .gim-hero-bullets .elementor-icon-list-icon{
	display:grid!important;
	place-items:center!important;
	width:1.25rem!important;
	height:1.25rem!important;
	flex:0 0 1.25rem!important;
	margin:0!important;
	border-radius:.375rem!important;
	background:rgba(22,93,255,.10)!important;
}
#gim-hero .gim-hero-bullets .elementor-icon-list-icon i{
	width:auto!important;
	color:#165DFF!important;
	font-size:.875rem!important;
	line-height:1!important;
}
#gim-hero .gim-hero-bullets .elementor-icon-list-text{
	padding:0!important;
	color:#1E293B!important;
	font-size:.75rem!important;
	line-height:1.65!important;
	font-weight:800!important;
}

/* Elementor Button wrappers -> source CTA surface and motion. */
#gim-hero .gim-hero-actions{
	display:flex!important;
	flex-direction:row!important;
	align-items:stretch!important;
	gap:1rem!important;
	flex-wrap:wrap!important;
	width:100%;
	margin:0!important;
}
#gim-hero .gim-hero-actions>.gim-btn{
	width:auto!important;
	margin:0!important;
}
#gim-hero .gim-btn .elementor-button{
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	min-height:3.5rem!important;
	padding:.875rem 1.5rem!important;
	border-radius:1rem!important;
	font-family:inherit!important;
	font-weight:900!important;
	text-decoration:none!important;
	transition:transform var(--gim-google-motion-normal) var(--gim-google-ease),box-shadow var(--gim-google-motion-normal) var(--gim-google-ease),background var(--gim-google-motion-normal) var(--gim-google-ease),border-color var(--gim-google-motion-normal) var(--gim-google-ease)!important;
}
#gim-hero .gim-btn .elementor-button-content-wrapper{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:.625rem;
}
#gim-hero .gim-btn--primary .elementor-button{
	padding-inline:2rem!important;
	border:0!important;
	background:linear-gradient(to left,#165DFF,#0D1B33)!important;
	color:#fff!important;
	font-size:1rem!important;
	box-shadow:0 20px 25px -5px rgba(22,93,255,.30),0 8px 10px -6px rgba(22,93,255,.18)!important;
}
#gim-hero .gim-btn--primary .elementor-button-content-wrapper::after{
	content:"←";
	color:#22D3EE;
	font-size:1.25rem;
	line-height:1;
	font-weight:800;
}
#gim-hero .gim-btn--primary .elementor-button:hover{
	transform:scale(1.02);
	background:linear-gradient(to left,#124BCF,#07101E)!important;
	box-shadow:0 25px 45px -12px rgba(22,93,255,.45)!important;
}
#gim-hero .gim-btn--primary .elementor-button:active{transform:scale(.98)}
#gim-hero .gim-btn--secondary .elementor-button{
	border:1px solid #E2E8F0!important;
	background:#fff!important;
	color:#1E293B!important;
	font-size:.875rem!important;
	box-shadow:var(--gim-google-shadow-xs)!important;
}
#gim-hero .gim-btn--secondary .elementor-button:hover{
	background:#F8FAFC!important;
	border-color:#CBD5E1!important;
	transform:none;
}

/* Micro-trust line; keep one existing Elementor widget, not a parallel component. */
#gim-hero .gim-hero-note{
	width:100%;
	margin:1.25rem 0 0!important;
}
#gim-hero .gim-hero-note .elementor-heading-title{
	display:flex!important;
	align-items:center;
	flex-wrap:wrap;
	gap:.75rem 1rem;
	margin:0!important;
	color:#64748B!important;
	font-size:.75rem!important;
	line-height:1.7!important;
	font-weight:500!important;
	letter-spacing:0!important;
}
#gim-hero .gim-hero-note__item{display:inline-flex;align-items:center;gap:.25rem}
#gim-hero .gim-hero-note__icon{
	display:grid;
	place-items:center;
	width:1rem;
	height:1rem;
	color:#059669;
	font-size:.8rem;
	font-weight:950;
}
#gim-hero .gim-hero-note__sep{color:#CBD5E1}

/* Source sm breakpoint. */
@media (min-width:640px){
	#gim-hero .gim-hero-badge .elementor-heading-title{font-size:.875rem!important}
	#gim-hero .gim-hero-heading .elementor-heading-title{font-size:2.25rem!important}
	#gim-hero .gim-hero-desc p{font-size:1.125rem!important}
	#gim-hero .gim-hero-bullets .elementor-icon-list-text{font-size:.875rem!important}
	#gim-hero .gim-btn--secondary .elementor-button{font-size:1rem!important}
}
@media (min-width:1024px){
	#gim-hero .gim-hero-heading .elementor-heading-title{font-size:3rem!important}
}
@media (min-width:1280px){
	#gim-hero .gim-hero-heading .elementor-heading-title{font-size:3.75rem!important}
}
@media (max-width:639px){
	#gim-hero .gim-hero-bullets .elementor-icon-list-items{grid-template-columns:1fr!important}
	#gim-hero .gim-hero-actions{flex-direction:column!important}
	#gim-hero .gim-hero-actions>.gim-btn{width:100%!important}
	#gim-hero .gim-btn .elementor-button{width:100%!important}
	#gim-hero .gim-hero-note .elementor-heading-title{align-items:flex-start}
}

/* ==========================================================================
 * Sprint 1.2 — Hero Jimmy raster asset integration.
 * Scoped to the existing Hero Jimmy variant; generic Jimmy fallback remains.
 * ========================================================================== */
.gim-jimmy-card--hero .gim-jimmy-halo{
	width:min(100%,24rem);
	height:auto;
	aspect-ratio:779/800;
	padding:0;
	border-radius:1.25rem;
	background:transparent;
	box-shadow:none;
	animation:none;
}
.gim-jimmy-card--hero .gim-jimmy-halo__inner{
	width:100%;
	height:100%;
	overflow:visible;
	border-radius:1.25rem;
	background:transparent;
}
.gim-jimmy-card--hero .gim-jimmy-artwork--image{
	display:block;
	width:100%;
	height:100%;
	max-width:100%;
	object-fit:contain;
	object-position:center;
}
.gim-jimmy-card--hero{
	min-height:0;
	padding:0;
	background:transparent;
	border:0;
	box-shadow:none;
}
.gim-jimmy-card--hero::before,
.gim-jimmy-card--hero::after,
.gim-jimmy-card--hero .gim-jimmy-card__glow,
.gim-jimmy-card--hero .gim-jimmy-card__top,
.gim-jimmy-card--hero .gim-jimmy-stage>h3,
.gim-jimmy-card--hero .gim-jimmy-stage>p{
	display:none;
}
@media(max-width:639px){
	.gim-jimmy-card--hero .gim-jimmy-halo{width:min(100%,19rem)}
}
@media(max-width:767px){
	#gim-pain-points .gim-pain-grid>.e-con-inner{grid-template-columns:1fr}
}
