/* JMJMath Experience Builder v1.0.0-alpha */
.jmjx-page .entry-title,
.jmjx-page .page-title { display:none!important; }

.jmjx-site {
	--jmjx-primary:#123A8C;
	--jmjx-secondary:#2563EB;
	--jmjx-accent:#D4A017;
	--jmjx-ink:#0B1F4D;
	--jmjx-surface:#F6F8FC;
	--jmjx-muted:#5B6B86;
	--jmjx-border:rgba(18,58,140,.11);
	--jmjx-shadow:0 28px 70px rgba(18,58,140,.12);
	color:var(--jmjx-ink);
	background:#fff;
	font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	line-height:1.55;
	overflow:hidden;
}
.jmjx-site * { box-sizing:border-box; }
.jmjx-site a { text-decoration:none; }
.jmjx-shell { width:min(1180px, calc(100% - 44px)); margin:0 auto; }
.jmjx-header { position:sticky; top:0; z-index:99; background:rgba(255,255,255,.88); border-bottom:1px solid rgba(18,58,140,.08); backdrop-filter:blur(18px); }
.jmjx-nav { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:26px; }
.jmjx-brand { display:flex; align-items:center; gap:12px; color:var(--jmjx-ink); min-width:230px; }
.jmjx-brand img { width:62px; height:62px; object-fit:contain; }
.jmjx-brand-mark { display:grid; place-items:center; width:50px; height:50px; border-radius:14px; background:linear-gradient(145deg,var(--jmjx-primary),var(--jmjx-secondary)); color:#fff; font-weight:900; }
.jmjx-brand strong { display:block; font-size:14px; line-height:1.05; letter-spacing:.01em; }
.jmjx-brand small { display:block; margin-top:5px; font-size:8px; font-weight:800; color:var(--jmjx-primary); letter-spacing:.08em; }
.jmjx-menu { display:flex; align-items:center; gap:28px; }
.jmjx-menu a { color:var(--jmjx-ink); font-size:14px; font-weight:700; }
.jmjx-menu a:hover { color:var(--jmjx-secondary); }
.jmjx-nav-actions { display:flex; align-items:center; gap:10px; }
.jmjx-link-button,.jmjx-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:0 23px; border-radius:999px; font-size:14px; font-weight:800; transition:.25s ease; }
.jmjx-link-button { color:var(--jmjx-primary); border:1px solid rgba(37,99,235,.26); background:#fff; }
.jmjx-button { color:#fff; background:linear-gradient(135deg,var(--jmjx-primary),var(--jmjx-secondary)); box-shadow:0 12px 30px rgba(37,99,235,.22); }
.jmjx-button:hover { transform:translateY(-2px); box-shadow:0 18px 38px rgba(37,99,235,.28); color:#fff; }
.jmjx-button.small { min-height:43px; padding:0 20px; }
.jmjx-button.ghost { color:var(--jmjx-primary); border:1px solid rgba(37,99,235,.34); background:#fff; box-shadow:none; }
.jmjx-hero { position:relative; padding:92px 0 96px; background:
	radial-gradient(circle at 80% 28%, rgba(37,99,235,.14), transparent 27%),
	radial-gradient(circle at 55% 0%, rgba(212,160,23,.07), transparent 24%),
	linear-gradient(180deg,#fff 0%,#fbfdff 100%); }
.jmjx-orb { position:absolute; border-radius:50%; filter:blur(4px); pointer-events:none; }
.jmjx-orb.one { width:360px; height:360px; right:-130px; top:30px; background:rgba(37,99,235,.09); }
.jmjx-orb.two { width:230px; height:230px; left:-120px; bottom:-30px; background:rgba(212,160,23,.08); }
.jmjx-hero-grid { display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:64px; }
.jmjx-badge,.jmjx-eyebrow { display:inline-flex; align-items:center; gap:9px; color:var(--jmjx-primary); font-size:12px; font-weight:900; letter-spacing:.09em; }
.jmjx-badge { padding:8px 12px; border-radius:999px; background:rgba(37,99,235,.07); border:1px solid rgba(37,99,235,.08); }
.jmjx-badge i { width:7px; height:7px; border-radius:50%; background:var(--jmjx-accent); box-shadow:0 0 0 5px rgba(212,160,23,.12); }
.jmjx-hero h1 { margin:22px 0 20px; max-width:650px; font-size:clamp(44px,5vw,72px); line-height:1.01; letter-spacing:-.048em; font-weight:900; color:var(--jmjx-ink); }
.jmjx-hero h1::first-line { color:var(--jmjx-ink); }
.jmjx-hero-copy > p { max-width:650px; margin:0; font-size:18px; line-height:1.72; color:var(--jmjx-muted); }
.jmjx-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.jmjx-trust { display:flex; flex-wrap:wrap; gap:18px; margin-top:30px; color:#6A7890; font-size:12px; font-weight:700; }
.jmjx-hero-visual { position:relative; min-height:510px; display:flex; align-items:center; justify-content:center; }
.jmjx-visual-glow { position:absolute; inset:10% 4%; border-radius:44px; background:linear-gradient(145deg,rgba(18,58,140,.96),rgba(37,99,235,.85) 60%,rgba(212,160,23,.72)); transform:rotate(-5deg); box-shadow:0 35px 90px rgba(18,58,140,.24); }
.jmjx-visual-glow:before { content:""; position:absolute; inset:2px; border-radius:42px; background:
	linear-gradient(140deg,rgba(255,255,255,.06),transparent 45%),
	radial-gradient(circle at 72% 22%,rgba(255,255,255,.2),transparent 12%); }
.jmjx-image-frame,.jmjx-dashboard-demo { position:relative; z-index:2; width:min(500px,92%); border:1px solid rgba(255,255,255,.44); background:rgba(255,255,255,.96); border-radius:28px; box-shadow:0 35px 75px rgba(7,30,88,.25); overflow:hidden; }
.jmjx-image-frame { padding:12px; }
.jmjx-image-frame img { display:block; width:100%; min-height:380px; max-height:500px; object-fit:cover; border-radius:20px; }
.jmjx-dashboard-demo { padding:22px; }
.jmjx-demo-top { display:flex; align-items:center; gap:12px; padding-bottom:16px; border-bottom:1px solid #EAF0F8; }
.jmjx-avatar { display:grid; place-items:center; width:42px; height:42px; border-radius:14px; background:linear-gradient(145deg,var(--jmjx-primary),var(--jmjx-secondary)); color:#fff; font-weight:900; }
.jmjx-demo-top div { flex:1; }
.jmjx-demo-top small,.jmjx-demo-top strong { display:block; }
.jmjx-demo-top small { color:#8B97AA; font-size:10px; }
.jmjx-demo-top strong { color:var(--jmjx-ink); font-size:13px; }
.jmjx-status { padding:6px 9px; border-radius:999px; background:#EAFBF4; color:#168B64; font-size:9px; font-weight:900; }
.jmjx-demo-score { margin-top:18px; padding:18px; border-radius:20px; display:flex; align-items:center; justify-content:space-between; background:linear-gradient(145deg,#F5F9FF,#EEF5FF); }
.jmjx-demo-score small,.jmjx-demo-score strong { display:block; }
.jmjx-demo-score small { color:#7B899F; font-size:11px; }
.jmjx-demo-score strong { margin-top:4px; font-size:28px; }
.jmjx-ring { display:grid; place-items:center; width:72px; height:72px; border-radius:50%; background:conic-gradient(var(--jmjx-secondary) 0 84%,#DDE8F8 84% 100%); position:relative; }
.jmjx-ring:after { content:""; position:absolute; width:55px; height:55px; border-radius:50%; background:#fff; }
.jmjx-ring span { position:relative; z-index:2; font-size:12px; font-weight:900; color:var(--jmjx-primary); }
.jmjx-demo-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:14px; }
.jmjx-demo-cards article { padding:15px 10px; border:1px solid #EDF2F8; border-radius:16px; background:#fff; }
.jmjx-demo-cards article span { display:block; color:var(--jmjx-accent); }
.jmjx-demo-cards strong,.jmjx-demo-cards small { display:block; }
.jmjx-demo-cards strong { margin-top:7px; font-size:11px; }
.jmjx-demo-cards small { color:#99A4B5; font-size:9px; margin-top:3px; }
.jmjx-demo-mission { display:flex; gap:12px; align-items:center; justify-content:space-between; margin-top:14px; padding:15px 16px; border-radius:17px; color:#fff; background:linear-gradient(120deg,var(--jmjx-primary),var(--jmjx-secondary)); }
.jmjx-demo-mission small,.jmjx-demo-mission strong { display:block; }
.jmjx-demo-mission small { opacity:.74; font-size:9px; }
.jmjx-demo-mission strong { font-size:11px; margin-top:3px; }
.jmjx-demo-mission > span { font-size:10px; font-weight:900; white-space:nowrap; }
.jmjx-floating-card { position:absolute; z-index:4; display:flex; align-items:center; gap:9px; padding:12px 15px; border-radius:15px; background:rgba(255,255,255,.94); box-shadow:0 18px 44px rgba(15,45,99,.18); border:1px solid rgba(255,255,255,.7); }
.jmjx-floating-card strong { color:var(--jmjx-secondary); font-size:17px; }
.jmjx-floating-card small { color:#75839A; font-weight:700; font-size:10px; }
.fc-one { right:-6px; top:82px; }
.fc-two { left:-12px; bottom:82px; }
.jmjx-section { padding:98px 0; }
.jmjx-soft { background:var(--jmjx-surface); }
.jmjx-section-heading { max-width:760px; margin:0 auto 48px; text-align:center; }
.jmjx-section-heading.compact { margin-bottom:42px; }
.jmjx-section-heading h2 { margin:10px 0 13px; font-size:clamp(32px,4vw,48px); line-height:1.08; letter-spacing:-.035em; font-weight:900; }
.jmjx-section-heading h2 em,.jmjx-final-cta h2 em { color:var(--jmjx-secondary); font-style:normal; }
.jmjx-section-heading > p { margin:0 auto; max-width:640px; color:var(--jmjx-muted); font-size:16px; }
.jmjx-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.jmjx-feature-card { padding:30px; min-height:245px; border:1px solid var(--jmjx-border); border-radius:24px; background:#fff; box-shadow:0 10px 30px rgba(18,58,140,.045); transition:.28s ease; }
.jmjx-feature-card:hover,.jmjx-level-card:hover { transform:translateY(-5px); box-shadow:var(--jmjx-shadow); border-color:rgba(37,99,235,.22); }
.jmjx-icon { display:grid; place-items:center; width:50px; height:50px; border-radius:16px; background:linear-gradient(145deg,rgba(37,99,235,.1),rgba(18,58,140,.04)); color:var(--jmjx-secondary); font-size:24px; font-weight:900; }
.jmjx-feature-card h3 { margin:22px 0 9px; font-size:18px; line-height:1.25; }
.jmjx-feature-card p { margin:0; color:var(--jmjx-muted); font-size:14px; }
.jmjx-level-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:15px; }
.jmjx-level-card { text-align:center; padding:27px 18px; border:1px solid var(--jmjx-border); border-radius:24px; background:#fff; transition:.28s ease; }
.jmjx-level-emoji { display:grid; place-items:center; width:72px; height:72px; margin:0 auto; border-radius:24px; background:linear-gradient(145deg,#F8FBFF,#EFF5FF); font-size:34px; }
.jmjx-level-card h3 { margin:17px 0 7px; font-size:17px; }
.jmjx-level-card p { min-height:65px; margin:0; color:var(--jmjx-muted); font-size:13px; }
.jmjx-level-card a { display:inline-flex; gap:7px; margin-top:14px; color:var(--jmjx-secondary); font-size:12px; font-weight:900; }
.jmjx-role-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.jmjx-role-grid > article { padding:24px 24px 0; border:1px solid var(--jmjx-border); border-radius:25px; background:#fff; overflow:hidden; }
.jmjx-role-dot { display:inline-block; width:10px; height:10px; border-radius:50%; }
.jmjx-role-dot.student { background:#1CC983; }.jmjx-role-dot.teacher { background:#1A74FF; }.jmjx-role-dot.school { background:#8A5CFF; }
.jmjx-role-grid h3 { margin:8px 0 7px; }.jmjx-role-grid p { margin:0 0 18px; min-height:64px; color:var(--jmjx-muted); font-size:14px; }
.jmjx-mini-ui { height:160px; margin:0 -8px; padding:17px; border:1px solid #EEF2F8; border-bottom:0; border-radius:18px 18px 0 0; background:#FAFCFF; }
.jmjx-mini-ui .bar { width:44%; height:12px; border-radius:9px; background:#DDE8F8; margin-bottom:20px; }
.jmjx-mini-ui .line { height:12px; border-radius:9px; background:#E8EEF6; margin-top:11px; width:65%; }.jmjx-mini-ui .line.lg{width:88%}.jmjx-mini-ui .line.sm{width:48%}
.jmjx-mini-ui.blue .line.lg{background:linear-gradient(90deg,rgba(37,99,235,.8),rgba(37,99,235,.2))}
.jmjx-mini-ui .stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.jmjx-mini-ui .stats i { height:45px; border-radius:12px; background:#E9F7FF; }
.jmjx-mini-ui .chart { height:95px; display:flex; align-items:end; gap:10px; }.jmjx-mini-ui .chart i { flex:1; border-radius:7px 7px 0 0; background:linear-gradient(#D4A017,#F4D372); }.jmjx-mini-ui .chart i:nth-child(1){height:38%}.jmjx-mini-ui .chart i:nth-child(2){height:66%}.jmjx-mini-ui .chart i:nth-child(3){height:52%}.jmjx-mini-ui .chart i:nth-child(4){height:88%}
.jmjx-steps { padding:90px 0; color:#fff; background:linear-gradient(135deg,#071D4C,var(--jmjx-primary) 58%,#0A4DBA); position:relative; }
.jmjx-steps:before { content:""; position:absolute; inset:0; opacity:.14; background-image:radial-gradient(#fff 1px,transparent 1px); background-size:30px 30px; }
.jmjx-steps .jmjx-shell { position:relative; z-index:1; }
.jmjx-eyebrow.light { color:#B8D7FF; }
.jmjx-steps .jmjx-section-heading h2 em { color:#fff; }
.jmjx-step-row { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
.jmjx-step-row article { padding:22px 16px; border:1px solid rgba(255,255,255,.12); border-radius:20px; background:rgba(255,255,255,.07); backdrop-filter:blur(8px); }
.jmjx-step-row span { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:#fff; color:var(--jmjx-primary); font-size:11px; font-weight:900; }
.jmjx-step-row h3 { margin:14px 0 6px; font-size:15px; }.jmjx-step-row p { margin:0; color:rgba(255,255,255,.72); font-size:12px; }
.jmjx-orion { padding:76px 0; background:#030C2E; color:#fff; position:relative; overflow:hidden; }
.jmjx-orion:after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 70% 55%,rgba(37,99,235,.28),transparent 27%),radial-gradient(circle at 40% 25%,rgba(255,255,255,.16) 0 1px,transparent 2px); background-size:auto,40px 40px; }
.jmjx-orion-inner { position:relative; z-index:2; display:grid; grid-template-columns:1fr .9fr; align-items:center; gap:40px; }
.jmjx-coming { color:#F0C85F; font-size:12px; font-weight:900; letter-spacing:.15em; }.jmjx-orion h2 { margin:8px 0 12px; font-size:48px; }.jmjx-orion p { max-width:600px; color:#CBD7F2; font-size:16px; }.jmjx-orion-note { display:inline-block; margin-top:13px; color:#94A6CF; font-size:12px; }
.jmjx-comet { position:relative; min-height:180px; }.jmjx-comet .tail { position:absolute; width:330px; height:22px; right:85px; top:82px; border-radius:50%; background:linear-gradient(90deg,transparent,rgba(43,126,255,.4),#88C8FF); filter:blur(9px); transform:rotate(-12deg); }.jmjx-comet .core { position:absolute; right:45px; top:40px; display:grid; place-items:center; width:118px; height:118px; border-radius:50%; background:radial-gradient(circle at 35% 30%,#fff,#78D6FF 20%,#207CFF 55%,#0D2D8D); box-shadow:0 0 55px rgba(73,145,255,.85); font-size:54px; transform:rotate(22deg); }
.jmjx-institution-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.jmjx-institution-grid article { padding:24px; border:1px solid var(--jmjx-border); border-radius:22px; }.jmjx-institution-grid span { color:var(--jmjx-accent); font-size:11px; font-weight:900; letter-spacing:.12em; }.jmjx-institution-grid h3 { margin:8px 0; }.jmjx-institution-grid p { margin:0; color:var(--jmjx-muted); font-size:13px; }.jmjx-center { text-align:center; margin-top:34px; }
.jmjx-final-cta { padding:65px 0; color:#fff; background:linear-gradient(115deg,#071D4C,var(--jmjx-primary) 65%,#0A54C7); }.jmjx-final-cta .jmjx-shell { display:flex; align-items:center; justify-content:space-between; gap:40px; }.jmjx-final-cta span { color:#B9D4FF; font-size:11px; font-weight:900; letter-spacing:.11em; }.jmjx-final-cta h2 { margin:6px 0; max-width:650px; font-size:38px; line-height:1.06; }.jmjx-final-cta p { margin:0; color:rgba(255,255,255,.72); }.jmjx-final-actions { display:flex; gap:10px; flex-wrap:wrap; }.jmjx-button.light { background:#fff; color:var(--jmjx-primary); }.jmjx-button.outline-light { color:#fff; background:transparent; border:1px solid rgba(255,255,255,.45); box-shadow:none; }
.jmjx-footer { padding:52px 0 24px; background:#fff; }.jmjx-footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:36px; }.jmjx-footer-grid > div:not(.jmjx-footer-brand) { display:flex; flex-direction:column; gap:9px; }.jmjx-footer-grid strong { font-size:13px; }.jmjx-footer-grid a,.jmjx-footer-grid p { color:#728096; font-size:12px; }.jmjx-footer-brand img { width:68px; height:68px; object-fit:contain; display:block; margin-bottom:9px; }.jmjx-footer-brand p { margin:6px 0 0; }.jmjx-copyright { margin-top:36px; padding-top:20px; border-top:1px solid #E9EDF4; color:#8A96A8; font-size:11px; }

@media (max-width: 1040px) {
	.jmjx-menu { display:none; }
	.jmjx-hero-grid { grid-template-columns:1fr; }
	.jmjx-hero-copy { text-align:center; }
	.jmjx-hero-copy > p { margin-inline:auto; }
	.jmjx-hero-actions,.jmjx-trust { justify-content:center; }
	.jmjx-hero-visual { min-height:450px; }
	.jmjx-feature-grid { grid-template-columns:repeat(2,1fr); }
	.jmjx-level-grid { grid-template-columns:repeat(3,1fr); }
	.jmjx-step-row { grid-template-columns:repeat(3,1fr); }
}
@media (max-width: 760px) {
	.jmjx-shell { width:min(100% - 28px,1180px); }
	.jmjx-header { position:relative; }
	.jmjx-nav { min-height:72px; }
	.jmjx-brand { min-width:auto; }
	.jmjx-brand img { width:48px; height:48px; }
	.jmjx-brand strong { font-size:12px; }
	.jmjx-brand small,.jmjx-link-button { display:none; }
	.jmjx-button.small { min-height:40px; padding:0 15px; font-size:12px; }
	.jmjx-hero { padding:65px 0 70px; }
	.jmjx-hero h1 { font-size:46px; }
	.jmjx-hero-copy > p { font-size:16px; }
	.jmjx-hero-visual { min-height:390px; }
	.jmjx-floating-card { display:none; }
	.jmjx-dashboard-demo { width:100%; }
	.jmjx-section { padding:72px 0; }
	.jmjx-feature-grid,.jmjx-role-grid,.jmjx-institution-grid { grid-template-columns:1fr; }
	.jmjx-level-grid { grid-template-columns:repeat(2,1fr); }
	.jmjx-step-row { grid-template-columns:repeat(2,1fr); }
	.jmjx-orion-inner { grid-template-columns:1fr; }
	.jmjx-comet { min-height:145px; }
	.jmjx-comet .tail { width:220px; right:72px; top:65px; }
	.jmjx-comet .core { width:95px; height:95px; right:20px; top:30px; font-size:42px; }
	.jmjx-final-cta .jmjx-shell { flex-direction:column; align-items:flex-start; }
	.jmjx-footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 500px) {
	.jmjx-brand span:last-child { display:none; }
	.jmjx-hero h1 { font-size:39px; }
	.jmjx-hero-actions { flex-direction:column; }
	.jmjx-hero-actions .jmjx-button { width:100%; }
	.jmjx-trust { flex-direction:column; gap:8px; }
	.jmjx-demo-cards { grid-template-columns:1fr; }
	.jmjx-hero-visual { min-height:520px; }
	.jmjx-level-grid,.jmjx-step-row,.jmjx-footer-grid { grid-template-columns:1fr; }
	.jmjx-level-card p { min-height:0; }
	.jmjx-final-cta h2 { font-size:31px; }
}


/* =========================================================
   JMJMath Experience Builder 1.0.1-alpha — Premium refinement
   Blue + Gold visual system / Astra isolation
   ========================================================= */

/* Isolate the JMJMath landing from Astra/theme chrome. */
body.jmjx-page #masthead,
body.jmjx-page .site-header,
body.jmjx-page #colophon,
body.jmjx-page .site-footer,
body.jmjx-page .ast-footer-overlay,
body.jmjx-page .footer-adv-overlay,
body.jmjx-page .footer-sml-layout-1,
body.jmjx-page .ast-scroll-to-top-right,
body.jmjx-page #ast-scroll-top {
	display:none !important;
}
body.jmjx-page,
body.jmjx-page #page,
body.jmjx-page .site-content,
body.jmjx-page #primary,
body.jmjx-page .content-area,
body.jmjx-page .site-main,
body.jmjx-page article,
body.jmjx-page .entry-content {
	margin:0 !important;
	padding:0 !important;
	width:100% !important;
	max-width:none !important;
	background:#fff !important;
}
body.jmjx-page .entry-header,
body.jmjx-page .post-thumb,
body.jmjx-page .comments-area {
	display:none !important;
}

/* Typography lock to stop theme serif headings. */
.jmjx-site,
.jmjx-site button,
.jmjx-site input,
.jmjx-site a,
.jmjx-site p,
.jmjx-site span,
.jmjx-site small,
.jmjx-site strong,
.jmjx-site h1,
.jmjx-site h2,
.jmjx-site h3,
.jmjx-site h4 {
	font-family:Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}
.jmjx-site h1,
.jmjx-site h2,
.jmjx-site h3,
.jmjx-site h4 {
	color:var(--jmjx-ink) !important;
	text-transform:none !important;
}
.jmjx-site {
	--jmjx-gold:#E6A900;
	--jmjx-gold-soft:#FFD76A;
	--jmjx-navy:#061C52;
	--jmjx-blue:#1557D6;
}

/* Header */
.jmjx-header { box-shadow:0 6px 28px rgba(6,28,82,.04); }
.jmjx-menu a { position:relative; }
.jmjx-menu a:first-child:after {
	content:"";
	position:absolute;
	left:18%;
	right:18%;
	bottom:-12px;
	height:2px;
	border-radius:99px;
	background:var(--jmjx-gold);
}
.jmjx-nav-actions .jmjx-button {
	color:#071A45 !important;
	background:linear-gradient(135deg,#F4C126,#E5A400) !important;
	box-shadow:0 12px 28px rgba(230,169,0,.24) !important;
}
.jmjx-nav-actions .jmjx-button:hover {
	box-shadow:0 18px 36px rgba(230,169,0,.31) !important;
}

/* Hero */
.jmjx-hero {
	padding-top:78px;
	background:
		radial-gradient(circle at 72% 30%,rgba(37,99,235,.15),transparent 28%),
		radial-gradient(circle at 20% 28%,rgba(230,169,0,.11),transparent 22%),
		linear-gradient(180deg,#fff 0%,#fbfdff 100%);
}
.jmjx-badge {
	color:#0A347C !important;
	background:rgba(255,255,255,.88);
	border-color:rgba(21,87,214,.16);
	box-shadow:0 8px 22px rgba(18,58,140,.05);
}
.jmjx-badge i {
	background:var(--jmjx-gold) !important;
	box-shadow:0 0 0 5px rgba(230,169,0,.14) !important;
}
.jmjx-hero h1 {
	font-size:clamp(46px,5.2vw,76px);
	font-weight:900 !important;
	letter-spacing:-.055em !important;
	line-height:.98 !important;
}
.jmjx-title-accent {
	display:block;
	color:var(--jmjx-gold) !important;
	background:linear-gradient(135deg,#E2A100,#F7C728);
	-webkit-background-clip:text;
	background-clip:text;
	-webkit-text-fill-color:transparent;
}
.jmjx-hero-copy > p {
	color:#32476D !important;
	max-width:620px;
}
.jmjx-hero-actions .jmjx-button:first-child {
	background:linear-gradient(135deg,#082D7B,#1557D6) !important;
}
.jmjx-trust { padding-top:4px; color:#435879 !important; }

/* Dashboard hero visual */
.jmjx-visual-glow {
	background:linear-gradient(145deg,#06318E 0%,#1B58D8 58%,#E7AA08 100%) !important;
	transform:rotate(-3.5deg);
}
.jmjx-dashboard-demo { box-shadow:0 38px 90px rgba(6,28,82,.25); }
.jmjx-demo-score { background:linear-gradient(145deg,#F8FBFF,#EFF5FF) !important; }
.jmjx-demo-mission { background:linear-gradient(105deg,#071E5C,#0D3B9B 72%,#1557D6) !important; }
.jmjx-demo-cards article span { color:var(--jmjx-gold) !important; }

/* Feature strip */
#plataforma.jmjx-section { padding:36px 0 78px; }
#plataforma .jmjx-section-heading { margin-bottom:34px; }
.jmjx-feature-grid {
	grid-template-columns:repeat(6,1fr) !important;
	gap:0 !important;
	padding:8px;
	border-radius:24px;
	background:linear-gradient(110deg,#061B50 0%,#0D3A92 52%,#1557D6 100%) !important;
	box-shadow:0 26px 70px rgba(6,28,82,.18);
	overflow:hidden;
}
.jmjx-feature-card {
	min-height:220px !important;
	padding:24px 20px !important;
	border:0 !important;
	border-right:1px solid rgba(255,255,255,.13) !important;
	border-radius:0 !important;
	background:transparent !important;
	box-shadow:none !important;
}
.jmjx-feature-card:last-child { border-right:0 !important; }
.jmjx-feature-card:hover {
	transform:translateY(-2px) !important;
	background:rgba(255,255,255,.045) !important;
}
.jmjx-feature-card .jmjx-icon {
	width:46px;
	height:46px;
	border:1px solid rgba(255,215,106,.42);
	background:rgba(255,255,255,.06) !important;
	color:var(--jmjx-gold-soft) !important;
}
.jmjx-feature-card h3 {
	color:#FFD442 !important;
	font-size:15px !important;
	line-height:1.15 !important;
	text-transform:uppercase !important;
	letter-spacing:.02em;
}
.jmjx-feature-card p {
	color:rgba(255,255,255,.82) !important;
	font-size:12.5px !important;
}

/* Headings */
.jmjx-eyebrow { color:#0C408F !important; }
.jmjx-section-heading h2 {
	font-weight:900 !important;
	letter-spacing:-.04em !important;
}
.jmjx-section-heading h2 em { color:var(--jmjx-secondary) !important; }
.jmjx-soft .jmjx-eyebrow { color:#B68100 !important; }

/* Levels */
.jmjx-level-card {
	border-color:rgba(18,58,140,.12) !important;
	box-shadow:0 8px 24px rgba(6,28,82,.04);
}
.jmjx-level-card:hover {
	border-color:rgba(230,169,0,.42) !important;
	box-shadow:0 20px 45px rgba(6,28,82,.10);
}
.jmjx-level-card h3 { color:#071E55 !important; }
.jmjx-level-card a { color:#1557D6 !important; }

/* Roles */
.jmjx-role-grid > article { box-shadow:0 10px 28px rgba(6,28,82,.045); }
.jmjx-role-grid h3 { color:#071E55 !important; }

/* Process contrast fix */
.jmjx-steps {
	background:linear-gradient(118deg,#061947 0%,#0B347D 52%,#1557D6 100%) !important;
}
.jmjx-steps .jmjx-section-heading h2,
.jmjx-steps .jmjx-section-heading h2 em,
.jmjx-step-row h3 { color:#fff !important; }
.jmjx-steps .jmjx-eyebrow { color:#BFD9FF !important; }
.jmjx-step-row article {
	background:rgba(255,255,255,.08) !important;
	border-color:rgba(255,255,255,.16) !important;
}
.jmjx-step-row article:hover { background:rgba(255,255,255,.12) !important; }
.jmjx-step-row span {
	background:linear-gradient(145deg,#fff,#F7E5A7) !important;
	color:#0C3D90 !important;
}
.jmjx-step-row p { color:rgba(255,255,255,.82) !important; }

/* Orion */
.jmjx-orion {
	background:
		radial-gradient(circle at 78% 48%,rgba(21,87,214,.30),transparent 22%),
		linear-gradient(115deg,#020A22,#061947 68%,#082D72) !important;
}
.jmjx-orion h2 { color:#fff !important; }
.jmjx-orion p { color:#D7E2F9 !important; }
.jmjx-coming { color:#FFD442 !important; }
.jmjx-comet .core {
	background:radial-gradient(circle at 35% 30%,#fff,#92E2FF 22%,#287DF5 58%,#0B2D88) !important;
	box-shadow:0 0 65px rgba(73,145,255,.75),0 0 110px rgba(230,169,0,.10) !important;
}

/* Institutions */
.jmjx-institution-grid article {
	position:relative;
	overflow:hidden;
	box-shadow:0 8px 24px rgba(6,28,82,.035);
	transition:.25s ease;
}
.jmjx-institution-grid article:before {
	content:"";
	position:absolute;
	inset:0 0 auto 0;
	height:3px;
	background:linear-gradient(90deg,var(--jmjx-gold),transparent 75%);
	opacity:0;
	transition:.25s ease;
}
.jmjx-institution-grid article:hover {
	transform:translateY(-4px);
	border-color:rgba(230,169,0,.32);
	box-shadow:0 18px 42px rgba(6,28,82,.09);
}
.jmjx-institution-grid article:hover:before { opacity:1; }
.jmjx-institution-grid span { color:#D69B00 !important; }
.jmjx-institution-grid h3 { color:#071E55 !important; }

/* Final CTA */
.jmjx-final-cta {
	background:linear-gradient(110deg,#061947 0%,#0A347D 55%,#1557D6 100%) !important;
}
.jmjx-final-cta span { color:#FFD86A !important; }
.jmjx-final-cta h2 { color:#fff !important; }
.jmjx-final-cta h2 em { color:#FFD442 !important; }
.jmjx-final-cta p { color:rgba(255,255,255,.84) !important; }
.jmjx-final-cta .jmjx-button.light {
	background:linear-gradient(135deg,#FFD348,#E6A900) !important;
	color:#071A45 !important;
	box-shadow:0 12px 30px rgba(230,169,0,.22) !important;
}
.jmjx-final-cta .jmjx-button.outline-light { color:#fff !important; }

/* Footer */
.jmjx-footer { border-top:1px solid #EDF1F7; }
.jmjx-footer-grid strong { color:#071E55 !important; }
.jmjx-footer-grid a:hover { color:#1557D6 !important; }

@media (max-width:1180px) {
	.jmjx-feature-grid { grid-template-columns:repeat(3,1fr) !important; }
	.jmjx-feature-card:nth-child(3) { border-right:0 !important; }
	.jmjx-feature-card:nth-child(-n+3) { border-bottom:1px solid rgba(255,255,255,.13) !important; }
}
@media (max-width:760px) {
	.jmjx-hero { padding-top:54px; }
	.jmjx-title-accent { display:inline; }
	.jmjx-feature-grid { grid-template-columns:1fr !important; padding:5px !important; }
	.jmjx-feature-card,
	.jmjx-feature-card:nth-child(3) {
		min-height:auto !important;
		border-right:0 !important;
		border-bottom:1px solid rgba(255,255,255,.13) !important;
	}
	.jmjx-feature-card:last-child { border-bottom:0 !important; }
}


/* =========================================================
   JMJMath Experience Builder 1.0.2-alpha
   Full-width stabilization + card/grid corrections
   ========================================================= */

/* True full-width breakout even when Astra wraps the page in a centered container. */
body.jmjx-page .site,
body.jmjx-page #page,
body.jmjx-page .site-content,
body.jmjx-page .ast-container,
body.jmjx-page #content,
body.jmjx-page #primary,
body.jmjx-page .content-area,
body.jmjx-page .site-main,
body.jmjx-page article,
body.jmjx-page .entry-content,
body.jmjx-page .wp-block-post-content {
	max-width:none !important;
	width:100% !important;
	margin-left:0 !important;
	margin-right:0 !important;
	padding-left:0 !important;
	padding-right:0 !important;
}

body.jmjx-page .jmjx-site {
	position:relative;
	left:50%;
	right:50%;
	width:100vw !important;
	max-width:100vw !important;
	margin-left:-50vw !important;
	margin-right:-50vw !important;
	overflow-x:hidden !important;
}

body.jmjx-page .jmjx-shell {
	width:min(1380px, calc(100% - 56px)) !important;
	max-width:1380px !important;
}

/* Header + hero use more of the canvas */
.jmjx-nav {
	min-height:88px;
}
.jmjx-hero {
	padding:84px 0 92px !important;
}
.jmjx-hero-grid {
	grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr) !important;
	gap:72px !important;
}
.jmjx-hero-visual {
	min-height:530px !important;
}
.jmjx-dashboard-demo,
.jmjx-image-frame {
	width:min(560px,94%) !important;
}

/* Feature cards: restore all text and consistent dark strip */
#plataforma .jmjx-feature-grid {
	display:grid !important;
	grid-template-columns:repeat(6,minmax(0,1fr)) !important;
	align-items:stretch !important;
	background:linear-gradient(112deg,#071A4D 0%,#0A347D 48%,#1557D6 100%) !important;
	border:1px solid rgba(255,255,255,.08) !important;
}
#plataforma .jmjx-feature-card {
	display:flex !important;
	flex-direction:column !important;
	min-width:0 !important;
	min-height:245px !important;
	padding:26px 22px !important;
	background:transparent !important;
	color:#fff !important;
	opacity:1 !important;
	visibility:visible !important;
}
#plataforma .jmjx-feature-card * {
	opacity:1 !important;
	visibility:visible !important;
}
#plataforma .jmjx-feature-card h3 {
	color:#FFD442 !important;
	min-height:42px !important;
	margin:20px 0 10px !important;
}
#plataforma .jmjx-feature-card p {
	display:block !important;
	color:rgba(255,255,255,.86) !important;
	line-height:1.55 !important;
	margin:0 !important;
}
#plataforma .jmjx-feature-card:hover {
	background:rgba(255,255,255,.045) !important;
}

/* Roles */
.jmjx-role-grid {
	align-items:stretch !important;
}
.jmjx-role-grid > article {
	display:flex !important;
	flex-direction:column !important;
	min-height:340px !important;
}
.jmjx-role-grid .jmjx-mini-ui {
	margin-top:auto !important;
}

/* Process cards: keep every card readable */
.jmjx-step-row {
	display:grid !important;
	grid-template-columns:repeat(6,minmax(0,1fr)) !important;
	align-items:stretch !important;
	gap:16px !important;
}
.jmjx-step-row article {
	display:flex !important;
	flex-direction:column !important;
	min-width:0 !important;
	min-height:190px !important;
	padding:22px 18px !important;
	background:rgba(255,255,255,.085) !important;
	border:1px solid rgba(255,255,255,.16) !important;
}
.jmjx-step-row article * {
	opacity:1 !important;
	visibility:visible !important;
}
.jmjx-step-row article h3 {
	display:block !important;
	color:#fff !important;
	margin:18px 0 8px !important;
	line-height:1.2 !important;
}
.jmjx-step-row article p {
	display:block !important;
	color:rgba(255,255,255,.84) !important;
	line-height:1.48 !important;
	margin:0 !important;
}

/* Institutions: taller cards so text never clips */
.jmjx-institution-grid {
	display:grid !important;
	grid-template-columns:repeat(3,minmax(0,1fr)) !important;
	gap:18px !important;
}
.jmjx-institution-grid article {
	display:flex !important;
	flex-direction:column !important;
	min-height:175px !important;
	padding:28px 26px !important;
	overflow:visible !important;
}
.jmjx-institution-grid h3 {
	margin:10px 0 10px !important;
	line-height:1.15 !important;
}
.jmjx-institution-grid p {
	display:block !important;
	line-height:1.55 !important;
	margin:0 !important;
}

/* Footer/CTA wider visual rhythm */
.jmjx-final-cta .jmjx-shell,
.jmjx-footer .jmjx-shell {
	width:min(1380px, calc(100% - 56px)) !important;
}

/* Large desktop */
@media (min-width:1440px) {
	body.jmjx-page .jmjx-shell {
		width:min(1460px, calc(100% - 72px)) !important;
		max-width:1460px !important;
	}
	.jmjx-hero h1 {
		font-size:78px !important;
	}
}

/* Tablet */
@media (max-width:1180px) {
	body.jmjx-page .jmjx-shell {
		width:min(100% - 38px,1180px) !important;
	}
	#plataforma .jmjx-feature-grid {
		grid-template-columns:repeat(3,minmax(0,1fr)) !important;
	}
	#plataforma .jmjx-feature-card:nth-child(3n) {
		border-right:0 !important;
	}
	.jmjx-step-row {
		grid-template-columns:repeat(3,minmax(0,1fr)) !important;
	}
}

/* Mobile */
@media (max-width:760px) {
	body.jmjx-page .jmjx-site {
		left:0 !important;
		right:0 !important;
		width:100% !important;
		max-width:100% !important;
		margin-left:0 !important;
		margin-right:0 !important;
	}
	body.jmjx-page .jmjx-shell {
		width:calc(100% - 28px) !important;
	}
	.jmjx-hero-grid {
		grid-template-columns:1fr !important;
		gap:40px !important;
	}
	#plataforma .jmjx-feature-grid,
	.jmjx-step-row,
	.jmjx-institution-grid {
		grid-template-columns:1fr !important;
	}
	#plataforma .jmjx-feature-card,
	.jmjx-step-row article,
	.jmjx-institution-grid article {
		min-height:auto !important;
	}
}


/* =========================================================
   JMJMath Experience Builder 1.0.3-alpha
   Process-card fix + full-width polish
   ========================================================= */

body.jmjx-page article {
	background:transparent !important;
}

body.jmjx-page .jmjx-feature-card,
body.jmjx-page .jmjx-level-card,
body.jmjx-page .jmjx-role-grid > article,
body.jmjx-page .jmjx-institution-grid article {
	background:#fff !important;
}

body.jmjx-page #plataforma .jmjx-feature-card {
	background:transparent !important;
}
body.jmjx-page #plataforma .jmjx-feature-card:hover {
	background:rgba(255,255,255,.05) !important;
}

body.jmjx-page .jmjx-step-row article {
	background:rgba(255,255,255,.09) !important;
	border:1px solid rgba(255,255,255,.18) !important;
	color:#fff !important;
	box-shadow:0 12px 30px rgba(2,10,34,.08);
}
body.jmjx-page .jmjx-step-row article:hover {
	background:rgba(255,255,255,.14) !important;
	transform:translateY(-4px);
}
body.jmjx-page .jmjx-step-row article h3 {
	color:#fff !important;
	display:block !important;
	opacity:1 !important;
	visibility:visible !important;
}
body.jmjx-page .jmjx-step-row article p {
	color:rgba(255,255,255,.84) !important;
	display:block !important;
	opacity:1 !important;
	visibility:visible !important;
}
body.jmjx-page .jmjx-step-row article span {
	color:#0A347D !important;
	background:linear-gradient(145deg,#fff,#FFF0BA) !important;
}

@media (min-width:1280px) {
	.jmjx-section {
		padding-top:92px !important;
		padding-bottom:92px !important;
	}
	.jmjx-experience {
		padding-top:86px !important;
		padding-bottom:94px !important;
	}
	.jmjx-steps {
		padding-top:86px !important;
		padding-bottom:92px !important;
	}
}

body.jmjx-page .jmjx-institution-grid article {
	justify-content:flex-start !important;
	min-height:165px !important;
}
body.jmjx-page .jmjx-institution-grid h3 {
	font-size:clamp(23px,1.9vw,31px) !important;
}

body.jmjx-page .jmjx-header .jmjx-shell {
	width:min(1460px, calc(100% - 64px)) !important;
	max-width:1460px !important;
}

body.admin-bar .jmjx-header {
	top:32px !important;
}
@media screen and (max-width:782px) {
	body.admin-bar .jmjx-header {
		top:46px !important;
	}
}

/* =========================================================
   JMJMath Experience Builder 1.1.0
   Premium interaction layer — safe visual enhancement
   ========================================================= */
@media (prefers-reduced-motion: no-preference) {
  body.jmjx-page .jmjx-level-card,
  body.jmjx-page .jmjx-role-grid > article,
  body.jmjx-page .jmjx-institution-grid article,
  body.jmjx-page .jmjx-step-row article,
  body.jmjx-page #plataforma .jmjx-feature-card,
  body.jmjx-page .jmjx-btn {
    transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease, background-color .28s ease;
  }
  body.jmjx-page .jmjx-hero-visual { animation:jmjxFloat 6s ease-in-out infinite; }
  @keyframes jmjxFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
}
body.jmjx-page .jmjx-level-card:hover,
body.jmjx-page .jmjx-role-grid > article:hover,
body.jmjx-page .jmjx-institution-grid article:hover {
  transform:translateY(-7px);
  border-color:rgba(37,99,235,.28) !important;
  box-shadow:0 22px 55px rgba(11,31,77,.11) !important;
}
body.jmjx-page .jmjx-level-card:hover { background:linear-gradient(180deg,#fff 0%,#f8fbff 100%) !important; }
body.jmjx-page .jmjx-btn:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(18,58,140,.18); }
body.jmjx-page .jmjx-btn:focus-visible,
body.jmjx-page a:focus-visible { outline:3px solid #F4B400; outline-offset:4px; }
body.jmjx-page #plataforma .jmjx-feature-card:hover { transform:translateY(-5px); }
body.jmjx-page .jmjx-step-row article:hover { box-shadow:0 20px 44px rgba(2,10,34,.18); }
body.jmjx-page .jmjx-role-grid > article { overflow:hidden; position:relative; }
body.jmjx-page .jmjx-role-grid > article:after {
  content:""; position:absolute; inset:auto -18% -55% auto; width:190px; height:190px; border-radius:50%;
  background:radial-gradient(circle,rgba(37,99,235,.09),transparent 68%); pointer-events:none;
}
body.jmjx-page .jmjx-institution-grid article { position:relative; overflow:hidden; }
body.jmjx-page .jmjx-institution-grid article:after {
  content:""; position:absolute; left:0; bottom:0; width:0; height:3px;
  background:linear-gradient(90deg,#F4B400,#2563EB); transition:width .3s ease;
}
body.jmjx-page .jmjx-institution-grid article:hover:after { width:100%; }
body.jmjx-page .jmjx-header { backdrop-filter:saturate(140%) blur(12px); -webkit-backdrop-filter:saturate(140%) blur(12px); }
@media (max-width:760px) {
  body.jmjx-page .jmjx-level-card:hover,
  body.jmjx-page .jmjx-role-grid > article:hover,
  body.jmjx-page .jmjx-institution-grid article:hover { transform:none; }
}


/* =========================================================
   JMJMath Experience Builder 1.2.0
   Premium motion + centered cards + blue/gold visual polish
   ========================================================= */

.jmjx-site {
	--jmjx-gold:#F2B705;
	--jmjx-gold-soft:#FFD95C;
	--jmjx-navy:#061A4F;
	--jmjx-blue:#1457D6;
	scroll-behavior:smooth;
}

/* Hero ambience */
.jmjx-hero {
	position:relative;
	isolation:isolate;
	background:
		radial-gradient(circle at 15% 28%,rgba(242,183,5,.12),transparent 25%),
		radial-gradient(circle at 82% 30%,rgba(20,87,214,.18),transparent 28%),
		linear-gradient(180deg,#fff 0%,#F8FBFF 100%) !important;
}
.jmjx-hero:before {
	content:"";
	position:absolute;
	inset:0;
	z-index:-1;
	opacity:.42;
	background-image:
		radial-gradient(circle at 10% 20%,rgba(255,255,255,.95) 0 1px,transparent 1.6px),
		radial-gradient(circle at 30% 70%,rgba(20,87,214,.25) 0 1px,transparent 1.5px);
	background-size:42px 42px,64px 64px;
	animation:jmjxStars 18s linear infinite;
}
.jmjx-hero-visual {
	transition:transform .28s ease-out;
	will-change:transform;
}
.jmjx-visual-glow {
	background:linear-gradient(145deg,#073694 0%,#1557D6 56%,#E9B20C 100%) !important;
	box-shadow:0 34px 100px rgba(7,52,148,.26),0 0 70px rgba(242,183,5,.10);
}
.jmjx-floating-card {
	animation:jmjxFloat 4.8s ease-in-out infinite;
}
.fc-two { animation-delay:-2.1s; }

/* Center card contents */
.jmjx-feature-card,
.jmjx-level-card,
.jmjx-role-grid > article,
.jmjx-step-row article,
.jmjx-institution-grid article {
	text-align:center !important;
	align-items:center !important;
	justify-content:flex-start !important;
}
.jmjx-feature-card .jmjx-icon,
.jmjx-level-card .jmjx-level-emoji,
.jmjx-step-row article > span {
	margin-left:auto !important;
	margin-right:auto !important;
}
.jmjx-role-grid > article {
	display:flex !important;
	flex-direction:column !important;
}
.jmjx-role-grid > article .jmjx-mini-ui {
	width:100% !important;
	margin-top:auto !important;
}
.jmjx-institution-grid article p,
.jmjx-feature-card p,
.jmjx-level-card p,
.jmjx-step-row article p,
.jmjx-role-grid > article p {
	max-width:100% !important;
	margin-left:auto !important;
	margin-right:auto !important;
}

/* Feature rail more premium */
#plataforma .jmjx-feature-grid {
	border-radius:28px !important;
	background:
		linear-gradient(112deg,#061A4F 0%,#0B347E 48%,#1457D6 100%) !important;
	box-shadow:0 28px 80px rgba(6,26,79,.20);
}
#plataforma .jmjx-feature-card {
	min-height:250px !important;
}
#plataforma .jmjx-feature-card h3 {
	color:var(--jmjx-gold-soft) !important;
}
#plataforma .jmjx-feature-card:hover {
	transform:translateY(-6px) scale(1.015) !important;
	background:rgba(255,255,255,.055) !important;
}

/* Levels */
.jmjx-level-card,
.jmjx-role-grid > article,
.jmjx-institution-grid article {
	border-radius:26px !important;
	box-shadow:0 10px 30px rgba(7,34,90,.05);
	transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.jmjx-level-card:hover,
.jmjx-role-grid > article:hover,
.jmjx-institution-grid article:hover {
	transform:translateY(-8px) !important;
	box-shadow:0 24px 55px rgba(7,34,90,.13) !important;
	border-color:rgba(242,183,5,.38) !important;
}

/* Process section */
.jmjx-steps {
	position:relative;
	overflow:hidden;
	background:
		linear-gradient(118deg,#061947 0%,#0B347D 50%,#1557D6 100%) !important;
}
.jmjx-steps:after {
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background:
		linear-gradient(115deg,transparent 0 42%,rgba(255,255,255,.08) 50%,transparent 58%);
	transform:translateX(-120%);
	animation:jmjxSweep 10s ease-in-out infinite;
}
.jmjx-step-row article {
	position:relative;
	z-index:2;
	min-height:185px !important;
}
.jmjx-step-row article:hover {
	transform:translateY(-8px) !important;
	background:rgba(255,255,255,.14) !important;
}

/* CTA */
.jmjx-final-cta {
	background:linear-gradient(110deg,#061947 0%,#0B347D 55%,#1557D6 100%) !important;
}
.jmjx-final-cta .jmjx-button.light,
.jmjx-nav-actions .jmjx-button {
	background:linear-gradient(135deg,#FFD44B,#F2B705) !important;
	color:#061947 !important;
}

/* Scroll reveal */
@media (prefers-reduced-motion:no-preference) {
	.jmjx-section-heading,
	.jmjx-feature-card,
	.jmjx-level-card,
	.jmjx-role-grid > article,
	.jmjx-step-row article,
	.jmjx-institution-grid article {
		opacity:0;
		transform:translateY(24px);
		transition:
			opacity .65s ease var(--jmjx-delay,0ms),
			transform .65s cubic-bezier(.2,.8,.2,1) var(--jmjx-delay,0ms);
	}
	.jmjx-inview {
		opacity:1 !important;
		transform:translateY(0) !important;
	}
}

/* Desktop spacing */
@media (min-width:1280px) {
	body.jmjx-page .jmjx-shell {
		width:min(1480px,calc(100% - 72px)) !important;
		max-width:1480px !important;
	}
}

/* Mobile keeps cards centered and compact */
@media (max-width:760px) {
	.jmjx-feature-card,
	.jmjx-level-card,
	.jmjx-role-grid > article,
	.jmjx-step-row article,
	.jmjx-institution-grid article {
		text-align:center !important;
	}
}

/* Animations */
@keyframes jmjxFloat {
	0%,100% { transform:translateY(0); }
	50% { transform:translateY(-9px); }
}
@keyframes jmjxStars {
	from { background-position:0 0,0 0; }
	to { background-position:42px 42px,-64px 64px; }
}
@keyframes jmjxSweep {
	0%,72% { transform:translateX(-120%); opacity:0; }
	80% { opacity:1; }
	100% { transform:translateX(120%); opacity:0; }
}

/* =========================================================
   JMJMath Experience Builder 1.3.0
   Premium refinement: depth, compact rhythm, richer cards
   ========================================================= */

/* Tighter, more intentional vertical rhythm */
#plataforma.jmjx-section { padding-top:70px !important; padding-bottom:82px !important; }
#niveles.jmjx-section { padding-top:84px !important; padding-bottom:84px !important; }
.jmjx-experience { padding-top:82px !important; padding-bottom:86px !important; }
#instituciones.jmjx-section { padding-top:84px !important; padding-bottom:82px !important; }
.jmjx-section-heading { margin-bottom:38px !important; }
.jmjx-section-heading.compact { margin-bottom:36px !important; }

/* Premium ambient glow on major light sections */
.jmjx-experience,#instituciones { position:relative; isolation:isolate; }
.jmjx-experience:before,#instituciones:before {
 content:""; position:absolute; z-index:-1; pointer-events:none; width:420px; height:420px; border-radius:50%;
 background:radial-gradient(circle,rgba(37,99,235,.075),transparent 68%); filter:blur(4px);
}
.jmjx-experience:before { right:-160px; top:12%; }
#instituciones:before { left:-180px; bottom:4%; background:radial-gradient(circle,rgba(242,183,5,.07),transparent 68%); }

/* Role cards: stronger mini-dashboard feel */
.jmjx-role-grid > article { min-height:350px !important; padding-top:28px !important; }
.jmjx-role-grid h3 { margin-top:7px !important; font-size:29px !important; }
.jmjx-role-grid > article > p { min-height:48px; max-width:92% !important; }
.jmjx-role-dot { box-shadow:0 0 0 7px rgba(37,99,235,.055); }
.jmjx-mini-ui { border-top:1px solid rgba(18,58,140,.09) !important; background:linear-gradient(180deg,#FAFCFF,#F5F9FF) !important; }
.jmjx-mini-ui .line,.jmjx-mini-ui .bar,.jmjx-mini-ui .stats i,.jmjx-mini-ui .chart i { transition:transform .45s ease,filter .45s ease; }
.jmjx-role-grid > article:hover .jmjx-mini-ui .line,
.jmjx-role-grid > article:hover .jmjx-mini-ui .bar { transform:translateX(5px); }
.jmjx-role-grid > article:hover .jmjx-mini-ui .stats i,
.jmjx-role-grid > article:hover .jmjx-mini-ui .chart i { transform:translateY(-5px); filter:saturate(1.15); }

/* Process: clearer progression and connected path */
.jmjx-step-row { position:relative; }
.jmjx-step-row:before { content:""; position:absolute; left:5%; right:5%; top:28px; height:2px; background:linear-gradient(90deg,rgba(255,215,92,.15),rgba(255,215,92,.65),rgba(255,215,92,.15)); z-index:1; }
.jmjx-step-row article { backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.jmjx-step-row article > span { position:relative; z-index:3; box-shadow:0 8px 22px rgba(2,10,34,.16); }
.jmjx-step-row article h3 { margin-top:14px !important; }

/* Orion: more distinctive without overpowering the page */
.jmjx-orion { position:relative; overflow:hidden; }
.jmjx-orion:before { content:""; position:absolute; width:520px; height:520px; right:3%; top:50%; transform:translateY(-50%); border-radius:50%; background:radial-gradient(circle,rgba(56,189,248,.14),transparent 62%); pointer-events:none; }
.jmjx-coming { letter-spacing:.12em !important; }
.jmjx-comet .core { box-shadow:0 0 42px rgba(56,189,248,.48),0 0 100px rgba(37,99,235,.22) !important; }
@media (prefers-reduced-motion:no-preference) {
 .jmjx-comet .core { animation:jmjxCometPulse 3.6s ease-in-out infinite; }
 .jmjx-comet .tail { animation:jmjxTailGlow 3.6s ease-in-out infinite; }
}

/* Institution cards: fill empty space with useful visual identity */
.jmjx-institution-grid article { min-height:190px !important; padding:26px 28px 30px !important; justify-content:center !important; }
.jmjx-institution-grid article > span { position:absolute; top:18px; left:22px; font-size:11px !important; letter-spacing:.08em; }
.jmjx-institution-grid article h3 { margin:10px 0 7px !important; }
.jmjx-institution-grid article p { max-width:86% !important; }
.jmjx-institution-grid article:before { display:grid; place-items:center; width:48px; height:48px; margin:0 auto 6px; border-radius:15px; color:#1557D6; background:linear-gradient(145deg,#F2F7FF,#EAF2FF); border:1px solid rgba(37,99,235,.10); font-size:22px; font-weight:900; transition:transform .3s ease,background .3s ease; }
.jmjx-institution-grid article:nth-child(1):before { content:"▤"; }
.jmjx-institution-grid article:nth-child(2):before { content:"★"; }
.jmjx-institution-grid article:nth-child(3):before { content:"↗"; }
.jmjx-institution-grid article:nth-child(4):before { content:"◎"; }
.jmjx-institution-grid article:nth-child(5):before { content:"✦"; }
.jmjx-institution-grid article:nth-child(6):before { content:"✓"; }
.jmjx-institution-grid article:hover:before { transform:translateY(-3px) scale(1.06); background:linear-gradient(145deg,#FFF9E5,#FFF2B7); color:#A97500; }
.jmjx-center { margin-top:30px !important; }

/* Buttons: subtle sheen */
.jmjx-button { position:relative; overflow:hidden; }
.jmjx-button:after { content:""; position:absolute; top:-80%; left:-35%; width:28%; height:260%; transform:rotate(20deg); background:linear-gradient(90deg,transparent,rgba(255,255,255,.30),transparent); transition:left .55s ease; }
.jmjx-button:hover:after { left:115%; }

@keyframes jmjxCometPulse { 0%,100%{transform:scale(1);filter:brightness(1)} 50%{transform:scale(1.045);filter:brightness(1.12)} }
@keyframes jmjxTailGlow { 0%,100%{opacity:.62} 50%{opacity:1} }

@media (max-width:980px) {
 .jmjx-step-row:before { display:none; }
 .jmjx-institution-grid article p { max-width:100% !important; }
}
@media (max-width:760px) {
 #plataforma.jmjx-section,#niveles.jmjx-section,.jmjx-experience,#instituciones.jmjx-section { padding-top:68px !important; padding-bottom:68px !important; }
 .jmjx-role-grid > article { min-height:320px !important; }
 .jmjx-institution-grid article { min-height:180px !important; }
}


/* =========================================================
   JMJMath Experience Builder 1.4.0 — Public catalog
   ========================================================= */
.jmjx-catalog-hero {
	padding:88px 0 78px;
	position:relative;
	overflow:hidden;
	background:
		radial-gradient(circle at 18% 20%,rgba(242,183,5,.13),transparent 25%),
		radial-gradient(circle at 82% 30%,rgba(37,99,235,.17),transparent 30%),
		linear-gradient(180deg,#fff,#f8fbff);
}
.jmjx-catalog-hero-grid {
	display:grid;
	grid-template-columns:1.05fr .95fr;
	gap:70px;
	align-items:center;
}
.jmjx-catalog-hero h1 {
	margin:20px 0 18px;
	max-width:780px;
	font-size:clamp(44px,5vw,70px);
	line-height:1.01;
	letter-spacing:-.05em;
	font-weight:900;
	color:var(--jmjx-ink) !important;
}
.jmjx-catalog-hero p {
	max-width:680px;
	font-size:17px;
	line-height:1.7;
	color:#53647f;
}
.jmjx-catalog-visual {
	position:relative;
	min-height:420px;
}
.jmjx-catalog-stack {
	position:absolute;
	width:260px;
	min-height:170px;
	padding:28px;
	border:1px solid rgba(18,58,140,.11);
	border-radius:26px;
	background:rgba(255,255,255,.94);
	box-shadow:0 24px 60px rgba(11,42,103,.14);
	backdrop-filter:blur(12px);
	animation:jmjxFloat 5.5s ease-in-out infinite;
}
.jmjx-catalog-stack span {display:block;font-size:38px;margin-bottom:18px}
.jmjx-catalog-stack strong {display:block;font-size:22px;color:#081f58}
.jmjx-catalog-stack small {display:block;margin-top:6px;color:#70809a}
.jmjx-catalog-stack.card-a {left:25px;top:35px;transform:rotate(-5deg)}
.jmjx-catalog-stack.card-b {right:10px;top:115px;animation-delay:-1.7s}
.jmjx-catalog-stack.card-c {left:105px;bottom:10px;transform:rotate(4deg);animation-delay:-3s}
.jmjx-catalog-filter {
	padding:22px 0;
	border-top:1px solid #edf1f7;
	border-bottom:1px solid #edf1f7;
	background:#fff;
	position:sticky;
	top:88px;
	z-index:80;
}
.admin-bar .jmjx-catalog-filter {top:120px}
.jmjx-filter-row {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:10px;
}
.jmjx-filter-row a {
	padding:10px 18px;
	border:1px solid #dce5f2;
	border-radius:999px;
	color:#173467;
	font-size:13px;
	font-weight:800;
	transition:.25s ease;
}
.jmjx-filter-row a:hover,.jmjx-filter-row a.active {
	color:#071a45;
	background:linear-gradient(135deg,#ffd64f,#f2b705);
	border-color:#f2b705;
	transform:translateY(-2px);
}
.jmjx-catalog-section {padding:88px 0}
.jmjx-product-grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:22px;
}
.jmjx-product-card {
	overflow:hidden;
	border:1px solid rgba(18,58,140,.11);
	border-radius:26px;
	background:#fff !important;
	box-shadow:0 10px 30px rgba(7,34,90,.055);
	transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
	text-align:left !important;
	align-items:stretch !important;
}
.jmjx-product-card:hover {
	transform:translateY(-8px);
	border-color:rgba(242,183,5,.38);
	box-shadow:0 25px 60px rgba(7,34,90,.13);
}
.jmjx-product-image {
	display:grid;
	place-items:center;
	aspect-ratio:16/10;
	overflow:hidden;
	background:linear-gradient(145deg,#f7faff,#edf4ff);
}
.jmjx-product-image img {width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.jmjx-product-card:hover .jmjx-product-image img {transform:scale(1.04)}
.jmjx-product-image > span {font-size:56px}
.jmjx-product-body {padding:24px}
.jmjx-product-type {
	display:inline-flex;
	padding:6px 9px;
	border-radius:999px;
	background:#eef4ff;
	color:#1457d6;
	font-size:10px;
	font-weight:900;
	letter-spacing:.08em;
	text-transform:uppercase;
}
.jmjx-product-body h3 {
	margin:14px 0 8px;
	font-size:22px;
	line-height:1.2;
	color:#081f58 !important;
}
.jmjx-product-body p {
	margin:0;
	min-height:64px;
	color:#687790;
	font-size:13px;
}
.jmjx-product-bottom {
	margin-top:20px;
	padding-top:16px;
	border-top:1px solid #edf1f7;
	display:flex;
	justify-content:space-between;
	gap:16px;
	align-items:center;
}
.jmjx-product-bottom strong {font-size:17px;color:#081f58}
.jmjx-product-bottom a {color:#1457d6;font-size:12px;font-weight:900}
.jmjx-empty-catalog {
	grid-column:1/-1;
	padding:55px 30px;
	text-align:center;
	border:1px dashed #cad7e9;
	border-radius:25px;
	background:#fbfdff;
}
.jmjx-empty-catalog span {font-size:48px}
.jmjx-empty-catalog h3 {margin:12px 0 4px;color:#081f58 !important}
.jmjx-empty-catalog p {margin:0;color:#71809a}
.jmjx-catalog-flow {
	padding:86px 0;
	color:#fff;
	background:linear-gradient(115deg,#061947,#0b347d 55%,#1557d6);
}
.jmjx-catalog-flow .jmjx-section-heading h2,
.jmjx-catalog-flow .jmjx-section-heading h2 em {color:#fff !important}
.jmjx-catalog-steps {
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:16px;
}
.jmjx-catalog-steps article {
	padding:26px 20px;
	text-align:center;
	border:1px solid rgba(255,255,255,.17);
	border-radius:22px;
	background:rgba(255,255,255,.08) !important;
}
.jmjx-catalog-steps article > span {
	display:grid;
	place-items:center;
	width:42px;height:42px;
	margin:0 auto 14px;
	border-radius:13px;
	background:linear-gradient(145deg,#fff,#fff0ba);
	color:#0a347d;
	font-size:11px;font-weight:900;
}
.jmjx-catalog-steps h3 {color:#fff !important;margin:0 0 6px}
.jmjx-catalog-steps p {margin:0;color:rgba(255,255,255,.78);font-size:13px}
@media(max-width:1050px){
	.jmjx-catalog-hero-grid{grid-template-columns:1fr}
	.jmjx-catalog-visual{min-height:330px;max-width:600px;margin:0 auto;width:100%}
	.jmjx-product-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
	.jmjx-catalog-hero{padding:60px 0}
	.jmjx-catalog-hero h1{font-size:42px}
	.jmjx-catalog-visual{display:none}
	.jmjx-catalog-filter{position:relative;top:auto!important}
	.jmjx-product-grid,.jmjx-catalog-steps{grid-template-columns:1fr}
	.jmjx-product-body p{min-height:0}
}


/* =========================================================
   JMJMath Experience Builder 1.5.0 — Managed student access
   ========================================================= */
.jmjx-access-label{font-size:10px!important;font-weight:900!important;color:#71809a!important}
.jmjx-no-access{font-size:11px!important;font-weight:800!important;color:#9aa5b6!important}
.jmjx-my-courses-hero{padding:82px 0 58px;background:radial-gradient(circle at 15% 20%,rgba(242,183,5,.12),transparent 24%),radial-gradient(circle at 82% 30%,rgba(37,99,235,.16),transparent 28%),linear-gradient(180deg,#fff,#f8fbff)}
.jmjx-my-courses-hero h1{font-size:clamp(48px,6vw,74px);line-height:1;margin:18px 0 12px;letter-spacing:-.05em;color:#081f58!important}
.jmjx-my-courses-hero p{font-size:17px;color:#60718d}
.jmjx-login-required{max-width:720px;margin:0 auto;text-align:center;padding:60px 30px;border:1px solid #dfe7f2;border-radius:28px;background:#fff;box-shadow:0 20px 55px rgba(7,34,90,.08)}
.jmjx-login-required>span{font-size:52px}.jmjx-login-required h2{margin:14px 0 8px}.jmjx-login-required p{color:#71809a;margin-bottom:24px}


/* 1.6.0 - synchronized course access */
.jmjx-sync-ok{color:#168b64!important}
.jmjx-sync-pending{color:#a16e00!important}


/* =========================================================
   JMJMath Experience Builder 1.7.0 — Student Portal
   ========================================================= */
.jmjx-student-login-gate{min-height:100vh;display:grid;place-items:center;padding:40px;background:radial-gradient(circle at 20% 20%,rgba(242,183,5,.12),transparent 24%),linear-gradient(145deg,#f8fbff,#eef5ff)}
.jmjx-gate-logo{max-width:110px;margin:0 auto 18px}
.jmjx-portal-layout{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr);background:#f5f8fc}
.jmjx-portal-sidebar{position:sticky;top:0;height:100vh;padding:28px 20px;display:flex;flex-direction:column;background:linear-gradient(180deg,#061947,#092b6d 62%,#0b347d);color:#fff}
.jmjx-portal-brand{display:flex;align-items:center;gap:11px;padding:0 8px 28px;border-bottom:1px solid rgba(255,255,255,.12);color:#fff!important}
.jmjx-portal-brand img{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:12px;padding:4px}
.jmjx-portal-brand strong,.jmjx-portal-brand small{display:block}.jmjx-portal-brand strong{font-size:18px;letter-spacing:.04em}.jmjx-portal-brand small{font-size:9px;opacity:.7;text-transform:uppercase;letter-spacing:.12em}
.jmjx-portal-sidebar nav{display:flex;flex-direction:column;gap:7px;margin-top:26px}
.jmjx-portal-sidebar nav a{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:13px;color:rgba(255,255,255,.75)!important;font-size:13px;font-weight:800}
.jmjx-portal-sidebar nav a:hover,.jmjx-portal-sidebar nav a.active{background:rgba(255,255,255,.11);color:#fff!important}
.jmjx-portal-sidebar nav span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:rgba(255,255,255,.1)}
.jmjx-portal-user{margin-top:auto;padding:18px 8px 12px;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;gap:10px}
.jmjx-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#ffd64f,#f2b705);color:#061947;font-weight:900}
.jmjx-portal-user strong,.jmjx-portal-user small{display:block}.jmjx-portal-user strong{font-size:12px}.jmjx-portal-user small{font-size:9px;opacity:.65;margin-top:2px}
.jmjx-portal-logout{padding:9px 8px;color:rgba(255,255,255,.55)!important;font-size:10px;font-weight:700}
.jmjx-portal-main{padding:52px clamp(28px,5vw,78px) 70px;max-width:1500px;width:100%}
.jmjx-portal-top{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}
.jmjx-portal-top h1{margin:8px 0 8px;font-size:clamp(38px,4vw,58px);letter-spacing:-.04em;color:#081f58!important}
.jmjx-portal-top p{margin:0;max-width:700px;color:#66758d}
.jmjx-portal-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:36px 0}
.jmjx-portal-stats article{display:flex;align-items:center;gap:16px;padding:22px;border:1px solid #e0e7f1;border-radius:20px;background:#fff!important;box-shadow:0 8px 25px rgba(7,34,90,.04)}
.jmjx-portal-stats article>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#eef4ff;font-size:21px}
.jmjx-portal-stats strong,.jmjx-portal-stats small{display:block}.jmjx-portal-stats strong{font-size:26px;color:#081f58}.jmjx-portal-stats small{font-size:10px;color:#77859a;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.jmjx-portal-section{padding:30px;border:1px solid #e0e7f1;border-radius:26px;background:#fff}
.jmjx-portal-section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.jmjx-portal-section-head span{font-size:9px;font-weight:900;letter-spacing:.13em;color:#2563eb}.jmjx-portal-section-head h2{margin:5px 0 0;color:#081f58!important}.jmjx-portal-section-head>a{font-size:11px;font-weight:900;color:#2563eb}
.jmjx-portal-course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.jmjx-portal-course-grid article{overflow:hidden;border:1px solid #e1e8f2;border-radius:19px;background:#fff!important;transition:.3s ease}.jmjx-portal-course-grid article:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(7,34,90,.1)}
.jmjx-portal-course-img{aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden;background:#eef4ff}.jmjx-portal-course-img img{width:100%;height:100%;object-fit:cover}.jmjx-portal-course-img>span{font-size:40px}
.jmjx-portal-course-body{padding:17px}.jmjx-portal-course-body>span{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.jmjx-portal-course-body>span.ready{background:#e9fbf3;color:#168b64}.jmjx-portal-course-body>span.pending{background:#fff5d9;color:#9a6a00}
.jmjx-portal-course-body h3{margin:10px 0;font-size:17px;line-height:1.25;color:#081f58!important}.jmjx-portal-course-body a{font-size:10px;font-weight:900;color:#2563eb}.jmjx-portal-course-body small{color:#8b97a9;font-size:9px}
.jmjx-portal-empty{text-align:center;padding:44px 20px;background:#f8fbff;border-radius:18px}.jmjx-portal-empty>span{font-size:40px}.jmjx-portal-empty h3{margin:10px 0 5px;color:#081f58!important}.jmjx-portal-empty p{margin:0;color:#77859a}
.jmjx-portal-help{margin-top:18px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:20px;background:linear-gradient(110deg,#061947,#0b347d);color:#fff}.jmjx-portal-help>div{display:flex;align-items:center;gap:13px}.jmjx-portal-help>div>span{font-size:28px}.jmjx-portal-help strong{font-size:13px}.jmjx-portal-help p{margin:3px 0 0;font-size:10px;color:rgba(255,255,255,.7)}.jmjx-portal-help>a{color:#ffd64f!important;font-size:10px;font-weight:900;white-space:nowrap}
@media(max-width:1000px){.jmjx-portal-layout{grid-template-columns:1fr}.jmjx-portal-sidebar{position:relative;height:auto;padding:18px}.jmjx-portal-sidebar nav{flex-direction:row;overflow:auto;margin-top:15px}.jmjx-portal-user,.jmjx-portal-logout{display:none}.jmjx-portal-course-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.jmjx-portal-main{padding:30px 16px 50px}.jmjx-portal-top{flex-direction:column}.jmjx-portal-stats,.jmjx-portal-course-grid{grid-template-columns:1fr}.jmjx-portal-section{padding:18px}.jmjx-portal-help{align-items:flex-start;flex-direction:column}}


/* =========================================================
   JMJMath Experience Builder 1.8.0 — Premium resource library
   ========================================================= */

/* Materials section */
#materiales.jmjx-catalog-section {
	background:
		linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
	padding-top:96px;
	padding-bottom:105px;
}
#materiales .jmjx-section-heading {
	max-width:820px;
	margin-bottom:52px;
}
#materiales .jmjx-section-heading .jmjx-eyebrow {
	color:#c28d00 !important;
}
#materiales .jmjx-section-heading h2 {
	font-size:clamp(38px,4vw,58px);
}
#materiales .jmjx-section-heading p {
	font-size:16px;
	line-height:1.7;
}

/* Premium product grid */
#materiales .jmjx-product-grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:28px;
	align-items:stretch;
}

#materiales .jmjx-product-card {
	position:relative;
	overflow:hidden;
	border:1px solid rgba(10,52,125,.10);
	border-radius:30px;
	background:#fff !important;
	box-shadow:
		0 10px 28px rgba(7,34,90,.05),
		0 28px 70px rgba(7,34,90,.04);
	transition:
		transform .35s cubic-bezier(.2,.8,.2,1),
		box-shadow .35s ease,
		border-color .35s ease;
}

#materiales .jmjx-product-card:before {
	content:"";
	position:absolute;
	left:0;right:0;top:0;
	height:4px;
	background:linear-gradient(90deg,#f2b705,#ffd95c,#1557d6);
	opacity:0;
	transition:.3s ease;
	z-index:3;
}

#materiales .jmjx-product-card:hover {
	transform:translateY(-10px);
	border-color:rgba(242,183,5,.28);
	box-shadow:
		0 20px 45px rgba(7,34,90,.10),
		0 38px 90px rgba(7,34,90,.09);
}

#materiales .jmjx-product-card:hover:before {
	opacity:1;
}

#materiales .jmjx-product-image {
	position:relative;
	aspect-ratio:4/3;
	background:
		linear-gradient(145deg,#edf4ff,#f9fbff);
	overflow:hidden;
}

#materiales .jmjx-product-image:after {
	content:"";
	position:absolute;
	inset:auto 0 0 0;
	height:35%;
	background:linear-gradient(180deg,transparent,rgba(3,19,54,.10));
	pointer-events:none;
}

#materiales .jmjx-product-image img {
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .5s cubic-bezier(.2,.8,.2,1);
}

#materiales .jmjx-product-card:hover .jmjx-product-image img {
	transform:scale(1.035);
}

#materiales .jmjx-product-body {
	padding:24px 26px 26px;
	display:flex;
	flex-direction:column;
	min-height:250px;
}

#materiales .jmjx-product-type {
	align-self:flex-start;
	padding:7px 10px;
	border-radius:999px;
	background:linear-gradient(135deg,#fff6d5,#fffaf0);
	border:1px solid rgba(242,183,5,.28);
	color:#9a6b00;
	font-size:9px;
	font-weight:900;
	letter-spacing:.10em;
	text-transform:uppercase;
}

#materiales .jmjx-product-body h3 {
	margin:16px 0 8px;
	font-size:24px;
	line-height:1.18;
	letter-spacing:-.02em;
	color:#071e55 !important;
}

.jmjx-resource-meta {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-bottom:13px;
}

.jmjx-resource-meta span {
	display:inline-flex;
	padding:5px 8px;
	border-radius:8px;
	background:#f2f6fc;
	color:#6d7b91;
	font-size:9px;
	font-weight:800;
}

#materiales .jmjx-product-body p {
	margin:0;
	min-height:66px;
	font-size:13px;
	line-height:1.55;
	color:#687790;
}

#materiales .jmjx-product-bottom {
	margin-top:auto;
	padding-top:20px;
	border-top:1px solid #edf1f7;
}

#materiales .jmjx-product-bottom strong {
	font-size:19px;
	color:#071e55;
}

#materiales .jmjx-product-bottom a {
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:9px 13px;
	border-radius:999px;
	background:#eef4ff;
	color:#1557d6;
	font-size:10px;
	font-weight:900;
	transition:.25s ease;
}

#materiales .jmjx-product-bottom a:hover {
	background:linear-gradient(135deg,#ffd64f,#f2b705);
	color:#061947;
	transform:translateX(2px);
}

/* Remove generic storefront feel with section top accent */
#materiales .jmjx-shell {
	position:relative;
}
#materiales .jmjx-shell:before {
	content:"";
	position:absolute;
	top:-28px;
	left:50%;
	transform:translateX(-50%);
	width:74px;
	height:4px;
	border-radius:999px;
	background:linear-gradient(90deg,#1557d6,#f2b705);
}

/* Responsive */
@media (max-width:1050px) {
	#materiales .jmjx-product-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:700px) {
	#materiales .jmjx-product-grid { grid-template-columns:1fr; }
	#materiales .jmjx-product-body { min-height:auto; }
}
